π₯οΈ TUI & chat¶
Two terminal faces. One harness. Zero mystery meat. π₯©β‘οΈπ₯
| Face | Best for |
|---|---|
Premium TUI (slmcode / slmcode tui) | Day-to-day β board, live events, agents, stats πΉοΈ |
Chat REPL (slmcode chat) | Quick prompts + slash commands π¬ |
Premium TUI ⨶
What you see π¶
- Connection / provider health
- Live kanban (columns move as waves complete β ASMR optional)
- Agent stream:
@worker, scope files, truncated outputs - Errors without the doom-scroll
- Diffs and query history
Slash commands πͺ¶
| Command | Effect |
|---|---|
/compact [heuristic\|llm\|auto] | Shrink noisy context π§Ή |
/models | Catalog / search enabled models π |
/mcp | MCP server status π |
/auth | Show / set provider keys (.slmcode/auth.json) π |
/schema | Dump config JSON schema π |
/sessions | Browse saved runs πΌ |
/stats | Phase latency + token estimates π |
/permission | Write / shell policy π‘οΈ |
/plan [auto\|ask] | Plan-approve gate before execute π |
/escalate β¦ | Answer escalate HITL: re_scope | retry | mark_done | abort βοΈ |
/agents | List / create / edit / delete agents π§© |
/stop | Checkpoint mid-run π |
/resume | Continue from checkpoint βΆοΈ |
/help | Remind your future self π |
β Escalate banner
When a task hits max review retries, the TUI shows an ESCALATE banner and the pipeline pauses that task. Answer with /escalate retry (etc.), or wait for the timeout β then @escalate (SLM) decides. Same modal exists in Studio, and slmcode run draws the same card inline and takes a single keystroke.
Before you answer, slmcode task show <id> in another terminal prints the scope, the reviewer's verdict and issues, the gate that refused the task, and the diff of its focus files. mark_done ([d]one) overrides the gate that refused the work: the task is recorded as a human override, slmcode board marks it β forced done, and the run summary counts it separately from a verified pass.
πͺ Keyboard muscle memory
Ctrl+C mid-run checkpoints board + ReAct history under .slmcode/queries/<id>/react/. Prefer /resume over βstart over and prayβ.
Agent CRUD from the TUI π§©¶
/agent new
/agent new id=night-auditor title=Night provider=ollama model=qwen2.5-coder:14b
/agent edit worker model=qwen2.5-coder:14b
/agent show night-auditor
/agent delete night-auditor
Chat REPL π¬¶
slm βΊ /help
slm βΊ /permission review
slm βΊ Add validation to the login handler
slm βΊ /board
slm βΊ /diff
slm βΊ /quit
| Command | Effect |
|---|---|
/run <q> | Explicit full pipeline |
/board /status /diff /skills /doctor | Inspect |
/permission auto\|dry-run\|review | Write policy |
/model <id> | Switch model (rebuild as needed) |
/quit | Exit (politely) |
Plain lines (no /) also run the full pipeline. Yes, even typos. Choose carefully. π
Classic one-shot CLI π οΈ¶
Still the power tool:
See β¨οΈ CLI reference for every subcommand.
When to use which π―¶
| Situation | Reach for |
|---|---|
| Exploring a new repo | TUI + Studio side-by-side π₯ |
| Scripted / CI-ish | slmcode run + flags |
| βJust fix thisβ | chat or run -v |
| Teaching / demos | permission dry-run + TUI π |
πΏ
Pro move: run slmcode studio in one pane and slmcode watch in another. Feel like mission control. Resist the urge to narrate aloud. Or donβt β we canβt hear you.
βοΈ Made with β₯ by UnicoLab