ClaudeCode Task management on Tmux
A CLI tool for managing development tasks using git worktrees. Each task runs in an isolated worktree with Neovim + ClaudeCode in a dedicated tmux window.
Written in MoonBit and compiled to a native binary.
- fzf
- git
- gh (GitHub CLI)
- tmux
- Neovim + claudecode.nvim
brew install foresta/tap/cttThis installs a pre-built native binary and seeds ~/.config/ctt/.worktree-link-ignore on first install.
Requires MoonBit.
git clone https://github.com/foresta/ctt.git
cd ctt
make installThis builds the native binary and installs ctt to ~/.local/bin/ and config files to ~/.config/ctt/.
Ensure ~/.local/bin is in your PATH.
ctt <command>ctt new- Create a worktree and launch ClaudeCodectt ls- List active tasksctt open- Open an existing task in the editorctt status- Show task status (use--allfor all tasks)ctt done- Complete a task and remove its worktreectt version(orctt --version) - Print version
~/.config/ctt/.worktree-link-ignore controls which git-ignored files are not symlinked into worktrees. The syntax follows .gitignore:
# Comments start with #
.DS_Store
*.log
build/
**/node_modules
!important.log| Pattern | Description |
|---|---|
* |
Matches any characters except / |
** |
Matches any characters including / (crosses directory boundaries) |
? |
Matches a single character except / |
/pattern |
Anchored to root — matches only at the top level |
pattern/ |
Matches directories (trailing slash is stripped) |
!pattern |
Negation — re-includes a previously excluded file |
# text |
Comment line (ignored) |
Patterns without / match against any path component (e.g., *.log matches build/debug.log). Patterns containing / are matched against the full relative path.
cd src
moon build --target native # Debug build
moon build --target native --release # Release build
moon run --target native cmd/main -- ls # Run directly
moon test --target native # Run tests