What
When generating release notes over a large commit range, the user stares at a spinner for several seconds before anything appears. Streaming the model output would make the CLI feel dramatically faster.
Why
Local models (the privacy-first default) are slow token-by-token but fine streamed. Long release notes (100+ commits) currently wait for the full completion before printing.
Proposal
- Add a
stream: true path in src/lib/ai.ts that yields chunks via an async generator.
src/commands/release.ts should print tokens as they arrive (unless --out is set, in which case buffer and write at the end).
- Gate behind a
--stream flag initially so we can ship safely.
Non-goals
- Don't change the non-streaming path — it's the reliable fallback.
Stretch
- Show a subtle token/s rate in
--verbose.
Happy to pair on the implementation. 💬
What
When generating release notes over a large commit range, the user stares at a spinner for several seconds before anything appears. Streaming the model output would make the CLI feel dramatically faster.
Why
Local models (the privacy-first default) are slow token-by-token but fine streamed. Long release notes (100+ commits) currently wait for the full completion before printing.
Proposal
stream: truepath insrc/lib/ai.tsthat yields chunks via an async generator.src/commands/release.tsshould print tokens as they arrive (unless--outis set, in which case buffer and write at the end).--streamflag initially so we can ship safely.Non-goals
Stretch
--verbose.Happy to pair on the implementation. 💬