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
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.
From the repository that will coordinate your projects:
aw init
aw add git@github.com:your-org/frontend.git
aw add git@github.com: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 status --local # inspect cached remote-tracking refs without fetching
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.
| 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 finish |
Assess and retire a coordinated workspace |
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.
Use aw doctor --t3 --path /path/to/checkout to preview T3 prerequisites without creating a task. A passing preview is not authenticated readiness. --t3-authenticated explicitly consents to administrative authentication and a temporary read session; cleanup failure or unverified cleanup exits 1.
See the doctor command guide for readiness options and results.
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.
Existing-checkout native T3 handoff: aw switch --path /path/to/checkout --t3 "Task".
Use --prompt-file for UTF-8 input and --permission for an explicit permission mode.
It opens no UI; select the reported project/thread in your connected client. Same-intent
retries reconcile saved IDs. After resolution, a deliberate --t3-intent followup-1
starts another thread; never use a fresh intent to bypass uncertainty. Maintainers should
preserve repository-local receipts and retained locks during recovery. Conversation state
is not transferred.
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.
See CONTRIBUTING.md. Planning and specifications live in corwinm/arashi-arashi.
MIT