arashi 1.20.1 → 1.22.0
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 +25 -13
- package/package.json +2 -2
- package/schema/config.schema.json +8 -16
package/README.md
CHANGED
|
@@ -117,12 +117,12 @@ Arashi currently provides these commands:
|
|
|
117
117
|
- `arashi update [--check] [--dry-run] [--yes]`
|
|
118
118
|
- `arashi add <git-url>`
|
|
119
119
|
- `arashi clone [--all]`
|
|
120
|
-
- `arashi create <branch
|
|
120
|
+
- `arashi create <branch> [--tmux|--sesh|--herdr]`
|
|
121
121
|
- `arashi list`
|
|
122
122
|
- `arashi status`
|
|
123
123
|
- `arashi remove <branch|path>`
|
|
124
124
|
- `arashi prune [--dry-run]` - clean stale Git worktree metadata
|
|
125
|
-
- `arashi switch [filter] [--repos|--all] [--cd|--no-cd] [--sesh] [--no-default-launch]`
|
|
125
|
+
- `arashi switch [filter] [--repos|--all] [--cd|--no-cd] [--tmux|--sesh|--herdr] [--no-default-launch]`
|
|
126
126
|
- `arashi shell init <bash|zsh|fish>`
|
|
127
127
|
- `arashi shell install`
|
|
128
128
|
- `arashi pull`
|
|
@@ -139,6 +139,8 @@ arashi add git@github.com:your-org/frontend.git
|
|
|
139
139
|
arashi add git@github.com:your-org/backend.git
|
|
140
140
|
arashi create feature-auth-refresh
|
|
141
141
|
arashi create feature-auth-refresh --launch
|
|
142
|
+
arashi create feature-auth-refresh --tmux
|
|
143
|
+
arashi create feature-auth-refresh --herdr
|
|
142
144
|
arashi create feature-auth-refresh --no-launch
|
|
143
145
|
arashi shell install
|
|
144
146
|
arashi status
|
|
@@ -147,9 +149,13 @@ arashi switch --repos feature-auth-refresh # child repo worktrees in current wo
|
|
|
147
149
|
arashi switch --all feature-auth-refresh # all repos
|
|
148
150
|
arashi switch --repos docs # repo-name matching in child repos
|
|
149
151
|
arashi switch --cd feature-auth-refresh # parent-shell cd when shell integration is active
|
|
150
|
-
arashi switch --
|
|
152
|
+
arashi switch --tmux feature-auth-refresh # force a new plain tmux window
|
|
153
|
+
arashi switch --herdr feature-auth-refresh # open or focus a persistent Herdr workspace
|
|
154
|
+
arashi switch --no-default-launch # bypass configured sesh/Herdr mode once
|
|
151
155
|
```
|
|
152
156
|
|
|
157
|
+
Explicit `--tmux` is a per-invocation launcher override for `create` and `switch`; it is not a persisted configuration mode. It requires an active tmux context whose `TMUX` value is non-empty after trimming, uses the selected worktree path as one argv-safe `tmux new-window -c` argument, and does not fall back to another launcher when the prerequisite or launch fails. On `create`, it implies both launch and switch, while validation failures occur before worktree mutation.
|
|
158
|
+
|
|
153
159
|
### Managed Git ignore rules
|
|
154
160
|
|
|
155
161
|
Configured workspaces keep `reposDir` and `worktreesDir` effectively ignored. Arashi asks Git
|
|
@@ -176,7 +182,7 @@ Use the docs site workflow guides when you want setup guidance by outcome instea
|
|
|
176
182
|
For contributors working on Arashi itself, the project planning workflow in the `arashi-arashi` meta-repo now uses OpenSpec. Older SpecKit-oriented references in legacy planning artifacts are historical context only.
|
|
177
183
|
|
|
178
184
|
- Hooks and configuration defaults: [arashi.haphazard.dev/workflows/hooks-and-config](https://arashi.haphazard.dev/workflows/hooks-and-config/)
|
|
179
|
-
- Integrations for VSCode, tmux, and `tmux` plus `sesh`: [arashi.haphazard.dev/workflows
|
|
185
|
+
- Integrations for Herdr, VSCode, tmux, and `tmux` plus `sesh`: [arashi.haphazard.dev/workflows](https://arashi.haphazard.dev/workflows/)
|
|
180
186
|
- Agent-assisted and spec-driven change flow: [arashi.haphazard.dev/workflows/agents-and-specs](https://arashi.haphazard.dev/workflows/agents-and-specs/)
|
|
181
187
|
|
|
182
188
|
## Shell Integration
|
|
@@ -197,7 +203,7 @@ arashi shell init zsh
|
|
|
197
203
|
arashi shell init fish
|
|
198
204
|
```
|
|
199
205
|
|
|
200
|
-
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"`.
|
|
206
|
+
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 contextual `"auto"`. The canonical modes are `auto` | `cd` | `launch` | `sesh` | `herdr`.
|
|
201
207
|
|
|
202
208
|
If shell integration is inactive, `arashi switch --cd` warns and skips launch fallback for that invocation.
|
|
203
209
|
|
|
@@ -298,30 +304,36 @@ Example config header:
|
|
|
298
304
|
"defaults": {
|
|
299
305
|
"create": {
|
|
300
306
|
"switch": true,
|
|
301
|
-
"launch":
|
|
307
|
+
"launch": "none"
|
|
302
308
|
},
|
|
303
309
|
"editors": {
|
|
304
310
|
"vscode": {
|
|
305
311
|
"create": {
|
|
306
|
-
"launch":
|
|
307
|
-
"launchMode": "sesh"
|
|
312
|
+
"launch": "sesh"
|
|
308
313
|
}
|
|
309
314
|
}
|
|
310
315
|
},
|
|
311
316
|
"switch": {
|
|
312
|
-
"mode": "
|
|
313
|
-
"launchMode": "sesh"
|
|
317
|
+
"mode": "sesh"
|
|
314
318
|
}
|
|
315
319
|
},
|
|
316
320
|
"repos": {}
|
|
317
321
|
}
|
|
318
322
|
```
|
|
319
323
|
|
|
320
|
-
`defaults.switch.mode` accepts `
|
|
324
|
+
`defaults.switch.mode` accepts `auto` | `cd` | `launch` | `sesh` | `herdr`. Contextual `auto` checks strict managed contexts in the order tmux → Herdr → cmux → integrated IDE, then uses parent-shell `cd` when shell integration is active, and otherwise follows terminal/platform launch fallback. An absent mode preserves the built-in automatic `launch` behavior rather than newly preferring `cd`.
|
|
325
|
+
|
|
326
|
+
Explicit launcher flags take precedence over `--cd` / `--no-cd`, which take precedence over the configured mode and automatic context detection. `--no-default-launch` bypasses only configured `sesh` or `herdr`. `--herdr` remains available on both `create` and `switch`; Herdr launch uses `herdr worktree open` with the Git-resolved non-bare main checkout and selected worktree.
|
|
327
|
+
|
|
328
|
+
Legacy switch-only `launchMode` and `launch_mode` fields remain readable for a bounded compatibility window. Arashi warns with the exact replacement `defaults.switch.mode` on stderr; migrate promptly. Ambiguous `cd` plus an explicit legacy launcher and conflicting legacy aliases are rejected.
|
|
329
|
+
|
|
330
|
+
Use `defaults.create` for terminal `arashi create` behavior. Use `defaults.editors.<host>.create` for editor-specific overrides such as VS Code extension create flows. Supported hosts are `vscode`, `cursor`, and `kiro`. Each scope has one canonical `launch` choice: `none` | `auto` | `sesh` | `herdr`. `switch` stays independent, while any enabled launch implies switch handling for the newly created primary worktree.
|
|
331
|
+
|
|
332
|
+
Create precedence is: reject `--sesh` plus `--herdr`; then explicit `--sesh` / `--herdr`; `--launch`; `--no-launch`; the matching configured scope; and built-in `none`. An editor-hosted invocation does not fall back to terminal or another editor scope.
|
|
321
333
|
|
|
322
|
-
|
|
334
|
+
Legacy create booleans plus `launchMode` / `launch_mode` remain readable for a bounded compatibility window. Accepted combinations warn on stderr with the exact canonical replacement and do not rewrite the file. Disabled launch plus a launcher, conflicting aliases, and conflicting canonical/legacy choices are rejected before workspace mutation.
|
|
323
335
|
|
|
324
|
-
Defaults precedence for
|
|
336
|
+
Defaults precedence for unrelated switch behavior remains unchanged.
|
|
325
337
|
|
|
326
338
|
## skills.sh Integration
|
|
327
339
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arashi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"description": "Git worktree manager for meta-repositories - The eye of the storm for your development workflow",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"commander": "12.1.0",
|
|
82
82
|
"conventional-changelog-conventionalcommits": "8.0.0",
|
|
83
83
|
"husky": "9.1.7",
|
|
84
|
-
"js-yaml": "4.
|
|
84
|
+
"js-yaml": "4.3.0",
|
|
85
85
|
"lint-staged": "16.2.7",
|
|
86
86
|
"ora": "8.2.0",
|
|
87
87
|
"oxfmt": "0.28.0",
|
|
@@ -82,12 +82,8 @@
|
|
|
82
82
|
"additionalProperties": false,
|
|
83
83
|
"properties": {
|
|
84
84
|
"launch": {
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
},
|
|
88
|
-
"launchMode": {
|
|
89
|
-
"$ref": "#/definitions/LaunchMode",
|
|
90
|
-
"description": "Preferred launch mode for create-triggered launch"
|
|
85
|
+
"$ref": "#/definitions/CreateLaunchMode",
|
|
86
|
+
"description": "Post-create launch choice; omitted preserves built-in no-launch behavior"
|
|
91
87
|
},
|
|
92
88
|
"switch": {
|
|
93
89
|
"description": "Default to switching to the new worktree after create",
|
|
@@ -96,6 +92,10 @@
|
|
|
96
92
|
},
|
|
97
93
|
"type": "object"
|
|
98
94
|
},
|
|
95
|
+
"CreateLaunchMode": {
|
|
96
|
+
"enum": ["none", "auto", "sesh", "herdr"],
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
99
|
"EditorCommandDefaults": {
|
|
100
100
|
"additionalProperties": false,
|
|
101
101
|
"properties": {
|
|
@@ -121,10 +121,6 @@
|
|
|
121
121
|
},
|
|
122
122
|
"type": "object"
|
|
123
123
|
},
|
|
124
|
-
"LaunchMode": {
|
|
125
|
-
"enum": ["auto", "sesh"],
|
|
126
|
-
"type": "string"
|
|
127
|
-
},
|
|
128
124
|
"RepoConfig": {
|
|
129
125
|
"additionalProperties": false,
|
|
130
126
|
"description": "Configuration for a single repository",
|
|
@@ -151,19 +147,15 @@
|
|
|
151
147
|
"SwitchCommandDefaults": {
|
|
152
148
|
"additionalProperties": false,
|
|
153
149
|
"properties": {
|
|
154
|
-
"launchMode": {
|
|
155
|
-
"$ref": "#/definitions/LaunchMode",
|
|
156
|
-
"description": "Preferred launch mode when running switch"
|
|
157
|
-
},
|
|
158
150
|
"mode": {
|
|
159
151
|
"$ref": "#/definitions/SwitchMode",
|
|
160
|
-
"description": "Preferred switch behavior when running switch"
|
|
152
|
+
"description": "Preferred switch behavior and launcher when running switch"
|
|
161
153
|
}
|
|
162
154
|
},
|
|
163
155
|
"type": "object"
|
|
164
156
|
},
|
|
165
157
|
"SwitchMode": {
|
|
166
|
-
"enum": ["
|
|
158
|
+
"enum": ["auto", "cd", "launch", "sesh", "herdr"],
|
|
167
159
|
"type": "string"
|
|
168
160
|
}
|
|
169
161
|
}
|