Daily-driving SLMCode without turning your repo into modern art. 🎨 (Unless modern art was the goal. In that case… carry on.)
Recommended path: Install → Quick start → Concepts → you are here. Welcome to adulthood.
cd your-project
slmcode init
# optional: AGENTS.md at repo root (be stern, be kind)
# edit .slmcode/PROJECT.md
slmcode # premium TUI
slmcode run -v "Add validation to the login handler"
slmcode board
slmcode studio| Habit | Command | Vibe |
|---|---|---|
| 🔎 Explore only | run --agent explorer "…" |
Maps, not edits |
| 🎯 Pin craft | run --skill atomic-coding "…" |
Tiny diffs or bust |
| 👀 Watch board | watch |
ASMR for kanban |
| 🛡️ Safe writes | config set permission review → apply |
Trust, but verify |
More copy-paste → 🧪 Recipes.
flowchart TD
Q[Query 🎯] --> I[Instructions + skills]
I --> C[Context]
C --> E{Explore?}
E -->|reuse ♻️| P[Plan / split]
E -->|deep 🕵️| X[Explorer] --> P
P --> Coord[Coordinator 🧭]
Coord --> W[Workers 🛠️]
W --> R[Review ↔ correct 🔍]
R --> L[Learn / test / skills 🦋]
Force a fresh dig: SLMCODE_FORCE_EXPLORE=1 slmcode run -v "…".
Deep dive → 🧠 Concepts.
| Surface | Doc | Mood |
|---|---|---|
| Premium TUI + chat | 🖥️ TUI & chat | Keyboard wizard |
| Studio GUI + API | 🎨 Studio | Click enjoyer |
| Full CLI | ⌨️ CLI reference | Script goblin |
Skills teach house style; specialists execute roles.
slmcode skills
slmcode run --skill multipass-quality "…"
slmcode run "Fix login @skill:atomic-coding"Markdown. On disk. Boring on purpose. Future-you can grep it. Past-you cannot gaslight it.
| File | Role |
|---|---|
.slmcode/PROJECT.md |
Durable facts |
.slmcode/CONTEXT.md |
Working focus + discoveries |
.slmcode/MEMORY.md |
Lessons / pitfalls |
.slmcode/SKILLS.md |
Index + recent lessons |
.slmcode/skills/learned/ |
Auto-grown conventions |
.slmcode/sessions/ |
Resumable runs |
.slmcode/pending/ |
Staged review writes |
AGENTS.md / CLAUDE.md / .cursorrules |
Auto-injected instructions |
slmcode context append "Prefer table-driven tests"
slmcode docs show MEMORY.md| Mode | Behavior |
|---|---|
auto |
Write now ✍️ |
dry-run |
Simulate 🎭 |
review |
Stage → slmcode apply (interactive) / slmcode reject 👀 |
slmcode config set permission review
slmcode run "refactor foo"
slmcode apply && slmcode diff # `apply` is interactive; use --all in scriptsShell: shell_permission: allow | ask | deny — independent of file writes.
→ ⚙️ Config
slmcode config set think_passes 2
slmcode config set retries 2
slmcode config set parallel 2
# The pack budget comes from the model's real window, not from bytes.
# model_profiles is a structured field — edit .slmcode/config.yaml:
# model_profiles:
# qwen2.5-coder:
# context_limit: 32768
slmcode config get model_profiles| Symptom | Try |
|---|---|
| 🥴 Wanders | Lower context, pin atomic-coding, stern AGENTS.md |
| 🥴 Weak JSON | More think passes / retries; better tool-calling model |
| 🐢 Too slow | Lower parallel; explore reuse; faster provider |
→ ❓ FAQ
slmcode session list
slmcode session resume run-…
# TUI: /stop then /resumeCtrl+C mid-run is a feature, not a crime — it checkpoints.
make lint && make test && make docs-build
RUN_E2E=1 make e2e
Hydration tip: if a run feels cursed, check doctor, then permissions,
then whether you asked for a rewrite of the universe. Usually it’s #3.
☀️ Made with ♥ by UnicoLab