bigpowers 2.76.2 → 2.76.3
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/.pi/package.json +1 -1
- package/.pi/prompts/commit-message.md +1 -0
- package/.pi/prompts/release-branch.md +3 -0
- package/.pi/skills/commit-message/SKILL.md +1 -0
- package/.pi/skills/release-branch/SKILL.md +3 -0
- package/CHANGELOG.md +8 -0
- package/hooks/pre-tool-use.sh +5 -0
- package/package.json +1 -1
- package/scripts/land-branch.sh +10 -0
- package/skills/commit-message/SKILL.md +1 -0
- package/skills/release-branch/SKILL.md +3 -0
- package/skills-lock.json +2 -2
package/.pi/package.json
CHANGED
|
@@ -37,6 +37,7 @@ description: "Reviews working-tree changes, then drafts a Conventional Commits t
|
|
|
37
37
|
- [ ] **Scope** is a short noun in parentheses if it helps (e.g. `fix(api): …`).
|
|
38
38
|
- [ ] Breaking changes are explicit (`!` and/or `BREAKING CHANGE:` in the body/footer).
|
|
39
39
|
- [ ] Description is imperative, lowercase start after the prefix, no trailing period in the title line.
|
|
40
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By` footers** — P1 rule (CONVENTIONS.md § Git Attribution). All commits must appear as if authored solely by the human user. The git hook and `land-branch.sh` both block these.
|
|
40
41
|
|
|
41
42
|
## When not to invent a bump
|
|
42
43
|
|
|
@@ -40,9 +40,12 @@ If unsure, prefer **solo-local**.
|
|
|
40
40
|
```bash
|
|
41
41
|
<full test command> && <typecheck command> && <lint command>
|
|
42
42
|
git log main...HEAD --oneline | grep -vE "^[a-f0-9]+ (feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?: .+$" && echo "❌ Non-conventional commits found" || echo "✅ Commits verified"
|
|
43
|
+
# Block AI agent attribution (P1)
|
|
44
|
+
git log main...HEAD --format="%B" | grep -qiE 'co[- ]authored[- ]by' && echo "❌ Co-authored-by footer found — blocked" || echo "✅ No AI attribution"
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
- [ ] All tests pass, no type errors, no lint violations, all commits follow Conventional Commits
|
|
48
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By`** in any commit body — P1 rule (CONVENTIONS.md § Git Attribution). `land-branch.sh` blocks the merge if found.
|
|
46
49
|
|
|
47
50
|
### 2. Coverage check
|
|
48
51
|
|
|
@@ -38,6 +38,7 @@ description: "Reviews working-tree changes, then drafts a Conventional Commits t
|
|
|
38
38
|
- [ ] **Scope** is a short noun in parentheses if it helps (e.g. `fix(api): …`).
|
|
39
39
|
- [ ] Breaking changes are explicit (`!` and/or `BREAKING CHANGE:` in the body/footer).
|
|
40
40
|
- [ ] Description is imperative, lowercase start after the prefix, no trailing period in the title line.
|
|
41
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By` footers** — P1 rule (CONVENTIONS.md § Git Attribution). All commits must appear as if authored solely by the human user. The git hook and `land-branch.sh` both block these.
|
|
41
42
|
|
|
42
43
|
## When not to invent a bump
|
|
43
44
|
|
|
@@ -41,9 +41,12 @@ If unsure, prefer **solo-local**.
|
|
|
41
41
|
```bash
|
|
42
42
|
<full test command> && <typecheck command> && <lint command>
|
|
43
43
|
git log main...HEAD --oneline | grep -vE "^[a-f0-9]+ (feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?: .+$" && echo "❌ Non-conventional commits found" || echo "✅ Commits verified"
|
|
44
|
+
# Block AI agent attribution (P1)
|
|
45
|
+
git log main...HEAD --format="%B" | grep -qiE 'co[- ]authored[- ]by' && echo "❌ Co-authored-by footer found — blocked" || echo "✅ No AI attribution"
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
- [ ] All tests pass, no type errors, no lint violations, all commits follow Conventional Commits
|
|
49
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By`** in any commit body — P1 rule (CONVENTIONS.md § Git Attribution). `land-branch.sh` blocks the merge if found.
|
|
47
50
|
|
|
48
51
|
### 2. Coverage check
|
|
49
52
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [2.76.3](https://github.com/danielvm-git/bigpowers/compare/v2.76.2...v2.76.3) (2026-07-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **scripts:** move Co-authored-by feature branch scan after DEFAULT_BRANCH is set ([842dfb3](https://github.com/danielvm-git/bigpowers/commit/842dfb3c8caf710f75b1bc234f3178596d2e78df))
|
|
7
|
+
* **security:** enforce Co-authored-by ban across all commit paths ([b8610cd](https://github.com/danielvm-git/bigpowers/commit/b8610cdb060faebf94b614354c80c052d985c40d))
|
|
8
|
+
|
|
1
9
|
## [2.76.2](https://github.com/danielvm-git/bigpowers/compare/v2.76.1...v2.76.2) (2026-07-09)
|
|
2
10
|
|
|
3
11
|
|
package/hooks/pre-tool-use.sh
CHANGED
|
@@ -107,6 +107,11 @@ if [[ "$COMMAND" =~ git[[:space:]]+commit ]] || [[ "$COMMAND" =~ git[[:space:]]+
|
|
|
107
107
|
if [ ${#SUBJECT} -gt 72 ]; then
|
|
108
108
|
deny "BLOCKED: Commit subject line must be 72 characters or less."
|
|
109
109
|
fi
|
|
110
|
+
|
|
111
|
+
# Block AI agent attribution (P1 — NEVER Co-authored-by:)
|
|
112
|
+
if echo "$MSG" | grep -qiE '^co[- ]authored[- ]by:' || echo "$MSG" | grep -qiE '\nco[- ]authored[- ]by:'; then
|
|
113
|
+
deny "BLOCKED: Commit must not include Co-authored-by: footer. All commits must appear as if authored solely by the human user (CONVENTIONS.md § Git Attribution)."
|
|
114
|
+
fi
|
|
110
115
|
fi
|
|
111
116
|
|
|
112
117
|
# Block direct commits to main unless land script is active
|
package/package.json
CHANGED
package/scripts/land-branch.sh
CHANGED
|
@@ -41,6 +41,11 @@ if [ ${#COMMIT_MSG} -gt 72 ]; then
|
|
|
41
41
|
land_branch_deny "Commit subject line must be 72 characters or less"
|
|
42
42
|
fi
|
|
43
43
|
|
|
44
|
+
# Block AI agent attribution (P1 — CONVENTIONS.md § Git Attribution)
|
|
45
|
+
if echo "$COMMIT_MSG" | grep -qiE '^co[- ]authored[- ]by:' || echo "$COMMIT_MSG" | grep -qiE '\nco[- ]authored[- ]by:'; then
|
|
46
|
+
land_branch_deny "Commit must not include Co-authored-by: footer. All commits must appear as if authored solely by the human user."
|
|
47
|
+
fi
|
|
48
|
+
|
|
44
49
|
# Primary worktree only (.git is a directory, not a gitdir pointer file)
|
|
45
50
|
if [ -f .git ]; then
|
|
46
51
|
land_branch_deny "Run from the primary repository root, not a linked worktree (cd to main repo first)"
|
|
@@ -72,6 +77,11 @@ if ! git show-ref --verify --quiet "refs/heads/$FEATURE_BRANCH"; then
|
|
|
72
77
|
land_branch_deny "Feature branch '$FEATURE_BRANCH' does not exist"
|
|
73
78
|
fi
|
|
74
79
|
|
|
80
|
+
# Scan all commits in feature branch for Co-authored-by: footers
|
|
81
|
+
if git log "$DEFAULT_BRANCH..$FEATURE_BRANCH" --format="%B" 2>/dev/null | grep -qiE '^co[- ]authored[- ]by:'; then
|
|
82
|
+
land_branch_deny "Feature branch '$FEATURE_BRANCH' contains Co-authored-by: footer(s). Amend commits to remove all AI agent attribution before landing."
|
|
83
|
+
fi
|
|
84
|
+
|
|
75
85
|
for protected in main master; do
|
|
76
86
|
if [ "$FEATURE_BRANCH" = "$protected" ]; then
|
|
77
87
|
land_branch_deny "Cannot land protected branch '$FEATURE_BRANCH'"
|
|
@@ -39,6 +39,7 @@ description: Reviews working-tree changes, then drafts a Conventional Commits ti
|
|
|
39
39
|
- [ ] **Scope** is a short noun in parentheses if it helps (e.g. `fix(api): …`).
|
|
40
40
|
- [ ] Breaking changes are explicit (`!` and/or `BREAKING CHANGE:` in the body/footer).
|
|
41
41
|
- [ ] Description is imperative, lowercase start after the prefix, no trailing period in the title line.
|
|
42
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By` footers** — P1 rule (CONVENTIONS.md § Git Attribution). All commits must appear as if authored solely by the human user. The git hook and `land-branch.sh` both block these.
|
|
42
43
|
|
|
43
44
|
## When not to invent a bump
|
|
44
45
|
|
|
@@ -43,9 +43,12 @@ If unsure, prefer **solo-local**.
|
|
|
43
43
|
```bash
|
|
44
44
|
<full test command> && <typecheck command> && <lint command>
|
|
45
45
|
git log main...HEAD --oneline | grep -vE "^[a-f0-9]+ (feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?: .+$" && echo "❌ Non-conventional commits found" || echo "✅ Commits verified"
|
|
46
|
+
# Block AI agent attribution (P1)
|
|
47
|
+
git log main...HEAD --format="%B" | grep -qiE 'co[- ]authored[- ]by' && echo "❌ Co-authored-by footer found — blocked" || echo "✅ No AI attribution"
|
|
46
48
|
```
|
|
47
49
|
|
|
48
50
|
- [ ] All tests pass, no type errors, no lint violations, all commits follow Conventional Commits
|
|
51
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By`** in any commit body — P1 rule (CONVENTIONS.md § Git Attribution). `land-branch.sh` blocks the merge if found.
|
|
49
52
|
|
|
50
53
|
### 2. Coverage check
|
|
51
54
|
|
package/skills-lock.json
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"commit-message": {
|
|
35
35
|
"description": "Reviews working-tree changes, then drafts a Conventional Commits title/body and states the semantic-release version bump a single such commit would imply. Also notes which defensive-code categories were touched. Use when the user wants to commit recent work, prepare a Conventional Commits message, or asks for semantic-release / semver-consistent messaging before git commit.",
|
|
36
|
-
"sha256": "
|
|
36
|
+
"sha256": "1ed4ef65d813a84d",
|
|
37
37
|
"path": "skills/commit-messageSKILL.md"
|
|
38
38
|
},
|
|
39
39
|
"compose-workflow": {
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
},
|
|
239
239
|
"release-branch": {
|
|
240
240
|
"description": "Make the merge/PR/keep/discard decision for a feature branch, verify coverage gates, create the PR with gh, and clean up the worktree. Use when a feature is done and ready to ship, or when user says \"release\", \"merge\", or \"open a PR\".",
|
|
241
|
-
"sha256": "
|
|
241
|
+
"sha256": "7e94a540b1dc75c1",
|
|
242
242
|
"path": "skills/release-branchSKILL.md"
|
|
243
243
|
},
|
|
244
244
|
"request-review": {
|