bigpowers 1.3.1 → 1.3.2
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/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/scripts/sync-bugs-registry.sh +16 -10
- package/scripts/sync-skills.sh +19 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.3.2](https://github.com/danielvm-git/bigpowers/compare/v1.3.1...v1.3.2) (2026-06-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **ci:** guard sync-skills description and manifest version ([f1d5ac3](https://github.com/danielvm-git/bigpowers/commit/f1d5ac35c2fe543aa5b65ab8cb6e929476e357e3))
|
|
7
|
+
|
|
1
8
|
## [1.3.1](https://github.com/danielvm-git/bigpowers/compare/v1.3.0...v1.3.1) (2026-06-02)
|
|
2
9
|
|
|
3
10
|
|
package/package.json
CHANGED
|
@@ -27,16 +27,18 @@ for path in sorted(bugs_dir.glob("BUG-*.md")):
|
|
|
27
27
|
k, _, v = line.partition(":")
|
|
28
28
|
data[k.strip()] = v.strip().strip('"').strip("'")
|
|
29
29
|
bug_id = data.get("bug_id") or path.stem
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
entry = {
|
|
31
|
+
"id": bug_id,
|
|
32
|
+
"status": data.get("status", "open"),
|
|
33
|
+
"severity": data.get("severity", "medium"),
|
|
34
|
+
"scope": data.get("scope", "general"),
|
|
35
|
+
"title": data.get("title", path.stem),
|
|
36
|
+
"file": f"bugs/{path.name}",
|
|
37
|
+
}
|
|
38
|
+
for opt in ("files_changed", "approach", "risk_level", "commit_message"):
|
|
39
|
+
if data.get(opt):
|
|
40
|
+
entry[opt] = data[opt]
|
|
41
|
+
entries.append(entry)
|
|
40
42
|
|
|
41
43
|
out = bugs_dir / "registry.yaml"
|
|
42
44
|
lines = ["# AUTO-GENERATED — sync-bugs-registry.sh", "bugs:"]
|
|
@@ -47,6 +49,10 @@ for e in entries:
|
|
|
47
49
|
lines.append(f" scope: {e['scope']}")
|
|
48
50
|
lines.append(f" title: \"{e['title'].replace(chr(34), '')}\"")
|
|
49
51
|
lines.append(f" file: {e['file']}")
|
|
52
|
+
for opt in ("files_changed", "approach", "risk_level", "commit_message"):
|
|
53
|
+
if e.get(opt):
|
|
54
|
+
val = e[opt].replace('"', "'")
|
|
55
|
+
lines.append(f' {opt}: "{val}"')
|
|
50
56
|
lines.append("")
|
|
51
57
|
out.write_text("\n".join(lines), encoding="utf-8")
|
|
52
58
|
print(f"sync-bugs-registry: {len(entries)} bugs -> {out}")
|
package/scripts/sync-skills.sh
CHANGED
|
@@ -142,4 +142,23 @@ echo " → .gemini/extensions/bigpowers/commands/ (Slash Commands)"
|
|
|
142
142
|
echo " → .gemini/extensions/bigpowers/gemini-extension.json"
|
|
143
143
|
echo " → opencode.json (CLAUDE.md + CONVENTIONS.md instructions)"
|
|
144
144
|
[[ -n "$OPN_TARGET" ]] && echo " → bigpowers-opencode: $opencode_count skills"
|
|
145
|
+
|
|
146
|
+
# Regression guard (BUG-2026-06-02T164500): BSD sed without -E strips '+' from descriptions
|
|
147
|
+
trace_mdc="$REPO_ROOT/.cursor/rules/trace-requirement.mdc"
|
|
148
|
+
if [[ -f "$trace_mdc" ]] && ! grep -q 'release-plan.yaml + epic' "$trace_mdc"; then
|
|
149
|
+
echo "sync-skills: FAIL — '+' missing from trace-requirement; use sed -E for whitespace collapse" >&2
|
|
150
|
+
exit 1
|
|
151
|
+
fi
|
|
152
|
+
manifest="$REPO_ROOT/.gemini/extensions/bigpowers/gemini-extension.json"
|
|
153
|
+
if [[ -f "$manifest" ]]; then
|
|
154
|
+
ext_ver=$(jq -r '.version // empty' "$manifest")
|
|
155
|
+
pkg_ver=$(jq -r '.version // empty' "$REPO_ROOT/package.json")
|
|
156
|
+
if [[ -z "$ext_ver" || -z "$pkg_ver" ]]; then
|
|
157
|
+
: # skip version compare when either field is missing
|
|
158
|
+
elif [[ "$ext_ver" != "$pkg_ver" ]]; then
|
|
159
|
+
echo "sync-skills: FAIL — gemini-extension.json version ($ext_ver) != package.json ($pkg_ver)" >&2
|
|
160
|
+
exit 1
|
|
161
|
+
fi
|
|
162
|
+
fi
|
|
163
|
+
|
|
145
164
|
exit 0
|