Where do I…?
When to read this: You know the task but not which file or doc to open. This page is the index of the how-to guides; each guide follows the same shape (goal, prerequisites, steps, verify, checklist, common mistakes).
flowchart TD
Start[What do you need?] --> UI{Change UI?}
UI -->|Desktop view| V["chatty-gpui/src/chatty/views/ · add-gpui-view.md"]
UI -->|Settings page| S["chatty-gpui/src/settings/views/"]
UI -->|Terminal UI| T["chatty-tui/src/ui/"]
UI -->|Slash command| SC["add-slash-command.md"]
UI -->|No| LLM{Change LLM behavior?}
LLM -->|New tool| Tool["chatty-core/src/tools/ · first-change.md"]
LLM -->|New provider| Prov["ProviderType + agent_factory/ · add-provider.md"]
LLM -->|Stream bug| SM["stream-manager.md · debug.md"]
LLM -->|WASM plugin| WASM["build-wasm-module.md + tutorials"]
LLM -->|No| Data{Change data/settings?}
Data -->|New setting| Set["settings/models + repositories + GPUI settings"]
Data -->|Persistence| Repo["repositories/ or settings/repositories/"]
Data -->|No| Infra{CI / docs / release?}
Infra --> WF[".github/workflows/ · ci-reference.md"]
Infra --> Doc["docs/ + docs-site/ · contribute-docs.md"]
Infra --> Rel["RELEASE_PROCESS.md"]
How-to guides
| Guide | Use it when |
|---|---|
| Add an LLM provider | A new ProviderType, or deciding whether an OpenAI-compatible endpoint even needs one |
| Add a slash command | A new /command in the desktop and terminal pickers |
| Add a desktop GPUI view | A panel, dialog or widget in chatty-gpui |
| Build a WASM plugin | A sandboxed agent module served by the protocol gateway |
| Test | Which tests to run, goldens, mocks, the WASM prebuild |
| Debug | Logs, the render overlay, stalled streams, tool failures, cache hits |
| Build & package | Local CI and platform packages |
| Release process | Cutting a version |
| Contribute to the docs | Editing this site |
| For AI agents | The workspace map coding agents read first |
Tutorials (learn by building) live under Start here: your first change, write a plugin (echo), give an agent the plugin (benford).
Cheat sheet
| I want to… | Open |
|---|---|
| Read the user manual | Getting started and the other user pages |
| Build the workspace for the first time | Build and run |
| Understand the big picture | System overview |
| See component diagrams | Component map |
| Find a workspace crate | Reference: crates |
| Build a WASM plugin | Build a WASM plugin · echo tutorial · benford tutorial |
| Add an LLM tool | Your first change: add a tool |
| Add a provider | Add an LLM provider |
| Add a slash command | Add a slash command |
| Add a GPUI view | Add a desktop GPUI view |
| Look up a persisted setting | Settings schema |
| Fix stream/cancel bugs | Stream lifecycle · Debug |
| Fix rendering/layout | Debug · Rendering pipeline |
| Look up a tool name | Tools catalog |
| Change delegation, the broker, virtual agents or teams | Agents and specs · Team smoke test · Sub-agents · tutorials: named worker, team |
| Run tests like CI | Test · Make targets & CI workflows |
| Look up a term | Glossary |
| Research / reserved code | RESERVED.md |
| Report or fix a stale page | Contribute to the docs · CONTRIBUTING.md |