From 3e5869af67fa92e1f9253c78d2496fe221c78bec Mon Sep 17 00:00:00 2001 From: Ciphercat <78522797+0xrsydn@users.noreply.github.com> Date: Thu, 5 Mar 2026 22:47:10 +0000 Subject: [PATCH] docs: add TODO.md with project checklist and roadmap --- TODO.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..4e1dcf9 --- /dev/null +++ b/TODO.md @@ -0,0 +1,48 @@ +# idx-cli TODO + +## ✅ Completed (v0.1.0) +- [x] Provider abstraction (MarketDataProvider trait, Yahoo impl) +- [x] `stocks quote ` — real-time quotes, multi-symbol +- [x] `stocks history ` — historical OHLC data +- [x] File cache with TTL + offline mode + stale-cache fallback +- [x] Config system (TOML file, env vars, CLI flags, precedence) +- [x] Output modes: table (human) + JSON (agent) +- [x] 52-week range bar in quote table +- [x] `cache info` / `cache clear` +- [x] `config init` / `get` / `set` / `path` +- [x] Pre-commit hooks (fmt, clippy, test) +- [x] GitHub Actions CI +- [x] Nix flake + devshell +- [x] MIT license +- [x] crates.io metadata + +## ✅ Completed (v0.1.1) +- [x] Technical analysis module (SMA, EMA, RSI, MACD, volume ratio) +- [x] Signal interpretation (bullish/bearish/neutral consensus) +- [x] `stocks technical ` — full technical analysis command +- [x] Colored signal output (green/red/yellow) +- [x] 1-year lookback for SMA200 coverage + +## 🚧 Next Up +- [ ] `stocks fundamental ` — composite growth + valuation + risk +- [ ] `stocks growth ` — revenue/earnings growth YoY +- [ ] `stocks valuation ` — PE, PB, ROE, margins, EV/EBITDA +- [ ] `stocks risk ` — D/E ratio, current ratio, ROA +- [ ] `stocks compare ` — side-by-side multi-symbol comparison +- [ ] `analysis/fundamental.rs` — fundamental analysis module + +## 📋 Backlog (per SPEC.md) +- [ ] `market summary` — IHSG index, market breadth +- [ ] `market movers` — top gainers/losers/volume +- [ ] `market sectors` — sector performance overview +- [ ] `screen query ""` — filter stocks by expression +- [ ] `screen presets` / `screen run ` — built-in screener presets +- [ ] `watchlist` commands — create, manage, live watch +- [ ] `alerts` system (v0.2+) — price alerts with daemon +- [ ] `completions ` — 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