Skip to content

Commit 871de70

Browse files
feat: better readme
1 parent ef5a35b commit 871de70

File tree

1 file changed

+12
-100
lines changed

1 file changed

+12
-100
lines changed

README.md

Lines changed: 12 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# dmux - AI-Powered tmux Development Sessions
22

3-
Dmux makes running parallel development agents easy like Claude Code. It's a simple tool that creates a new tmux pane, a new git worktree, and launches a Claude Code agent in that worktree. The main dmux tool then lets you merge
4-
the open panes back into your main branch easily, close failed experiments, and spin up more agents quickly.
3+
Tools for running agents in parallel are too complex. `dmux` makes running parallel development agents like Claude Code very simple. It's a simple tool that creates a new tmux pane, a new git worktree, and launches a Claude Code agent in that worktree, with AI powered branch naming and commit messages.
4+
5+
`dmux` lets you merge the open panes back into your main branch easily, close failed experiments, and spin up more agents quickly.
56

67
## Features
78

@@ -22,49 +23,13 @@ the open panes back into your main branch easily, close failed experiments, and
2223

2324
## Installation
2425

25-
### 1. Clone and Build
26-
27-
```bash
28-
# Clone the repository
29-
git clone <repository-url> ~/dmux
30-
cd ~/dmux
31-
32-
# Install dependencies
33-
npm install
34-
35-
# Build the project
36-
npm run build
37-
```
38-
39-
### 2. Global Installation
40-
41-
Choose one of these methods:
26+
### 1. Install dmux
4227

43-
#### Option A: Symlink (Recommended)
4428
```bash
45-
# Make the script executable
46-
chmod +x ~/dmux/dmux
47-
48-
# Create symlink in a directory that's in your PATH
49-
sudo ln -s ~/dmux/dmux /usr/local/bin/dmux
29+
npm install -g dmux
5030
```
5131

52-
#### Option B: Add to PATH
53-
```bash
54-
# Add this line to your ~/.bashrc or ~/.zshrc
55-
export PATH="$PATH:$HOME/dmux"
56-
57-
# Reload your shell configuration
58-
source ~/.bashrc # or ~/.zshrc
59-
```
60-
61-
#### Option C: NPM Global Link
62-
```bash
63-
# From the dmux directory
64-
npm link
65-
```
66-
67-
### 3. Configure AI Features (Optional)
32+
### 2. Configure AI Features (Optional)
6833

6934
For AI-powered branch naming and commit messages:
7035

@@ -111,11 +76,13 @@ Get your API key from [OpenRouter](https://openrouter.ai/).
11176
| `q` | Quit dmux interface |
11277
| `ESC` | Cancel current dialog |
11378

114-
## Example Workflow
79+
## Project structure
80+
81+
When using git worktrees, its helpful to have your project's main source code in a "main" directory. Worktrees are then checked out as siblings of the main directory.
11582

11683
```bash
11784
# Start dmux in your project
118-
cd ~/projects/my-app
85+
cd ~/projects/my-app/main
11986
dmux
12087

12188
# Create a pane for a new feature
@@ -141,60 +108,13 @@ dmux
141108
4. **Claude Integration**: Launches Claude with `--accept-edits` for immediate coding
142109
5. **Smart Merging**: Auto-commits, generates messages, and cleans up worktrees
143110

144-
## Project Structure
145-
146-
When you create panes, dmux organizes your work like this:
147-
148-
```
149-
my-project/ # Your main repository
150-
├── .git/
151-
└── src/
152-
153-
my-project-fix-auth/ # Worktree for "fix authentication"
154-
├── .git # Worktree reference
155-
└── src/ # Independent working copy
156-
157-
my-project-add-feature/ # Worktree for "add new feature"
158-
├── .git
159-
└── src/
160-
```
161-
162-
## Troubleshooting
163-
164-
### Claude command not found
165-
Install Claude Code CLI from [Claude Code documentation](https://claude.ai/code).
166-
167-
### API features not working
168-
```bash
169-
# Check your API key
170-
echo $OPENROUTER_API_KEY
171-
172-
# If missing, add to your shell config
173-
export OPENROUTER_API_KEY="your-key"
174-
```
175-
176-
### Panes not appearing
177-
- Ensure tmux version 3.0+: `tmux -V`
178-
- Check git version 2.20+: `git --version`
179-
- Verify write permissions in parent directory
180-
181-
### Screen artifacts
182-
Press `Ctrl+L` in the affected pane to clear the screen.
183-
184-
## Tips
185-
186-
- **Use descriptive prompts** for better AI-generated branch names
187-
- **Merge frequently** to keep your main branch updated
188-
- **One feature per pane** for clean separation of work
189-
- **Close unused panes** with `x` to keep the interface clean
190-
191111
## tmux Configuration for Beginners
192112

193113
While dmux handles most tmux operations automatically, having a good tmux configuration can enhance your experience. This isn't the place to learn tmux comprehensively, but here's a helpful configuration to get you started.
194114

195-
### Recommended tmux Configuration
115+
### A simple tmux configuration
196116

197-
Add this to your `~/.tmux.conf` file:
117+
If you aren't a heavy tmux user, consider creating this to your `~/.tmux.conf` file:
198118

199119
```bash
200120
# Visual distinction between active and inactive panes
@@ -239,11 +159,3 @@ Or start a new tmux session for the changes to take effect.
239159
- Git ≥ 2.20
240160
- Claude Code CLI
241161
- OpenRouter API key (optional)
242-
243-
## Support
244-
245-
For issues or questions, please check the [full documentation](CLAUDE.md) or open an issue on GitHub.
246-
247-
## License
248-
249-
[Your License Here]

0 commit comments

Comments
 (0)