Skip to content

Commit 539d428

Browse files
committed
docs: more content
1 parent 50cc53b commit 539d428

File tree

7 files changed

+115
-21
lines changed

7 files changed

+115
-21
lines changed

README.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,32 @@
1313

1414
A cross-platform desktop application for parallel agentic development.
1515

16-
## Features
16+
<details>
17+
<summary>Why parallelize?</summary>
18+
19+
Here are some specific use cases we enable:
1720

18-
The overall experience should be familiar to Claude Code power users, we strive for parity with the best parts of Claude Code:
21+
- **Contextual continuity between relevant changes**:
22+
- e.g. create a workspace for `code-review`, `refactor`, and `new-feature`
23+
- **GPT-5-Pro**: use the slow but powerful GPT-5-Pro for complex issues
24+
- Run in the background for hours on end
25+
- The stream will automatically resume after restarts or intermittent connection issues. If the model completes early we will show an indicator.
26+
- **A/B testing**: run multiple workspaces in parallel on the same problem but different approaches,
27+
abandon the bad ones.
28+
- **Tangent exploration**: launch tangents in `cmux` away from main work
1929

20-
- Plan/Exec modes
21-
- `/compact` based manual compaction
22-
- vim mode in input box
30+
</details>
31+
32+
## Features
2333

24-
But, the agentic loop is custom. Our goal is to create an experience that is as immersive and rich as an IDE. In fact, we think
25-
of cmux as the IDE of the future. We go beyond Claude Code with:
34+
- Isolated workspaces with central view on git status updates
35+
- Multi-model (`sonnet-4-*`, `gpt-5-*`, `opus-4-*`)
36+
- Supporting UI and keybinds for efficiently managing a suite of agents
37+
- Rich markdown outputs (mermaid diagrams, LaTeX, etc.)
2638

