You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add modifies_hooks to disable git before_specify on install
Declares modifies_hooks in extension.yml so that installing this extension
automatically disables the git extension's before_specify -> speckit.git.feature
hook (with explicit user consent). This keeps the primary checkout on a stable
branch while worktrees handle feature branch isolation.
Requires: github/spec-kit#2209 (modifies_hooks support)
Made-with: Cursor
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
# Changelog
2
2
3
+
## 1.1.0 (2026-04-13)
4
+
5
+
### Added
6
+
-`modifies_hooks` declaration: automatically disables `before_specify -> speckit.git.feature` on install (with user consent) so the primary checkout stays on a stable branch
7
+
- Requires Spec Kit with `modifies_hooks` support ([github/spec-kit#2209](https://github.com/github/spec-kit/pull/2209))
**`after_specify`** — automatically creates a worktree after a new feature is specified. Controlled by the `auto_create` config value.
71
71
72
+
## Hook overrides
73
+
74
+
This extension declares `modifies_hooks` in `extension.yml` to **disable** the git extension's `before_specify -> speckit.git.feature` hook on install. This keeps the primary checkout on a stable branch (e.g. `main`) while worktrees handle feature branch isolation.
75
+
76
+
During `specify extension add`, you will see a consent prompt:
77
+
78
+
```
79
+
Extension 'worktrees' requests the following hook modifications:
Answering **Y** disables the hook. Answering **N** installs the extension without modifying hooks (you can disable it manually in `.specify/extensions.yml`). Removing the extension via `specify extension remove worktrees` restores the original hook state.
88
+
89
+
**Requires**: Spec Kit with `modifies_hooks` support (see [github/spec-kit#2209](https://github.com/github/spec-kit/pull/2209)).
90
+
72
91
## Script usage
73
92
74
93
The bash script can be called directly for automation:
description: "Auto-spawn a worktree after a new feature is specified"
41
41
42
+
modifies_hooks:
43
+
- hook: before_specify
44
+
extension: git
45
+
command: speckit.git.feature
46
+
action: disable
47
+
reason: "Worktree-parallel keeps primary checkout on a stable branch (e.g. main); branch creation is handled by git worktree add -b during after_specify"
0 commit comments