OpenRouter CLI chat
A terminal chat app for typescript-cli on OpenRouter: an OpenTUI chat screen and scriptable commands with NDJSON events, tools also served by a stdio MCP server, chats saved as JSON with Markdown export, and stubbed replay and eval checks.
Category: app
In your existing repository
Ask your agent to check compatibility, follow this fragment’s brief, and verify the resulting project. What happens next
- Applies to:
- typescript-cli
- Requires fragments:
- openrouter-ai, claude-harness
Add to your project
Paste the prompt into the coding agent working on your project.
View prompt
Or use the terminal
npx @steamfield/stacks add openrouter-chat-cli| Step | Phase | Layer | Command |
|---|---|---|---|
| app-tui-entry | check | check | test -f src/tui/launch.tsx |
| app-tui-test | check | test | bun run test:tui |
| app-tui-smoke | check | test | bun run tui:capture -- --smoke |
| app-eval-dry-run | check | test | bun scripts/check-eval-dry-run.ts |
| app-e2e | check | test | bun run app:e2e |
| app-acceptance | check | test | bun run test:unit tests/app-acceptance.test.ts |
Use with a new stack
Starting fresh instead? These stacks support this fragment.
- typescript-clioptional
npx @steamfield/stacks new typescript-cli --with openrouter-chat-cli
Files
- DESIGN.md.tmpl
- biome-plugins/chat-boundaries.grit
- docs/acceptance/openrouter-chat-cli.md
- docs/ask-turn.md.tmpl
- docs/guidance/openrouter-chat-cli/effect-ai.md.tmpl
- docs/guidance/openrouter-chat-cli/index.md
- docs/guidance/openrouter-chat-cli/openrouter.md.tmpl
- docs/guidance/openrouter-chat-cli/testing.md.tmpl
- docs/guidance/openrouter-chat-cli/tui.md.tmpl
- docs/guidance/openrouter-chat-cli/verification.md.tmpl
- scripts/lib/stub-pid.ts.tmpl
- scripts/stub.ts.tmpl
Usage
Among stacks projects in the 28 days through 30 Oct 2026: 1,605 projects; Green rate: not enough runs yet.
Weekly projects by stack
Projects whose final fragment set included this fragment, grouped by stack.
- typescript-cli
- typescript-cli
Stacks projects per UTC week through 30 Oct 2026. Published stack counts only.
Data table
| Week ending | Stack | Projects |
|---|---|---|
| 5 Jul 2026 | typescript-cli | 75 |
| 12 Jul 2026 | typescript-cli | 120 |
| 19 Jul 2026 | typescript-cli | 170 |
| 26 Jul 2026 | typescript-cli | 215 |
| 2 Aug 2026 | typescript-cli | 270 |
| 9 Aug 2026 | typescript-cli | 265 |
| 16 Aug 2026 | typescript-cli | 305 |
| 23 Aug 2026 | typescript-cli | 270 |
| 30 Aug 2026 | typescript-cli | 325 |
| 6 Sept 2026 | typescript-cli | 360 |
| 13 Sept 2026 | typescript-cli | 355 |
| 20 Sept 2026 | typescript-cli | 375 |
| 27 Sept 2026 | typescript-cli | 375 |
| 4 Oct 2026 | typescript-cli | 430 |
| 11 Oct 2026 | typescript-cli | 415 |
| 18 Oct 2026 | typescript-cli | 435 |
| 25 Oct 2026 | typescript-cli | 480 |
By stack
How often this fragment stays in a default composition, or gets attached as an option.
Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.
Data table
| Stack | Projects | Role | Share |
|---|---|---|---|
| typescript-cli | 1,605 | Optional · attached | 17% |
Green rate with and without it
This compares projects; it isn't an effect of the fragment.
Not enough runs in this breakdown yet.
Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.
Often used with
Co-occurrence above the baseline, within a stack. Required fragment pairs are excluded.
Not enough runs in this breakdown yet.
Stacks projects · 28 days through 30 Oct 2026. Counts rounded to 5.
Computed 31 Oct 2026, through 30 Oct 2026. Numbers describe stacks projects, not the ecosystem.