Thanks for your interest in improving amux.
This project is currently a small CLI being prepared for broader open-source use. Contributions are welcome, but please keep changes small and aligned with the existing behavior unless an issue discusses a larger design change.
Requirements:
- Go, matching the version in
go.mod tmux, for end-to-end/manual workflow checks- Amp CLI, for manual checks that create or continue Amp threads
Build the CLI:
make buildRun tests:
go test ./...Check formatting:
gofmt -l .CI runs formatting, tests, a build, and a Destructive Command Guard scan.
Normal users install published skills globally with skills as documented in
the README. Core lifecycle is skills/amux. Experimental Tycho, Claude, and Pi
routes are separate packages under skills/amux-tycho, skills/amux-claude,
and skills/amux-pi.
Contributors may symlink this checkout so Amp loads the worktree copies:
ln -sfn "$PWD/skills/amux" ~/.agents/skills/amux
ln -sfn "$PWD/skills/amux-tycho" ~/.agents/skills/amux-tycho
ln -sfn "$PWD/skills/amux-claude" ~/.agents/skills/amux-claude
ln -sfn "$PWD/skills/amux-pi" ~/.agents/skills/amux-piReload Amp after changing the links. Run the skill consistency tests with
go test ./scripts (and experimental helper tests under each skill's
experimental/... directory). They also run as part of
go test ./.... Do not document these development symlinks as the primary
installation path.
- Keep pull requests focused on one behavior or documentation improvement.
- Add or update tests when changing CLI behavior, config parsing, tmux command construction, or release/build logic.
- Prefer existing package boundaries and helper patterns over new abstractions.
- Avoid committing local binaries, personal workspace config, real Amp thread URLs, or machine-specific paths.
- Update
README.mdwhen user-facing behavior changes.
Use a temporary config while experimenting:
tmp=$(mktemp -d)
amux --config-dir "$tmp" worker list --allPrefer --dry-run before mutating tmux or workspace config:
amux --dry-run launch --workspace demo
amux --dry-run worker adopt --thread T-example --workspace demo --window worker --workdir ~/Code/demoDo not use real private thread IDs in tests or examples. Use placeholders such as T-example or https://ampcode.com/threads/T-example.