arashi 1.24.1 → 1.25.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 +11 -19
- package/package.json +1 -1
- package/schema/config.schema.json +4 -1
package/README.md
CHANGED
|
@@ -172,7 +172,7 @@ arashi switch --no-default-launch # bypass configured sesh/Herdr mode
|
|
|
172
172
|
|
|
173
173
|
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.
|
|
174
174
|
|
|
175
|
-
`--tab` is a CLI-only launch disposition for `create` and `switch`; it is never persisted. It requests a true terminal tab or documented managed-context equivalent, implies launch (and selection for `create`), overrides automatic parent-shell `cd`, and never degrades to a window or another launcher. Unsupported adapters fail with `TAB_DISPOSITION_UNSUPPORTED`; launch/preflight failures use `LAUNCH_FAILED`. Human-only tab launch is incompatible with `--json`.
|
|
175
|
+
`--tab` is a CLI-only launch disposition for `create` and `switch`; it is never persisted. It requests a true terminal tab or documented managed-context equivalent, implies launch (and selection for `create`), overrides automatic parent-shell `cd`, and never degrades to a window or another launcher. For switch, it bypasses configured `sesh` or `herdr` launch defaults; for create, it bypasses configured generic or editor-scoped launch defaults. An explicit launcher selector remains authoritative. Unsupported adapters fail with `TAB_DISPOSITION_UNSUPPORTED`; launch/preflight failures use `LAUNCH_FAILED`. Human-only tab launch is incompatible with `--json`.
|
|
176
176
|
|
|
177
177
|
### Managed Git ignore rules
|
|
178
178
|
|
|
@@ -229,24 +229,16 @@ For automated installs, set `ARASHI_SHELL_INTEGRATION=yes` to enable it without
|
|
|
229
229
|
|
|
230
230
|
## Hooks
|
|
231
231
|
|
|
232
|
-
Arashi can run lifecycle hooks during `arashi create` and `arashi remove`.
|
|
232
|
+
Arashi can run lifecycle hooks during `arashi create` and `arashi remove`. Configured create uses
|
|
233
|
+
workspace `pre-create`/`post-create` plus repository-specific `pre-create.<repo>` and
|
|
234
|
+
`post-create.<repo>` files. Configured remove evaluates repository, workspace, user-global targeted,
|
|
235
|
+
and user-global shared scopes once per target repository. Standalone mode activates only targeted
|
|
236
|
+
and shared user-global hooks.
|
|
233
237
|
|
|
234
|
-
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
- `post-remove.sh`
|
|
239
|
-
- Repository-specific hooks:
|
|
240
|
-
- `pre-create.<repo>.sh`
|
|
241
|
-
- `post-create.<repo>.sh`
|
|
242
|
-
- Scoped remove hooks:
|
|
243
|
-
- repository scope: `repos/<repo>/.arashi/hooks/pre-remove.sh` and `post-remove.sh`
|
|
244
|
-
- global shared: `~/.arashi/hooks/pre-remove.sh` and `post-remove.sh`
|
|
245
|
-
- global targeted: `~/.arashi/hooks/<repo>/pre-remove.sh` and `post-remove.sh`
|
|
246
|
-
|
|
247
|
-
For `arashi remove`, hook execution order is: repository scope -> workspace-root scope -> global targeted scope -> global shared scope.
|
|
248
|
-
|
|
249
|
-
`pre-remove.sh` is useful for teardown before deletion (for example, stopping tmux sessions), and `post-remove.sh` can run final cleanup after remove operations complete.
|
|
238
|
+
POSIX uses executable `.sh` files. Windows uses one case-insensitive `.ps1`, `.cmd`, or `.bat`
|
|
239
|
+
candidate per location and never runs `.sh` implicitly. Hook failures participate in create rollback
|
|
240
|
+
or remove finalization, all hooks default to a 300000 ms timeout, and JSON results expose the ordered
|
|
241
|
+
ledger at `data.hookOutcomes` on success or `error.details.hookOutcomes` on failure.
|
|
250
242
|
|
|
251
243
|
See [`docs/hooks.md`](./docs/hooks.md) for hook behavior, environment variables, and examples.
|
|
252
244
|
|
|
@@ -351,7 +343,7 @@ Legacy switch-only `launchMode` and `launch_mode` fields remain readable for a b
|
|
|
351
343
|
|
|
352
344
|
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.
|
|
353
345
|
|
|
354
|
-
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.
|
|
346
|
+
Create precedence is: reject `--sesh` plus `--herdr`; then explicit `--sesh` / `--herdr`; `--tab` or `--launch`; `--no-launch`; the matching configured scope; and built-in `none`. `--tab` bypasses the matching configured scope unless an explicit launcher selector is present. An editor-hosted invocation does not fall back to terminal or another editor scope.
|
|
355
347
|
|
|
356
348
|
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.
|
|
357
349
|
|
package/package.json
CHANGED
|
@@ -34,7 +34,10 @@
|
|
|
34
34
|
"description": "Optional workspace-level hooks settings",
|
|
35
35
|
"properties": {
|
|
36
36
|
"timeout": {
|
|
37
|
-
"description": "
|
|
37
|
+
"description": "Lifecycle-hook timeout in milliseconds (default: 300000)",
|
|
38
|
+
"maximum": 2147483647,
|
|
39
|
+
"minimum": 1,
|
|
40
|
+
"multipleOf": 1,
|
|
38
41
|
"type": "number"
|
|
39
42
|
}
|
|
40
43
|
},
|