arashi 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,7 +36,7 @@ Verify install:
36
36
  arashi --version
37
37
  ```
38
38
 
39
- By default, the installer places `arashi` in `~/.arashi/bin` and adds that path to your shell config.
39
+ By default, the installer places `arashi` in `~/.arashi/bin`, adds that path to your shell config, and in interactive installs offers to enable shell integration for `arashi switch --cd`.
40
40
 
41
41
  If curl installation fails, use npm installation below or the manual release instructions in [`docs/INSTALLATION.md`](./docs/INSTALLATION.md).
42
42
 
@@ -99,7 +99,9 @@ Arashi currently provides these commands:
99
99
  - `arashi list`
100
100
  - `arashi status`
101
101
  - `arashi remove <branch|path>`
102
- - `arashi switch [filter] [--repos|--all] [--sesh] [--no-default-launch]`
102
+ - `arashi switch [filter] [--repos|--all] [--cd|--no-cd] [--sesh] [--no-default-launch]`
103
+ - `arashi shell init <bash|zsh|fish>`
104
+ - `arashi shell install`
103
105
  - `arashi pull`
104
106
  - `arashi sync`
105
107
  - `arashi setup [--only <repo>] [--verbose]`
@@ -113,14 +115,48 @@ arashi add git@github.com:your-org/backend.git
113
115
  arashi create feature-auth-refresh
114
116
  arashi create feature-auth-refresh --launch
115
117
  arashi create feature-auth-refresh --no-launch
118
+ arashi shell install
116
119
  arashi status
117
120
  arashi switch feature-auth-refresh # parent repo worktrees
118
121
  arashi switch --repos feature-auth-refresh # child repo worktrees in current workspace
119
122
  arashi switch --all feature-auth-refresh # all repos
120
123
  arashi switch --repos docs # repo-name matching in child repos
124
+ arashi switch --cd feature-auth-refresh # parent-shell cd when shell integration is active
121
125
  arashi switch --no-default-launch # bypass configured launch mode defaults once
122
126
  ```
123
127
 
128
+ ## Workflow Guides
129
+
130
+ Use the docs site workflow guides when you want setup guidance by outcome instead of by individual command.
131
+
132
+ - Hooks and configuration defaults: [arashi.haphazard.dev/workflows/hooks-and-config](https://arashi.haphazard.dev/workflows/hooks-and-config/)
133
+ - Integrations for VSCode, tmux, and `tmux` plus `sesh`: [arashi.haphazard.dev/workflows/integrations](https://arashi.haphazard.dev/workflows/integrations/)
134
+ - Agent-assisted and spec-driven change flow: [arashi.haphazard.dev/workflows/agents-and-specs](https://arashi.haphazard.dev/workflows/agents-and-specs/)
135
+
136
+ ## Shell Integration
137
+
138
+ Use shell integration when you want `arashi switch` to change the current shell directory instead of only opening a new terminal or editor context.
139
+
140
+ The official curl installer can offer this automatically. If you skip it or use npm, install it for the active shell with:
141
+
142
+ ```bash
143
+ arashi shell install
144
+ ```
145
+
146
+ Or print wrapper code for manual setup:
147
+
148
+ ```bash
149
+ arashi shell init bash
150
+ arashi shell init zsh
151
+ arashi shell init fish
152
+ ```
153
+
154
+ Once installed, you can use `arashi switch --cd <filter>` for one-off parent-shell switching or set `.arashi/config.json` `defaults.switch.mode` to `"cd"` or `"auto"`.
155
+
156
+ If shell integration is inactive, `arashi switch --cd` warns and skips launch fallback for that invocation.
157
+
158
+ For automated installs, set `ARASHI_SHELL_INTEGRATION=yes` to enable it without prompting or `ARASHI_SHELL_INTEGRATION=no` to skip it.
159
+
124
160
  ## Hooks
125
161
 
126
162
  Arashi can run lifecycle hooks during `arashi create` and `arashi remove`.
@@ -220,6 +256,7 @@ Example config header:
220
256
  "launchMode": "sesh"
221
257
  },
222
258
  "switch": {
259
+ "mode": "auto",
223
260
  "launchMode": "sesh"
224
261
  }
225
262
  },
@@ -227,6 +264,8 @@ Example config header:
227
264
  }
228
265
  ```
229
266
 
267
+ `defaults.switch.mode` accepts `"launch"`, `"cd"`, or `"auto"`. `"auto"` prefers parent-shell switching only when shell integration is active.
268
+
230
269
  Defaults precedence for create/switch behavior: explicit CLI flag > opt-out flag > config default > built-in default.
231
270
 
232
271
  ## skills.sh Integration
@@ -244,6 +283,8 @@ Arashi also ships a dedicated `skills.sh` integration package for guided install
244
283
  - Configuration details: [`docs/configuration.md`](./docs/configuration.md)
245
284
  - Clone command details: [`docs/commands/clone.md`](./docs/commands/clone.md)
246
285
  - Hook behavior: [`docs/hooks.md`](./docs/hooks.md)
286
+ - Workflow guides: [https://arashi.haphazard.dev/workflows/](https://arashi.haphazard.dev/workflows/)
287
+ - Shell integration details: [`docs/commands/shell.md`](./docs/commands/shell.md)
247
288
  - Setup command details: [`docs/commands/setup.md`](./docs/commands/setup.md)
248
289
  - Switch command details: [`docs/commands/switch.md`](./docs/commands/switch.md)
249
290
  - Remove command details: [`docs/commands/remove.md`](./docs/commands/remove.md)
package/bin/arashi.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arashi",
3
- "version": "1.9.0",
3
+ "version": "1.10.1",
4
4
  "description": "Git worktree manager for meta-repositories - The eye of the storm for your development workflow",
5
5
  "keywords": [
6
6
  "cli",
@@ -48,7 +48,8 @@
48
48
  "type": "module",
49
49
  "scripts": {
50
50
  "dev": "bun run src/index.ts",
51
- "build": "bun build src/index.ts --compile --minify --sourcemap --outfile bin/arashi.bin",
51
+ "build": "bun build src/index.ts --compile --minify --outfile bin/arashi.bin",
52
+ "build:debug": "bun build src/index.ts --compile --sourcemap --outfile bin/arashi.bin",
52
53
  "build:all": "bun run build:mac && bun run build:linux && bun run build:windows",
53
54
  "build:mac": "bun build src/index.ts --compile --target=bun-darwin-arm64 --outfile bin/arashi-macos-arm64",
54
55
  "build:linux": "bun build src/index.ts --compile --target=bun-linux-x64 --outfile bin/arashi-linux-x64",
@@ -119,9 +119,17 @@
119
119
  "launchMode": {
120
120
  "$ref": "#/definitions/LaunchMode",
121
121
  "description": "Preferred launch mode when running switch"
122
+ },
123
+ "mode": {
124
+ "$ref": "#/definitions/SwitchMode",
125
+ "description": "Preferred switch behavior when running switch"
122
126
  }
123
127
  },
124
128
  "type": "object"
129
+ },
130
+ "SwitchMode": {
131
+ "enum": ["launch", "cd", "auto"],
132
+ "type": "string"
125
133
  }
126
134
  }
127
135
  }