idx-cli/TODO.md

2.6 KiB

idx-cli TODO

Completed (v0.1.0)

  • Provider abstraction (MarketDataProvider trait, Yahoo impl)
  • stocks quote <SYMBOL...> — real-time quotes, multi-symbol
  • stocks history <SYMBOL> — historical OHLC data
  • File cache with TTL + offline mode + stale-cache fallback
  • Config system (TOML file, env vars, CLI flags, precedence)
  • Output modes: table (human) + JSON (agent)
  • 52-week range bar in quote table
  • cache info / cache clear
  • config init / get / set / path
  • Pre-commit hooks (fmt, clippy, test)
  • GitHub Actions CI
  • Nix flake + devshell
  • MIT license
  • crates.io metadata

Completed (v0.1.1)

  • Technical analysis module (SMA, EMA, RSI, MACD, volume ratio)
  • Signal interpretation (bullish/bearish/neutral consensus)
  • stocks technical <SYMBOL> — full technical analysis command
  • Colored signal output (green/red/yellow)
  • 1-year lookback for SMA200 coverage

Completed (v0.1.1 — fundamental suite)

  • stocks growth <SYMBOL> — revenue/earnings growth with signals
  • stocks valuation <SYMBOL> — PE, PB, ROE, margins, EV/EBITDA with signals
  • stocks risk <SYMBOL> — D/E, current ratio, ROA with signals
  • stocks fundamental <SYMBOL> — composite growth + valuation + risk
  • stocks compare <SYM1,SYM2,...> — side-by-side multi-symbol comparison
  • analysis/fundamental.rs — fundamental analysis module (ported from idx-mcp)
  • Yahoo quoteSummary endpoint parser (/v10/finance/quoteSummary)
  • 41 tests passing (22 unit + 19 integration)

🚧 Next Up

  • Fix Yahoo crumb auth for quoteSummary (fetch crumb from consent.yahoo.com, pass as cookie/param) — unblocks live fundamental commands

📋 Backlog (per SPEC.md)

  • market summary — IHSG index, market breadth
  • market movers — top gainers/losers/volume
  • market sectors — sector performance overview
  • screen query "<EXPR>" — filter stocks by expression
  • screen presets / screen run <PRESET> — built-in screener presets
  • watchlist commands — create, manage, live watch
  • alerts system (v0.2+) — price alerts with daemon
  • completions <SHELL> — shell completion generation
  • CSV/TSV output formats
  • Additional providers (Alpha Vantage, Twelve Data, IDX official)

🐛 Known Issues

  • Yahoo Finance returns 429 from datacenter IPs occasionally
  • SMA200 trend shows "Insufficient data" if Yahoo returns < 200 candles
  • Yahoo quoteSummary returns 401 from datacenter IPs — needs crumb/cookie auth (fundamental/growth/valuation/risk/compare commands affected)