27-
- Live git status updates for each workspace
28-
- Workspace isolation
29-
- Worktrees today, Docker containers / remote compute tomorrow
30-
- [More compaction control](https://cmux.io/context-management.html)
31-
- Automatic resumption after app restart
32-
- Rich markdown rendering of plans and assistant messages
33-
- Mermaid diagrams
34-
- LaTeX
35-
- Toggles!
39+
`cmux` has a custom agent loop, but, we are heavily inspired by Claude Code in our
40+
UX. You'll find familiar features like Plan/Exec mode, VIM inputs, `/compact` and new ones
41+
like [opportunistic compaction](https://cmux.io/context-management.html) and [mode prompts](https://cmux.io/instruction-files.html#mode-prompts).
3642

3743
📚 **[Read the full documentation →](https://cmux.io)**
3844

docs/SUMMARY.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22

33
- [Introduction](./intro.md)
44
- [Install](./install.md)
5+
- [Why Parallelize?](./why-parallelize.md)
6+
- [Models](./models.md)
57
- [Keyboard Shortcuts](./keybinds.md)
6-
- [Vim Mode](./vim-mode.md)
8+
- [Vim Mode](./vim-mode.md)
79
- [Context Management](./context-management.md)
10+
- [System Prompt](./system-prompt.md)
811
- [Instruction Files](./instruction-files.md)
912
- [Project Secrets](./project-secrets.md)
10-
- [Agentic Git Identity](./agentic-git-identity.md)
13+
- [Agentic Git Identity](./agentic-git-identity.md)
1114
- [AGENTS](./AGENTS.md)

docs/instruction-files.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ cmux layers instructions from two locations:
99

1010
Priority within each location: `AGENTS.md``AGENT.md``CLAUDE.md` (first match wins). If the base file is found, cmux also appends `AGENTS.local.md` from the same directory when present.
1111

12-
## Mode-specific sections (no separate files)
12+
## Mode Prompts
1313

14-
Instead of separate files like `PLAN.md`, cmux reads mode context from sections inside your instruction files. Add a heading titled:
14+
> Use mode-specific sections to optimize context and customize the behavior specific modes.
15+
16+
cmux reads mode context from sections inside your instruction files. Add a heading titled:
1517

1618
- `Mode: <mode>` (case-insensitive), at any heading level (`#` .. `######`)
1719

docs/models.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## Models
2+
3+
See also:
4+
5+
- [System Prompt](./system-prompt.md)
6+
7+
Currently we support the Sonnet 4 models and GPT-5 family of models:
8+
9+
- `anthropic:claude-sonnet-4-5`
10+
- `anthropic:claude-opus-4-1`
11+
- `openai:gpt-5`
12+
- `openai:gpt-5-pro`
13+
- `openai:gpt-5-codex`
14+
15+
And we intend to always support the models used by 90% of the community.
16+
17+
Anthropic models are better supported than GPT-5 class models due to an outstanding issue in the
18+
Vercel AI SDK.
19+
20+
TODO: add issue link here.

docs/system-prompt.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# System Prompt
2+
3+
`cmux` is interested in supporting a variety of models at different levels of performance.
4+
5+
To that end, we're built on the [Vercel AI SDK](https://ai-sdk.dev/providers/ai-sdk-providers) which does most of the heavy lifting in creating a unified API for all models.
6+
7+
Even with consistent support at the protocol layer, we have found that different models react very differently to the same set of tools and instructions. So, **we strive to minimize the system prompt and let users figure out the prompting trade-offs**.
8+
9+
Here's a snippet from `src/services/systemMessage.ts` which is our shared system prompt (minus tools).
10+
11+
<!-- keep this in sync with the code above -->
12+
13+
```typescript
14+
// The PRELUDE is intentionally minimal to not conflict with the user's instructions.
15+
// cmux is designed to be model agnostic, and models have shown large inconsistency in how they
16+
// follow instructions.
17+
const PRELUDE = `
18+
<prelude>
19+
You are a coding agent.
20+
21+
<markdown>
22+
Your Assistant messages display in Markdown with extensions for mermaidjs and katex.
23+
24+
When creating mermaid diagrams:
25+
- Avoid side-by-side subgraphs (they display too wide)
26+
- For comparisons, use separate diagram blocks or single graph with visual separation
27+
- When using custom fill colors, include contrasting color property (e.g., "style note fill:#ff6b6b,color:#fff")
28+
- Make good use of visual space: e.g. use inline commentary
29+
- Wrap node labels containing brackets or special characters in quotes (e.g., Display["Message[]"] not Display[Message[]])
30+
31+
Use GitHub-style \`<details>/<summary>\` tags to create collapsible sections for lengthy content, error traces, or supplementary information. Toggles help keep responses scannable while preserving detail.
32+
</markdown>
33+
</prelude>
34+
`;
35+
36+
function buildEnvironmentContext(workspacePath: string): string {
37+
return `
38+
<environment>
39+
You are in a git worktree at ${workspacePath}
40+
41+
- This IS a git repository - run git commands directly (no cd needed)
42+
- Tools run here automatically
43+
- Do not modify or visit other worktrees (especially the main project) without explicit user intent
44+
- You are meant to do your work isolated from the user and other agents
45+
</environment>
46+
`;
47+
}
48+
```

docs/why-parallelize.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Why Parallelize?
2+
3+
Here are some specific use cases we enable:
4+
5+
- **Contextual continuity between relevant changes**:
6+
- e.g. create a workspace for `code-review`, `refactor`, and `new-feature`
7+
- **GPT-5-Pro**: use the slow but powerful GPT-5-Pro for complex issues
8+
- Run in the background for hours on end
9+
- The stream will automatically resume after restarts or intermittent connection issues. We show
10+
a subtle indicator when the model completes.
11+
- **A/B testing**: test a variety of approaches to the same problem,
12+
abandon the bad ones.
13+
- **Tangent management**: launch tangents in `cmux` away from main work

src/services/systemMessage.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import type { WorkspaceMetadata } from "@/types/workspace";
44
import { gatherInstructionSets, readInstructionSet } from "@/utils/main/instructionFiles";
55
import { extractModeSection } from "@/utils/main/markdown";
66

7+
// NOTE: keep this in sync with the docs/models.md file
8+
79
// The PRELUDE is intentionally minimal to not conflict with the user's instructions.
810
// cmux is designed to be model agnostic, and models have shown large inconsistency in how they
911
// follow instructions.
10-
const PRELUDE = `
12+
const PRELUDE = `
1113
<prelude>
1214
You are a coding agent.
1315

0 commit comments

Comments
 (0)