arashi
v1.35.0
Published
Git worktree manager for meta-repositories - The eye of the storm for your development workflow
Maintainers
Readme
Arashi
Arashi is a Git worktree manager for meta-repositories. It coordinates related repositories in one feature workspace while each repository keeps its own history, CI, and pull requests.
Documentation · Command reference · Workflow guides
Installation
macOS and Linux:
curl -fsSL https://arashi.haphazard.dev/install | bashWindows PowerShell:
powershell -c "irm https://arashi.haphazard.dev/install.ps1 | iex"Open a new terminal after the Windows installer so it inherits the updated user PATH.
With npm:
npm install -g arashiVerify the installation:
aw --versionaw is the preferred command name. arashi remains available for existing scripts and workflows. See the installation guide for version pinning, manual installation, and troubleshooting, or the update command guide for upgrades.
Quick start
From the repository that will coordinate your projects:
aw init
aw add [email protected]:your-org/frontend.git
aw add [email protected]:your-org/backend.git
aw create feature-auth-refreshArashi creates matching worktrees for the configured repositories. From there, use:
aw status # inspect the coordinated workspace
aw switch feature-auth-refresh # return to a worktree
aw pull # update repositories
aw push --set-upstream # publish branches
aw remove feature-auth-refresh # remove the coordinated worktreesFor a single repository without persisted Arashi configuration, use aw init --zero-config. See the standalone workflow.
Core commands
| Command | Purpose |
| --------------------------------- | ----------------------------------------- |
| aw init | Initialize a workspace |
| aw add | Add a repository |
| aw delete | Delete configured repository dependencies |
| aw clone | Clone configured repositories |
| aw configure | Edit existing workspace settings |
| aw create | Create coordinated worktrees |
| aw list | List worktrees |
| aw status | Show repository status |
| aw switch | Select and open a worktree |
| aw pull / aw push / aw sync | Synchronize repositories |
| aw setup | Run repository setup steps |
| aw remove / aw prune | Clean up branch worktrees and metadata |
| aw doctor | Diagnose workspace problems |
| aw update | Update Arashi |
Run aw --help, aw <command> --help, or use the complete command reference for options and examples.
Shell integration
Install shell integration for parent-shell directory switching and completion in Bash, Zsh, or Fish:
aw shell installYou can then use aw switch --cd <filter> to change the current shell's directory. See the shell command guide for manual setup.
Remove only the exact managed shell block with aw shell uninstall --dry-run, then
aw shell uninstall --yes. This leaves executables, PATH, manifests, and project data untouched.
Uninstallation
Inspect the conservative removal plan first, then consent explicitly:
aw uninstall --dry-run
aw uninstall --yesPackage installations delegate to exactly one proven owner using npm uninstall -g arashi,
pnpm remove -g arashi, yarn global remove arashi, bun remove -g arashi, or
vp uninstall -g arashi. Current official direct installations are removed only when their
schema-v2 manifest proves the exact payload and installer-created PATH state. Legacy,
manual, modified, or ambiguous installations refuse automatic removal; refresh the same install
with the current official installer and retry.
If the CLI cannot run, use the installed uninstall.sh or uninstall.ps1 helper with the exact
install directory and dry-run first. Removal preserves workspaces, repositories, worktrees,
.arashi.yaml, Git metadata, configuration, unrelated profile bytes, unrelated install-directory
files, and the containing install directory.
More documentation
- Getting started
- Configuration
- Hooks
- Editor and terminal integrations
- JSON automation
- Local configuration reference
Contributing
See CONTRIBUTING.md. Planning and specifications live in corwinm/arashi-arashi.
License
MIT
