feat(cli): add --format flag for pretty, llm, and jsonl output

This commit is contained in:
2026-04-16 17:21:48 -04:00
parent 7cc6b74048
commit 0a9484257a
2 changed files with 152 additions and 2 deletions

View File

@@ -24,7 +24,11 @@ channels, members, etc.
## Key Files
- **`slack_cli/__main__.py`** — Canonical CLI source. Entry point is `main()`, exposed as the `slack-cli` console script.
- **`slack_cli/__main__.py`** — Canonical CLI source. Entry point is `main()`, exposed as the `slack-cli` console script. Supports three output formats via `-f/--format`:
- `pretty` (default) — ANSI/tree layout with URLs, for humans.
- `llm` — token-efficient text (no ANSI/URLs, grouped by channel+date, threads indented).
- `jsonl` — one JSON object per message; includes raw `ts`, `channel_id`, `user_id`.
Renderers are `render_pretty` / `render_llm` / `render_jsonl`; `cmd_messages` builds the display list once and dispatches.
- **`pyproject.toml`** — Python packaging metadata. Declares `slack-cli` console script entry point and `dfindexeddb` dependency.
- **`docs/indexeddb-format.md`** — Documents the on-disk format: LevelDB layer, IndexedDB databases, Blink value encoding, and the full Redux state schema with field-level detail.
- **`scripts/analyze_structure.py`** — Introspects the live IndexedDB and dumps database/object-store/record-type info plus Redux state key schemas. Re-run this when the data format changes and update the docs accordingly.