Skip to content

corwinm/arashi

Repository files navigation

Arashi

npm version CI License

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.

Documentation

Installation

npm install -g arashi

Manual install from GitHub Releases

If 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/arashi

Linux (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/arashi

Windows (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 PATH

You can also build from source for local development:

bun install
bun run build

Command Surface

Arashi currently provides these commands:

  • arashi init
  • arashi add <git-url>
  • arashi create <branch>
  • arashi list
  • arashi status
  • arashi remove <branch|path>
  • arashi pull
  • arashi sync
  • arashi setup [--only <repo>] [--verbose]

Quick Example

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 status

Hooks

Arashi can run lifecycle hooks during arashi create to automate setup steps.

  • Global hooks in .arashi/hooks/:
    • pre-create.sh
    • post-create.sh
  • Repository-specific hooks:
    • pre-create.<repo>.sh
    • post-create.<repo>.sh

See docs/hooks.md for hook behavior, environment variables, and examples.

Workflow Shortcuts

Use arashi list with fzf and optional keybinds to speed up daily navigation.

Jump to a worktree (cd)

# 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'

Open or switch tmux sessions with sesh

# 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'

Fast remove selection

# 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'

skills.sh Integration

Arashi also ships a dedicated skills.sh integration package for guided installation, workflow examples, and troubleshooting.

Documentation

Contributing

Use the canonical guide: CONTRIBUTING.md.

For specs and planning workflow, see the specs repository: github.com/corwinm/arashi-arashi.

License

MIT

About

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages