|
63 | 63 | "*GIT_COMMITTER_NAME=*": "deny", |
64 | 64 | "*GIT_COMMITTER_EMAIL=*": "deny", |
65 | 65 | "*HUSKY=0*": "deny", |
| 66 | + "*SKIP=*": "deny", |
| 67 | + "*SKIP_PREPARE_COMMIT_MSG=*": "deny", |
| 68 | + "*SKIP_PRE_COMMIT=*": "deny", |
66 | 69 | "*PRE_COMMIT_ALLOW_NO_CONFIG=*": "deny", |
67 | 70 |
|
68 | 71 | // VCS foot-guns: these commonly open an editor or require an interactive |
69 | 72 | // terminal. Agents should use non-interactive forms (`jj describe -m`, |
70 | 73 | // `git commit -m`, explicit sequence-editor/editor env) or ask in chat. |
71 | 74 | "*git rebase -i*": "deny", |
72 | 75 | "*git rebase --interactive*": "deny", |
| 76 | + "*git add -p*": "deny", |
| 77 | + "*git add --patch*": "deny", |
| 78 | + "*git mergetool*": "deny", |
| 79 | + "*git difftool*": "deny", |
| 80 | + "*git gui*": "deny", |
| 81 | + "*git citool*": "deny", |
73 | 82 | "*git -c sequence.editor=: rebase -i*": "allow", |
74 | 83 | "*git -c sequence.editor=true rebase -i*": "allow", |
75 | 84 | "*GIT_SEQUENCE_EDITOR=:*git rebase -i*": "allow", |
|
80 | 89 | "*GIT_SEQUENCE_EDITOR=nvim*git rebase*": "deny", |
81 | 90 | "git commit": "deny", |
82 | 91 | "*&& git commit": "deny", |
| 92 | + "*git commit -n*": "deny", |
| 93 | + "*git commit * -n*": "deny", |
83 | 94 |
|
84 | 95 | // Never let an agent reboot/power off a host directly. Require the human to do it |
85 | 96 | // or use a guarded deployment workflow that owns rollback semantics. |
|
154 | 165 | "hey skills-sync*": "allow", |
155 | 166 | "hey gc*": "allow", |
156 | 167 |
|
| 168 | + // Avoid legacy Beads aliases and accidental issue closes. Use `br`, and |
| 169 | + // require an explicit close reason so issue state changes stay auditable. |
| 170 | + "bd": "deny", |
| 171 | + "bd *": "deny", |
| 172 | + "*&& bd *": "deny", |
| 173 | + "br close": "deny", |
| 174 | + "br close *": "deny", |
| 175 | + "*&& br close *": "deny", |
| 176 | + "br close * --reason *": "allow", |
| 177 | + "br close * --reason=*": "allow", |
| 178 | + "*&& br close * --reason *": "allow", |
| 179 | + "*&& br close * --reason=*": "allow", |
| 180 | + |
157 | 181 | // Allow normal Beads issue/task management even when descriptions mention |
158 | 182 | // examples of denied commands; `br` only mutates repo issue metadata. |
159 | 183 | "br *": "allow", |
|
0 commit comments