Skip to content
corwinmPublic

About

Arashi is a Git worktree manager that pairs perfectly with agents and a spec-driven development workflow in a multi-repo environment.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

293 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arashi

npm version CI License

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 | bash

Windows 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 arashi

Verify the installation:

aw --version

aw 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 git@github.com:your-org/frontend.git
aw add git@github.com:your-org/backend.git
aw create feature-auth-refresh

Arashi 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 worktrees

For 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 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.

T3 readiness

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.

Shell integration

Install shell integration for parent-shell directory switching and completion in Bash, Zsh, or Fish:

aw shell install

You 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.

Uninstallation

Inspect the conservative removal plan first, then consent explicitly:

aw uninstall --dry-run
aw uninstall --yes

Package 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

Contributing

See CONTRIBUTING.md. Planning and specifications live in corwinm/arashi-arashi.

License

MIT

About

Arashi is a Git worktree manager that pairs perfectly with agents and a spec-driven development workflow in a multi-repo environment.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages