bigpowers 2.58.3 → 2.58.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.58.3",
3
+ "version": "2.58.4",
4
4
  "description": "73 skills — 72 agent skills synthesizing 17 years of software engineering discipline into a prescriptive methodology for solo developers",
5
5
  "keywords": [
6
6
  "pi-package"
package/.releaserc.json CHANGED
@@ -5,6 +5,12 @@
5
5
  "@semantic-release/release-notes-generator",
6
6
  "@semantic-release/changelog",
7
7
  "@semantic-release/npm",
8
+ [
9
+ "@semantic-release/exec",
10
+ {
11
+ "prepareCmd": "bash scripts/sync-version-mirrors.sh ${nextRelease.version}"
12
+ }
13
+ ],
8
14
  [
9
15
  "@semantic-release/git",
10
16
  {
@@ -12,7 +18,10 @@
12
18
  "CHANGELOG.md",
13
19
  "package.json",
14
20
  "skills-lock.json",
21
+ "specs/state.yaml",
22
+ "specs/release-plan.yaml",
15
23
  ".gemini/extensions/bigpowers/gemini-extension.json",
24
+ ".pi/package.json",
16
25
  "specs/SKILL-SEARCH-INDEX_LATEST.md"
17
26
  ],
18
27
  "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.58.4](https://github.com/danielvm-git/bigpowers/compare/v2.58.3...v2.58.4) (2026-07-03)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * auto-sync version mirrors via semantic-release prepare hook ([52b2c61](https://github.com/danielvm-git/bigpowers/commit/52b2c61cf3371df61b8be29e21682f72d751dd87))
7
+
1
8
  ## [2.58.3](https://github.com/danielvm-git/bigpowers/compare/v2.58.2...v2.58.3) (2026-07-03)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.58.3",
3
+ "version": "2.58.4",
4
4
  "description": "72 agent skills synthesizing 17 years of software engineering discipline into a prescriptive methodology for solo developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -52,6 +52,7 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@semantic-release/changelog": "^6.0.3",
55
+ "@semantic-release/exec": "^7.1.0",
55
56
  "@semantic-release/git": "^10.0.1",
56
57
  "@semantic-release/github": "^11.0.1",
57
58
  "@semantic-release/npm": "^12.0.1",
@@ -187,11 +187,23 @@ for line in result.stdout.splitlines():
187
187
  # -----------------------------------------------------------------------
188
188
  # 4. Oracle tiers
189
189
  # -----------------------------------------------------------------------
190
+ EXCLUDE_DIRS = {".git", "node_modules", ".cursor", ".gemini", ".pi"}
191
+ EXCLUDE_PREFIXES = ("specs/archive/", "specs/codebase-wiki/")
192
+
193
+ def _is_excluded(rel_path: str) -> bool:
194
+ """True if path is in an excluded dir or under an excluded prefix."""
195
+ parts = rel_path.split(os.sep)
196
+ if any(d in EXCLUDE_DIRS for d in parts):
197
+ return True
198
+ return any(rel_path.startswith(p) for p in EXCLUDE_PREFIXES)
199
+
190
200
  all_files = []
191
201
  for root_dir, dirs, files in os.walk(str(ROOT)):
192
- dirs[:] = [d for d in dirs if d not in (".git", "node_modules", ".cursor")]
202
+ dirs[:] = [d for d in dirs if d not in EXCLUDE_DIRS]
193
203
  for f in files:
194
- all_files.append(str(Path(root_dir, f).relative_to(ROOT)))
204
+ rel = str(Path(root_dir, f).relative_to(ROOT))
205
+ if not _is_excluded(rel):
206
+ all_files.append(rel)
195
207
 
196
208
  def slugify(text: str) -> str:
197
209
  text = re.sub(r"[^a-zA-Z0-9\s-]", "", text.lower())
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env bash
2
+ # story: e38s08
3
+ # sync-version-mirrors.sh — bump version mirrors across all config files
4
+ # Called by: @semantic-release/exec prepareCmd during release
5
+ # Usage: bash scripts/sync-version-mirrors.sh <version>
6
+ #
7
+ # Runs AFTER @semantic-release/npm has bumped package.json (so derived
8
+ # artifacts like .gemini/ and .pi/ read the new version from there).
9
+ # Runs BEFORE @semantic-release/git commits everything.
10
+
11
+ set -euo pipefail
12
+
13
+ VERSION="${1:?usage: sync-version-mirrors.sh <version>}"
14
+ REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
15
+
16
+ echo "sync-version-mirrors.sh: bumping mirrors to $VERSION"
17
+
18
+ # ── 1. YAML mirror fields ──────────────────────────────────────────────
19
+ python3 "$REPO_ROOT/scripts/yaml-tools.py" set \
20
+ "$REPO_ROOT/specs/state.yaml" bigpowers_version "$VERSION"
21
+
22
+ python3 "$REPO_ROOT/scripts/yaml-tools.py" set \
23
+ "$REPO_ROOT/specs/release-plan.yaml" release.version "$VERSION"
24
+
25
+ # ── 2. Regenerate derived artifacts (reads already-bumped package.json) ─
26
+ bash "$REPO_ROOT/scripts/sync-skills.sh"
27
+
28
+ echo "sync-version-mirrors.sh: done — all mirrors at $VERSION"