@programinglive/commiter 1.1.5 → 1.1.7

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 CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.1.7](https://github.com/programinglive/commiter/compare/v1.1.6...v1.1.7) (2025-11-11)
6
+
7
+
8
+ ### 📝 Documentation
9
+
10
+ * recommend dev workflow mcp server ([58a5054](https://github.com/programinglive/commiter/commit/58a5054fafd627ef23c448fd93b1383518590ad2))
11
+
12
+ ### [1.1.6](https://github.com/programinglive/commiter/compare/v1.1.5...v1.1.6) (2025-11-05)
13
+
14
+
15
+ ### 🐛 Bug Fixes
16
+
17
+ * revert to simple release notes staging to avoid git ref conflicts ([2f6a40e](https://github.com/programinglive/commiter/commit/2f6a40ed7259cffdb0b1de1633af3e43df475044))
18
+
5
19
  ### [1.1.5](https://github.com/programinglive/commiter/compare/v1.1.4...v1.1.5) (2025-11-05)
6
20
 
7
21
 
package/README.md CHANGED
@@ -32,6 +32,16 @@ npx @programinglive/commiter
32
32
 
33
33
  After installation in your project, the Husky hooks will be automatically set up for commit message validation.
34
34
 
35
+ ### Recommended MCP workflow companion
36
+
37
+ For a guided end-to-end engineering workflow, install the [Development Workflow MCP Server](https://github.com/programinglive/dev-workflow-mcp-server) alongside Commiter:
38
+
39
+ ```bash
40
+ npm install --save-dev @programinglive/dev-workflow-mcp-server
41
+ ```
42
+
43
+ Follow the configuration steps in that repository's README to connect your IDE assistant and automate the standard development workflow (start task → implement → test → document → commit → release).
44
+
35
45
  ## Commit Message Format
36
46
 
37
47
  All commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
@@ -4,6 +4,8 @@ This document summarizes every published version of `@programinglive/commiter`.
4
4
 
5
5
  | Version | Date | Highlights |
6
6
  |---------|------|------------|
7
+ | 1.1.7 | 2025-11-11 | recommend dev workflow mcp server (58a5054) |
8
+ | 1.1.6 | 2025-11-05 | revert to simple release notes staging to avoid git ref conflicts (2f6a40e) |
7
9
  | 1.1.5 | 2025-11-05 | include release notes in release commit via amendment (3f2afa8) |
8
10
  | 1.1.4 | 2025-11-05 | simplify release notes staging to avoid git ref conflicts (d4077aa) |
9
11
  | 1.1.3 | 2025-11-05 | See CHANGELOG for details. |
@@ -28,6 +30,20 @@ This document summarizes every published version of `@programinglive/commiter`.
28
30
 
29
31
 
30
32
 
33
+
34
+
35
+ ## 1.1.7 – 📝 Documentation
36
+
37
+ Released on **2025-11-11**.
38
+
39
+ - recommend dev workflow mcp server (58a5054)
40
+
41
+ ## 1.1.6 – 🐛 Bug Fixes
42
+
43
+ Released on **2025-11-05**.
44
+
45
+ - revert to simple release notes staging to avoid git ref conflicts (2f6a40e)
46
+
31
47
  ## 1.1.5 – ✨ Features
32
48
 
33
49
  Released on **2025-11-05**.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@programinglive/commiter",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "Commiter keeps repositories release-ready by enforcing conventional commits, generating icon-rich changelog entries, and orchestrating semantic version bumps without manual toil. It bootstraps Husky hooks, commitlint rules, and release scripts that inspect history, detect framework-specific test commands, run them automatically, tag git releases, coordinate npm publishing, surface release metrics, enforce project-specific checks, and give maintainers observability across distributed teams. Plus!",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -173,17 +173,6 @@ function runRelease({
173
173
 
174
174
  const releaseNotesPath = dependencies.releaseNotesPath || path.join('docs', 'release-notes', 'RELEASE_NOTES.md');
175
175
  const updateNotes = dependencies.updateReleaseNotes || ((options = {}) => updateReleaseNotes({ rootDir: cwd, ...options }));
176
- const gitAdd = dependencies.gitAdd || ((files) => spawnSync('git', ['add', ...files], { stdio: 'inherit', cwd }));
177
- const gitCommitAmend = dependencies.gitCommitAmend || (() => spawnSync('git', ['commit', '--amend', '--no-edit'], { stdio: 'inherit', cwd }));
178
- const gitTag = dependencies.gitTag || ((tagName, tagMessage) => {
179
- const args = tagMessage
180
- ? ['tag', '-f', '-a', tagName, '-m', tagMessage]
181
- : ['tag', '-f', tagName];
182
- return spawnSync('git', args, { stdio: 'inherit', cwd });
183
- });
184
- const getCommitMessage = dependencies.getCommitMessage || (() => spawnSync('git', ['log', '-1', '--pretty=%s'], { cwd, encoding: 'utf8' }));
185
- const buildTagName = dependencies.buildTagName || ((version) => `v${version}`);
186
- const loadPackage = dependencies.loadPackageJson || ((dir) => loadPackageJson(dir));
187
176
 
188
177
  let notesUpdated = false;
189
178
  try {
@@ -193,40 +182,9 @@ function runRelease({
193
182
  }
194
183
 
195
184
  if (notesUpdated) {
196
- const gitAddResult = gitAdd([releaseNotesPath]);
185
+ const gitAddResult = spawnSync('git', ['add', releaseNotesPath], { stdio: 'inherit', cwd });
197
186
  if (!gitAddResult || typeof gitAddResult.status !== 'number' || gitAddResult.status !== 0) {
198
- console.warn('⚠️ Release notes updated but failed to stage changes. Please add them manually.');
199
- return releaseResult;
200
- }
201
-
202
- const gitCommitResult = gitCommitAmend();
203
- if (!gitCommitResult || typeof gitCommitResult.status !== 'number' || gitCommitResult.status !== 0) {
204
- console.warn('⚠️ Release notes updated but failed to amend release commit. Please amend manually.');
205
- return releaseResult;
206
- }
207
-
208
- const packageJson = loadPackage(cwd);
209
- const version = packageJson && packageJson.version;
210
- if (!version) {
211
- console.warn('⚠️ Cannot retag release: package.json version missing. Please update tag manually.');
212
- return releaseResult;
213
- }
214
-
215
- const tagName = buildTagName(version);
216
- let tagMessage;
217
- try {
218
- const commitMessageResult = getCommitMessage();
219
- if (commitMessageResult && typeof commitMessageResult.status === 'number' && commitMessageResult.status === 0) {
220
- const output = typeof commitMessageResult.stdout === 'string' ? commitMessageResult.stdout : '';
221
- tagMessage = output.trim();
222
- }
223
- } catch (error) {
224
- console.warn(`⚠️ Unable to read release commit message: ${error.message}`);
225
- }
226
-
227
- const gitTagResult = gitTag(tagName, tagMessage);
228
- if (!gitTagResult || typeof gitTagResult.status === 'number' && gitTagResult.status !== 0) {
229
- console.warn(`⚠️ Failed to retag ${tagName}. Please update the tag manually before pushing.`);
187
+ console.warn('⚠️ Release notes updated but failed to stage. Please add manually: git add ' + releaseNotesPath);
230
188
  }
231
189
  }
232
190