idx-cli/ROADMAP.md
0xrsydn 43ff4aa433 feat: corporate actions from the Stockbit session (stocks actions, stocks calendar)
`idx stocks actions SYM [--kind ...]`: one stock's cash and stock
dividends, bonus shares, rights, warrants, splits and reverse splits,
meetings, public exposes and tender offers (`--kind ipo` adds its IPO),
newest first. `idx stocks calendar [--from] [--to] [--kind ...]`: the
market's actions dated in the range (default today and 30 days ahead),
oldest first. MCP: get_corporate_actions, get_corporate_calendar.

Stockbit's `/corpaction/{type}` serves one kind per request; each type has
its own field prefix and list key, so entitlements are read by field
suffix. An action's `date` is the cum date for entitlements, else the
event's first day. Dividends keep their decimals. One request per kind,
cached 6 hours. AUTHERROR without a session.

Fixtures are the 2026-11-03 recordings (market-wide ones trimmed to
October-December). Goldens added; help-stocks and completions-bash gain
the two subcommands, MCP tools.json the two tools (regenerated with
UPDATE_GOLDEN=1). The MCP docs counted 17 tools without stockbit_login;
now 20.

Claude-Session: https://claude.ai/code/session_01RqPPVeVDrnLoP7NUZmLRxY
2026-11-03 14:35:20 +07:00

4.2 KiB

Roadmap

Open work only. Shipped behavior is described in README.md and docs/; history lives in git.

Stocks

  • market summary: market breadth and an index overview (index levels alone are already stocks intraday ^JKSE and --provider stockbit stocks quote IHSG)
  • market movers: top gainers, losers, and volume
  • market sectors: sector performance overview
  • screen query "<EXPR>": filter stocks by expression
  • screen presets / screen run <PRESET>: built-in screener presets (graduate screen out of stocks only if these grow into a richer workflow)
  • Multi-period financial statements (today financials is single-period)
  • Order book depth without a login: no free source exists (IDX sells delayed depth to vendors); stocks orderbook needs the user's Stockbit login.
  • Shareholder movements (ownership movements) from the Stockbit session; design and endpoints in docs/STOCKBIT.md. Corporate-action follow-ups: ex-dates of splits, bonuses and rights noted in stocks history, and the stock_dividend / reversesplit row shapes once Stockbit lists one.
  • Stockbit login follow-ups: hourly OHLCV from the session's 1w chart (the 1d chart is per-minute closes only); confirming session 1 is STATE_NAME_SESSION_1 (session 2, BREAK and MARKET_CLOSED were recorded on 2026-11-03), and when has_foreign_bs turns on with the day's foreign figures; an opt-in daily refresh so a session outlives the refresh token's week, once it is known whether Stockbit caps a session's total life; and the sign-in response (/login/v6/*, read over DevTools' Fetch) as a second signal beside the credentialStorage cookie, should Stockbit rename or move it.
  • Google sign-in in idx's browser window: Google refused it on 2026-10-31, most likely over --remote-debugging-port. First confirm by trying Google in a plain window on a throwaway profile; if that works, sign in with no debugging flag and reopen the profile with it, on a blank page, to read the cookie.
  • Observe Stockbit's market_hour.status in the pre-open (08:45-09:00) and the closing auction (15:50-16:00) before --watch or alerts build on it; open, break and close are known, and the bid/offer gate hides the book for anything but open.
  • Bandarmology follow-ups: a daily series (per-session readings and the cumulative top-N net) and a price-move phase (quiet accumulation, markup), calibration of the top_concentration_v1 thresholds across more sessions, and a market-wide foreign flow screen from one IDX trading summary
  • News beyond MSN in news / get_company (docs/IDX_NEWS.md): Google News RSS per ticker, and IDX disclosures and exchange news through a maintainer-published feed

Workflow

  • watchlist: named symbol sets usable by other commands
  • alerts: price alerts with a daemon
  • CSV/TSV output
  • Additional providers (Alpha Vantage, Twelve Data); IDX's own site serves only stocks flow --source idx today

Agent integration

  • JSON Schema export for command output
  • Composite analyze command (quote, fundamentals, ownership, sentiment)

Known limits

  • stocks broker and stocks bandar show only IPOT's top 10 buyers and sellers, ranked by gross lots, with figures of a million and more rounded to one decimal.
  • stocks flow --source idx depends on IDX's Cloudflare passing a curl-impersonate profile (only curl_safari184 in October 2026) and on the network; the default IPOT source rounds to one decimal.
  • Stockbit's terms call its data delayed at least 10 minutes and for personal, non-commercial use (on 2026-10-23 the last trade was within a minute of the clock); its CDN refuses some user agents with a 403 (UPSTREAMBLOCKED). The public page's best bid/offer sizes are not shown yet; they are shares (equal to the session API's book on 2026-10-23).
  • Yahoo can return 429 from datacenter IPs; requests retry with backoff but can still fail.
  • stocks technical reports the SMA200 trend as unavailable when fewer than 200 daily candles are returned.
  • MSN's low-pe screen returns no priced stocks (PARSEERROR; still so on 2026-10-23, upstream; other filters work).
  • MSN history for IDX is price-only (1mo, 3mo, 1y); Yahoo stays the default OHLCV source.