Arashi is a Git worktree manager for meta-repositories. It helps keep related repositories aligned while you work on a feature branch across a workspace.
npm install -g arashiIf you prefer not to use npm, download a platform binary from GitHub Releases and place it on your PATH.
macOS (Apple Silicon):
curl -L https://github.com/corwinm/arashi/releases/latest/download/arashi-macos-arm64 -o arashi
chmod +x arashi
sudo mv arashi /usr/local/bin/arashiLinux (x64):
curl -L https://github.com/corwinm/arashi/releases/latest/download/arashi-linux-x64 -o arashi
chmod +x arashi
sudo mv arashi /usr/local/bin/arashiWindows (PowerShell):
Invoke-WebRequest -Uri "https://github.com/corwinm/arashi/releases/latest/download/arashi-windows-x64.exe" -OutFile "arashi.exe"
# Move arashi.exe to a folder on your PATHYou can also build from source for local development:
bun install
bun run buildArashi currently provides these commands:
arashi initarashi add <git-url>arashi create <branch>arashi listarashi statusarashi remove <branch|path>arashi pullarashi syncarashi setup [--only <repo>] [--verbose]
arashi init
arashi add git@github.com:your-org/frontend.git
arashi add git@github.com:your-org/backend.git
arashi create feature-auth-refresh
arashi statusArashi can run lifecycle hooks during arashi create to automate setup steps.
- Global hooks in
.arashi/hooks/:pre-create.shpost-create.sh
- Repository-specific hooks:
pre-create.<repo>.shpost-create.<repo>.sh
See docs/hooks.md for hook behavior, environment variables, and examples.
Use arashi list with fzf and optional keybinds to speed up daily navigation.
# One-off jump
cd "$(arashi list | fzf)"# Bash keybind (Ctrl+G)
bind '"\C-g":"cd \$(arashi list | fzf)\n"'# Zsh keybind (Ctrl+G)
bindkey -s '^g' 'cd $(arashi list | fzf)\n'# One-off session connect
sesh connect "$(arashi list | fzf)"# Bash keybind (Ctrl+S)
bind '"\C-s":"sesh connect \$(arashi list | fzf)\n"'# Zsh keybind (Ctrl+S)
bindkey -s '^s' 'sesh connect $(arashi list | fzf)\n'# Select and remove a worktree quickly
arashi remove -f "$(arashi list | fzf)"If you prefer the term delete, create a shell alias:
alias arashi-delete='arashi remove -f'Arashi also ships a dedicated skills.sh integration package for guided installation, workflow examples, and troubleshooting.
- Skill repository:
repos/arashi-skills - Canonical skill manifest:
repos/arashi-skills/skills/arashi/SKILL.md - Workflow catalog:
repos/arashi-skills/skills/arashi/references/workflows.md - Session shortcuts:
repos/arashi-skills/skills/arashi/references/session-shortcuts.md
- Installation details:
docs/INSTALLATION.md - Hook behavior:
docs/hooks.md - Setup command details:
docs/commands/setup.md - Remove command details:
docs/commands/remove.md - FZF integration:
docs/FZF_COMPATIBILITY.md
Use the canonical guide: CONTRIBUTING.md.
For specs and planning workflow, see the specs repository: github.com/corwinm/arashi-arashi.
MIT