Config
Use this guide after arashi init when you want Arashi to create and switch worktrees in a repeatable way without repeating flags on every command.
Command Defaults
Section titled “Command Defaults”Set defaults in .arashi/config.json when you want consistent behavior without repeating flags.
{ "defaults": { "create": { "switch": true, "launch": true, "launchMode": "sesh" }, "switch": { "mode": "auto", "launchMode": "sesh" } }}defaults.create.switchcontrols whether Arashi switches into the new worktree aftercreate.defaults.create.launchanddefaults.create.launchModecontrol how create opens the new context.defaults.switch.modechooses between launch behavior, parent-shellcd, or automatic detection.defaults.switch.launchModecontrols howarashi switchopens when launch behavior is used.
Install shell integration with arashi shell install if you want defaults.switch.mode: "cd" or "auto" to support parent-shell directory changes.
Suggested Setup Sequence
Section titled “Suggested Setup Sequence”- Start with
defaults.createanddefaults.switchso the default behavior matches your team. - Enable shell integration if you want
arashi switch --cdbehavior. - Add hooks after you confirm the create and switch flow you want to automate.
- Keep shared defaults in config and move environment-specific setup into hooks.
Repository Groups
Section titled “Repository Groups”Add optional groups arrays to entries under repos.<name> when your workspace has semantic repository sets that you target together. Groups are stored on each repository entry, so there is no separate group registry to keep in sync.
{ "repos": { "arashi": { "path": "repos/arashi", "groups": ["core"] }, "arashi-docs": { "path": "repos/arashi-docs", "groups": ["docs"] }, "arashi-vscode": { "path": "repos/arashi-vscode", "groups": ["extensions"] }, "arashi-skills": { "path": "repos/arashi-skills", "groups": ["agents", "docs"] }, "deploy": { "path": "repos/deploy", "groups": ["infra"] } }}Common layouts use groups such as:
corefor the primary CLI, API, or shared libraries.docsfor documentation sites, examples, and content exports.extensionsfor editor extensions or optional integrations.agentsfor skill packages, agent instructions, and automation-facing references.infrafor deployment, CI, infrastructure, or operations repositories.
A repository can belong to more than one group when it serves multiple roles. Repositories without groups remain valid and are treated as ungrouped.
Use --group <group> with repo-selecting commands to target a semantic set without enumerating repository names:
arashi status --group docsarashi create feat/update-docs --group docs --no-launch --no-switcharashi exec --group agents -- bun run validateWhen --group and --only are supplied together, Arashi intersects the filters: --group narrows the explicit repository list instead of broadening it. For example, arashi exec --only arashi,arashi-docs --group docs -- bun run validate runs only in arashi-docs if that is the only selected repository in the docs group. Unknown groups and valid filters that produce an empty intersection are reported as selection errors before mutating commands run.