arashi 1.20.1 → 1.21.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 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> [--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] [--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,7 @@ 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 --herdr
142
143
  arashi create feature-auth-refresh --no-launch
143
144
  arashi shell install
144
145
  arashi status
@@ -147,7 +148,8 @@ arashi switch --repos feature-auth-refresh # child repo worktrees in current wo
147
148
  arashi switch --all feature-auth-refresh # all repos
148
149
  arashi switch --repos docs # repo-name matching in child repos
149
150
  arashi switch --cd feature-auth-refresh # parent-shell cd when shell integration is active
150
- arashi switch --no-default-launch # bypass configured launch mode defaults once
151
+ arashi switch --herdr feature-auth-refresh # open or focus a persistent Herdr workspace
152
+ arashi switch --no-default-launch # bypass configured sesh/Herdr mode once
151
153
  ```
152
154
 
153
155
  ### Managed Git ignore rules
@@ -176,7 +178,7 @@ Use the docs site workflow guides when you want setup guidance by outcome instea
176
178
  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
179
 
178
180
  - 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/integrations](https://arashi.haphazard.dev/workflows/integrations/)
181
+ - Integrations for Herdr, VSCode, tmux, and `tmux` plus `sesh`: [arashi.haphazard.dev/workflows](https://arashi.haphazard.dev/workflows/)
180
182
  - Agent-assisted and spec-driven change flow: [arashi.haphazard.dev/workflows/agents-and-specs](https://arashi.haphazard.dev/workflows/agents-and-specs/)
181
183
 
182
184
  ## Shell Integration
@@ -197,7 +199,7 @@ arashi shell init zsh
197
199
  arashi shell init fish
198
200
  ```
199
201
 
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"`.
202
+ 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
203
 
202
204
  If shell integration is inactive, `arashi switch --cd` warns and skips launch fallback for that invocation.
203
205
 
@@ -309,15 +311,18 @@ Example config header:
309
311
  }
310
312
  },
311
313
  "switch": {
312
- "mode": "auto",
313
- "launchMode": "sesh"
314
+ "mode": "sesh"
314
315
  }
315
316
  },
316
317
  "repos": {}
317
318
  }
318
319
  ```
319
320
 
320
- `defaults.switch.mode` accepts `"launch"`, `"cd"`, or `"auto"`. `"auto"` prefers parent-shell switching only when shell integration is active.
321
+ `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`.
322
+
323
+ 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.
324
+
325
+ 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.
321
326
 
322
327
  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`.
323
328
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arashi",
3
- "version": "1.20.1",
3
+ "version": "1.21.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",
@@ -122,7 +122,7 @@
122
122
  "type": "object"
123
123
  },
124
124
  "LaunchMode": {
125
- "enum": ["auto", "sesh"],
125
+ "enum": ["auto", "sesh", "herdr"],
126
126
  "type": "string"
127
127
  },
128
128
  "RepoConfig": {
@@ -151,19 +151,15 @@
151
151
  "SwitchCommandDefaults": {
152
152
  "additionalProperties": false,
153
153
  "properties": {
154
- "launchMode": {
155
- "$ref": "#/definitions/LaunchMode",
156
- "description": "Preferred launch mode when running switch"
157
- },
158
154
  "mode": {
159
155
  "$ref": "#/definitions/SwitchMode",
160
- "description": "Preferred switch behavior when running switch"
156
+ "description": "Preferred switch behavior and launcher when running switch"
161
157
  }
162
158
  },
163
159
  "type": "object"
164
160
  },
165
161
  "SwitchMode": {
166
- "enum": ["launch", "cd", "auto"],
162
+ "enum": ["auto", "cd", "launch", "sesh", "herdr"],
167
163
  "type": "string"
168
164
  }
169
165
  }