oh-my-customcode 0.127.0 → 0.128.0

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/dist/cli/index.js CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.127.0",
2337
+ version: "0.128.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.127.0",
2017
+ version: "0.128.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.127.0",
6
+ "version": "0.128.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: goal
3
3
  description: Disciplined goal-to-execution workflow for any user task. Parses objective, asks only for materially missing requirements via ambiguity-gate, inspects repo via idea, plans via sdd-dev or deep-plan, executes safely under project conventions, verifies completion per R020, and reports changed files with evidence. Use when user invokes /goal <task>.
4
+ version: 1.0.0
4
5
  scope: core
5
6
  ---
6
7
 
@@ -99,13 +99,51 @@ The generated notes can be:
99
99
  2. **File**: Written to `release_notes.md` for review before use
100
100
  3. **Update**: Used with `gh release edit v{VERSION} --notes "{notes}"`
101
101
 
102
+ ### Phase 5: Promote `## [Unreleased]` in CHANGELOG.md (Optional but Recommended)
103
+
104
+ After generating release notes, promote any pending `## [Unreleased]` entries to a versioned section so `release.yml` (awk extract at line ~217) finds the authored notes instead of falling back to GitHub auto-generated content.
105
+
106
+ ```bash
107
+ # Promote [Unreleased] to [VERSION] with today's date
108
+ DATE=$(date -u +%Y-%m-%d)
109
+ python3 - "$VERSION" "$DATE" <<'PY'
110
+ import sys, re, pathlib
111
+ version, date = sys.argv[1], sys.argv[2]
112
+ path = pathlib.Path("CHANGELOG.md")
113
+ text = path.read_text()
114
+ header = f"## [{version}] - {date}"
115
+ if re.search(rf"^## \[{re.escape(version)}\]", text, flags=re.M):
116
+ print(f"[skip] [{version}] section already exists — manual reconciliation needed")
117
+ sys.exit(0)
118
+ new = re.sub(
119
+ r"^## \[Unreleased\]\s*\n",
120
+ f"## [Unreleased]\n\n{header}\n",
121
+ text,
122
+ count=1,
123
+ flags=re.M,
124
+ )
125
+ if new == text:
126
+ print("[error] [Unreleased] section not found — CHANGELOG.md format unexpected")
127
+ sys.exit(1)
128
+ path.write_text(new)
129
+ print(f"[ok] promoted [Unreleased] -> [{version}]")
130
+ PY
131
+ ```
132
+
133
+ Behavior:
134
+ - If `## [Unreleased]` content is empty, the promoted `## [VERSION]` will also be empty — `release.yml` falls back to auto-generated notes (existing behavior preserved).
135
+ - If `## [VERSION]` already exists (re-run, manual edit), the script skips with a log message — no overwrite.
136
+ - The skill caller commits the change: `git add CHANGELOG.md && git commit -m "chore(changelog): promote [Unreleased] to [VERSION]"`
137
+
138
+ This is **optional** — the skill's release-notes generation (Phases 1-4) works independently. Phase 5 only ensures CHANGELOG consistency for projects that maintain Keep a Changelog format.
139
+
102
140
  ## Integration
103
141
 
104
142
  This skill is designed to be used during the release process:
105
143
 
106
144
  ```
107
145
  /omcustom:npm-version patch|minor|major -> version bump
108
- /omcustom-release-notes {version} -> generate notes
146
+ /omcustom-release-notes {version} -> generate notes + promote [Unreleased] (Phase 5)
109
147
  mgr-gitnerd: gh release create -> create release with notes
110
148
  ```
111
149
 
@@ -115,6 +153,8 @@ mgr-gitnerd: gh release create -> create release with notes
115
153
  - Uses git history and gh CLI for data gathering
116
154
  - Claude Code analyzes and generates notes in-context
117
155
  - Resource count changes auto-detected from CLAUDE.md history
156
+ - Phase 5 promotion is idempotent — safe to re-run; skips if `## [VERSION]` exists
157
+ - See `CONTRIBUTING.md` for [Unreleased] entry guidance during PR authoring
118
158
 
119
159
  ## Permission Mode
120
160
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.127.0",
2
+ "version": "0.128.0",
3
3
  "lastUpdated": "2026-04-24T07:30:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",