@programinglive/commiter 1.1.6 → 1.1.8

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.8](https://github.com/programinglive/commiter/compare/v1.1.7...v1.1.8) (2025-11-22)
6
+
7
+
8
+ ### šŸ› Bug Fixes
9
+
10
+ * update installation script to copy missing files and update gitignore ([5d56259](https://github.com/programinglive/commiter/commit/5d562592fe35b684fa12bd89748b24551ae28a66))
11
+
12
+ ### [1.1.7](https://github.com/programinglive/commiter/compare/v1.1.6...v1.1.7) (2025-11-11)
13
+
14
+
15
+ ### šŸ“ Documentation
16
+
17
+ * recommend dev workflow mcp server ([58a5054](https://github.com/programinglive/commiter/commit/58a5054fafd627ef23c448fd93b1383518590ad2))
18
+
5
19
  ### [1.1.6](https://github.com/programinglive/commiter/compare/v1.1.5...v1.1.6) (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.8 | 2025-11-22 | update installation script to copy missing files and update gitignore (5d56259) |
8
+ | 1.1.7 | 2025-11-11 | recommend dev workflow mcp server (58a5054) |
7
9
  | 1.1.6 | 2025-11-05 | revert to simple release notes staging to avoid git ref conflicts (2f6a40e) |
8
10
  | 1.1.5 | 2025-11-05 | include release notes in release commit via amendment (3f2afa8) |
9
11
  | 1.1.4 | 2025-11-05 | simplify release notes staging to avoid git ref conflicts (d4077aa) |
@@ -30,6 +32,20 @@ This document summarizes every published version of `@programinglive/commiter`.
30
32
 
31
33
 
32
34
 
35
+
36
+
37
+ ## 1.1.8 – šŸ› Bug Fixes
38
+
39
+ Released on **2025-11-22**.
40
+
41
+ - update installation script to copy missing files and update gitignore (5d56259)
42
+
43
+ ## 1.1.7 – šŸ“ Documentation
44
+
45
+ Released on **2025-11-11**.
46
+
47
+ - recommend dev workflow mcp server (58a5054)
48
+
33
49
  ## 1.1.6 – šŸ› Bug Fixes
34
50
 
35
51
  Released on **2025-11-05**.
package/index.js CHANGED
@@ -19,6 +19,23 @@ function ensureSafeTestScript(scripts = {}) {
19
19
  return scripts;
20
20
  }
21
21
 
22
+ function copyRecursiveSync(src, dest) {
23
+ const exists = fs.existsSync(src);
24
+ const stats = exists && fs.statSync(src);
25
+ const isDirectory = exists && stats.isDirectory();
26
+
27
+ if (isDirectory) {
28
+ if (!fs.existsSync(dest)) {
29
+ fs.mkdirSync(dest);
30
+ }
31
+ fs.readdirSync(src).forEach((childItemName) => {
32
+ copyRecursiveSync(path.join(src, childItemName), path.join(dest, childItemName));
33
+ });
34
+ } else {
35
+ fs.copyFileSync(src, dest);
36
+ }
37
+ }
38
+
22
39
  function setupCommiter() {
23
40
  console.log('šŸš€ Setting up Commiter...\n');
24
41
 
@@ -77,9 +94,21 @@ function setupCommiter() {
77
94
 
78
95
  const releaseScriptPath = path.join(releaseScriptDir, 'release.js');
79
96
  const releaseScriptSource = path.join(__dirname, 'scripts', 'release.js');
80
- const releaseScriptContent = fs.readFileSync(releaseScriptSource, 'utf8');
97
+ fs.copyFileSync(releaseScriptSource, releaseScriptPath);
98
+
99
+ // Copy update-release-notes.js
100
+ const updateNotesSource = path.join(__dirname, 'scripts', 'update-release-notes.js');
101
+ const updateNotesDest = path.join(releaseScriptDir, 'update-release-notes.js');
102
+ if (fs.existsSync(updateNotesSource)) {
103
+ fs.copyFileSync(updateNotesSource, updateNotesDest);
104
+ }
81
105
 
82
- fs.writeFileSync(releaseScriptPath, releaseScriptContent + '\n');
106
+ // Copy preload directory
107
+ const preloadSource = path.join(__dirname, 'scripts', 'preload');
108
+ const preloadDest = path.join(releaseScriptDir, 'preload');
109
+ if (fs.existsSync(preloadSource)) {
110
+ copyRecursiveSync(preloadSource, preloadDest);
111
+ }
83
112
  try {
84
113
  fs.chmodSync(releaseScriptPath, 0o755);
85
114
  } catch (error) {
@@ -124,6 +153,18 @@ npx --no -- commitlint --edit "$1"
124
153
  fs.writeFileSync(path.join(huskyDir, 'commit-msg'), commitMsgHook);
125
154
  fs.chmodSync(path.join(huskyDir, 'commit-msg'), 0o755);
126
155
 
156
+ // Update .gitignore
157
+ const gitignorePath = path.join(process.cwd(), '.gitignore');
158
+ let gitignoreContent = '';
159
+ if (fs.existsSync(gitignorePath)) {
160
+ gitignoreContent = fs.readFileSync(gitignorePath, 'utf8');
161
+ }
162
+
163
+ if (!gitignoreContent.includes('node_modules')) {
164
+ console.log('šŸ“ Updating .gitignore...');
165
+ fs.appendFileSync(gitignorePath, '\nnode_modules\n');
166
+ }
167
+
127
168
  console.log('\nāœ… Commiter setup complete!\n');
128
169
  console.log('šŸ“š Available commands:');
129
170
  console.log(' npm run release major - Create a major release (1.0.0 → 2.0.0)');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@programinglive/commiter",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
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": {