@hanna84/mcp-writing 1.4.0 → 1.4.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +188 -86
  2. package/README.md +34 -0
  3. package/package.json +5 -2
package/CHANGELOG.md CHANGED
@@ -1,108 +1,210 @@
1
- # Changelog
1
+ ### Changelog
2
2
 
3
- ## [1.4.0](https://github.com/hannasdev/mcp-writing/compare/v1.3.8...v1.4.0) (2026-04-18)
3
+ All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
4
 
5
+ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
5
6
 
6
- ### Features
7
+ #### [v1.4.2](https://github.com/hannasdev/mcp-writing.git
8
+ /compare/v1.4.1...v1.4.2)
7
9
 
8
- * add runtime write-access diagnostics for onboarding ([434c453](https://github.com/hannasdev/mcp-writing/commit/434c45323b7662312cff8cc24e2c8ee2c0fd8745))
10
+ - fix: correct node argument handling in release version guard [`#35`](https://github.com/hannasdev/mcp-writing.git
11
+ /pull/35)
12
+ - fix: prevent stale release reruns from republishing tags [`#34`](https://github.com/hannasdev/mcp-writing.git
13
+ /pull/34)
9
14
 
10
- ## [1.3.8](https://github.com/hannasdev/mcp-writing/compare/v1.3.7...v1.3.8) (2026-04-18)
15
+ #### [v1.4.1](https://github.com/hannasdev/mcp-writing.git
16
+ /compare/v1.4.0...v1.4.1)
11
17
 
18
+ > 19 April 2026
12
19
 
13
- ### Miscellaneous Chores
20
+ - chore: switch release workflow to deploy-key SSH auth [`#33`](https://github.com/hannasdev/mcp-writing.git
21
+ /pull/33)
22
+ - fix: correct release increment regex quoting on main [`#32`](https://github.com/hannasdev/mcp-writing.git
23
+ /pull/32)
24
+ - fix: support legacy release token secret name [`#31`](https://github.com/hannasdev/mcp-writing.git
25
+ /pull/31)
26
+ - chore: migrate release automation from Release Please to release-it [`#30`](https://github.com/hannasdev/mcp-writing.git
27
+ /pull/30)
28
+ - Release 1.4.1 [`aa88a29`](https://github.com/hannasdev/mcp-writing.git
29
+ /commit/aa88a29899cc2b81ef2d62b2024b73fa8dddcd8e)
14
30
 
15
- * enable auto-merge for Release Please version PRs ([#24](https://github.com/hannasdev/mcp-writing/issues/24)) ([07981af](https://github.com/hannasdev/mcp-writing/commit/07981af84c4029cb25aef1947f301eb172df3d3a))
31
+ #### [v1.4.0](https://github.com/hannasdev/mcp-writing.git
32
+ /compare/v1.3.8...v1.4.0)
16
33
 
17
- ## [1.3.7](https://github.com/hannasdev/mcp-writing/compare/v1.3.6...v1.3.7) (2026-04-18)
34
+ > 18 April 2026
18
35
 
36
+ - chore(main): release 1.4.0 [`#29`](https://github.com/hannasdev/mcp-writing.git
37
+ /pull/29)
38
+ - docs: streamline README for first-time onboarding [`#28`](https://github.com/hannasdev/mcp-writing.git
39
+ /pull/28)
40
+ - docs: streamline README for first-time onboarding [`#27`](https://github.com/hannasdev/mcp-writing.git
41
+ /pull/27)
42
+ - docs: streamline README for first-time onboarding [`#26`](https://github.com/hannasdev/mcp-writing.git
43
+ /pull/26)
44
+ - feat: add runtime write-access diagnostics for onboarding [`434c453`](https://github.com/hannasdev/mcp-writing.git
45
+ /commit/434c45323b7662312cff8cc24e2c8ee2c0fd8745)
19
46
 
20
- ### Miscellaneous Chores
47
+ #### [v1.3.8](https://github.com/hannasdev/mcp-writing.git
48
+ /compare/v1.3.7...v1.3.8)
21
49
 
22
- * **ci:** remove npm whoami diagnostic step ([65435e9](https://github.com/hannasdev/mcp-writing/commit/65435e9c8cfa829ceb6937904250c46afc45b54c))
50
+ > 18 April 2026
23
51
 
24
- ## [1.3.6](https://github.com/hannasdev/mcp-writing/compare/v1.3.5...v1.3.6) (2026-04-18)
52
+ - chore(main): release 1.3.8 [`#25`](https://github.com/hannasdev/mcp-writing.git
53
+ /pull/25)
54
+ - chore: enable auto-merge for Release Please version PRs [`#24`](https://github.com/hannasdev/mcp-writing.git
55
+ /pull/24)
25
56
 
57
+ #### [v1.3.7](https://github.com/hannasdev/mcp-writing.git
58
+ /compare/v1.3.6...v1.3.7)
26
59
 
27
- ### Bug Fixes
60
+ > 18 April 2026
28
61
 
29
- * **ci:** restore npm trusted publishing auth config ([f043368](https://github.com/hannasdev/mcp-writing/commit/f0433681e984e34d1c38725f2d85dc3d14031626))
62
+ - chore(main): release 1.3.7 [`#22`](https://github.com/hannasdev/mcp-writing.git
63
+ /pull/22)
64
+ - docs: add prerequisites, setup verification, and troubleshooting guide [`#23`](https://github.com/hannasdev/mcp-writing.git
65
+ /pull/23)
66
+ - chore(ci): remove npm whoami diagnostic step [`65435e9`](https://github.com/hannasdev/mcp-writing.git
67
+ /commit/65435e9c8cfa829ceb6937904250c46afc45b54c)
30
68
 
31
- ## [1.3.5](https://github.com/hannasdev/mcp-writing/compare/v1.3.4...v1.3.5) (2026-04-18)
69
+ #### [v1.3.6](https://github.com/hannasdev/mcp-writing.git
70
+ /compare/v1.3.5...v1.3.6)
32
71
 
72
+ > 18 April 2026
33
73
 
34
- ### Bug Fixes
74
+ - chore(main): release 1.3.6 [`#21`](https://github.com/hannasdev/mcp-writing.git
75
+ /pull/21)
76
+ - fix(ci): add npm whoami diagnostic step [`9d6b13e`](https://github.com/hannasdev/mcp-writing.git
77
+ /commit/9d6b13e924e802df25099b42a178a772153e66c3)
78
+ - fix: add repository url for npm provenance [`50c2d21`](https://github.com/hannasdev/mcp-writing.git
79
+ /commit/50c2d216776cb3117e67b3ff1cc65f1192fb0955)
80
+ - fix(ci): restore npm trusted publishing auth config [`f043368`](https://github.com/hannasdev/mcp-writing.git
81
+ /commit/f0433681e984e34d1c38725f2d85dc3d14031626)
35
82
 
36
- * **ci:** force OIDC-only npm publish auth ([c9f1216](https://github.com/hannasdev/mcp-writing/commit/c9f1216f2d3aa49fcc2aad5e6c4032962ad843d1))
83
+ #### [v1.3.5](https://github.com/hannasdev/mcp-writing.git
84
+ /compare/v1.3.4...v1.3.5)
37
85
 
38
- ## [1.3.4](https://github.com/hannasdev/mcp-writing/compare/v1.3.3...v1.3.4) (2026-04-18)
86
+ > 18 April 2026
39
87
 
40
-
41
- ### Bug Fixes
42
-
43
- * **ci:** use tag trigger for npm publish (matches n8n pattern) ([#18](https://github.com/hannasdev/mcp-writing/issues/18)) ([a3c5992](https://github.com/hannasdev/mcp-writing/commit/a3c5992e8cb560aa79b554389d41457fcf3c0cfd))
44
-
45
- ## [1.3.3](https://github.com/hannasdev/mcp-writing/compare/v1.3.2...v1.3.3) (2026-04-18)
46
-
47
-
48
- ### Bug Fixes
49
-
50
- * **ci:** use tag trigger for npm publish (matches n8n pattern) ([6841de7](https://github.com/hannasdev/mcp-writing/commit/6841de78a90c3b4c121761d28a09b02f9d360a96))
51
-
52
- ## [1.3.2](https://github.com/hannasdev/mcp-writing/compare/v1.3.1...v1.3.2) (2026-04-18)
53
-
54
-
55
- ### Bug Fixes
56
-
57
- * **ci:** publish from main release commits for npm trusted publishing ([135ab25](https://github.com/hannasdev/mcp-writing/commit/135ab254fb91ee6427a79cdecdc5b9bf55cfb4d1))
58
-
59
- ## [1.3.1](https://github.com/hannasdev/mcp-writing/compare/v1.3.0...v1.3.1) (2026-04-18)
60
-
61
-
62
- ### Bug Fixes
63
-
64
- * **ci:** set npm environment for trusted publishing ([b75fb08](https://github.com/hannasdev/mcp-writing/commit/b75fb0897dbbbd9df2d136cbb78a06218f0c0b50))
65
-
66
-
67
- ### Miscellaneous Chores
68
-
69
- * generate integration fixtures at runtime and remove test-sync ([#14](https://github.com/hannasdev/mcp-writing/issues/14)) ([0ff5024](https://github.com/hannasdev/mcp-writing/commit/0ff5024f0c3724b099035a6f76fbe4c517870652))
70
-
71
- ## [1.3.0](https://github.com/hannasdev/mcp-writing/compare/v1.2.0...v1.3.0) (2026-04-17)
72
-
73
-
74
- ### Features
75
-
76
- * formalize non-draft content and stable Scrivener imports ([#12](https://github.com/hannasdev/mcp-writing/issues/12)) ([70b4beb](https://github.com/hannasdev/mcp-writing/commit/70b4bebd0d3cd823ffe3a9251f59f9a0c0e5f12f))
77
-
78
- ## [1.2.0](https://github.com/hannasdev/mcp-writing/compare/v1.1.1...v1.2.0) (2026-04-17)
79
-
80
-
81
- ### Features
82
-
83
- * Phase 3 git-backed prose editing, runtime config tool, startup path logging ([f30a7c8](https://github.com/hannasdev/mcp-writing/commit/f30a7c8b5e5aaf070b0b6cfaec38479141c5f60b))
84
-
85
- ## [1.1.1](https://github.com/hannasdev/mcp-writing/compare/v1.1.0...v1.1.1) (2026-04-16)
86
-
87
-
88
- ### Bug Fixes
89
-
90
- * use dedicated token for release-please workflow ([#10](https://github.com/hannasdev/mcp-writing/issues/10)) ([6167a59](https://github.com/hannasdev/mcp-writing/commit/6167a598999c173ba04bcdc61223259449e1cf24))
91
-
92
-
93
- ### Miscellaneous Chores
94
-
95
- * fix lint in MCP validation scripts ([2b2385e](https://github.com/hannasdev/mcp-writing/commit/2b2385e3eddd8fd30716d0f72dfa6346ec2d6e5f))
96
- * include chore commits in release automation ([5a28f27](https://github.com/hannasdev/mcp-writing/commit/5a28f277d1551e35c7fd717836c259badbf8a1d9))
97
- * include chore commits in release-please ([c437850](https://github.com/hannasdev/mcp-writing/commit/c4378501ee7dc29d582ce78bc1d227927e719810))
98
- * keep reusable MCP validation scripts ([65f44cb](https://github.com/hannasdev/mcp-writing/commit/65f44cb730176aa4b340c42685dccda05a6725e6))
99
- * keep reusable MCP validation scripts ([9d4181e](https://github.com/hannasdev/mcp-writing/commit/9d4181e32d6ba9a76a33659c5cfedfe9cf296619))
100
- * trigger CI for release-please branches ([09e599a](https://github.com/hannasdev/mcp-writing/commit/09e599a399e6b9e039ef2670cfa51a88518dbd56))
101
-
102
- ## [1.1.0](https://github.com/hannasdev/mcp-writing/compare/v1.0.0...v1.1.0) (2026-04-16)
103
-
104
-
105
- ### Features
106
-
107
- * reconcile Scrivener reorders via stable external IDs ([977a1c3](https://github.com/hannasdev/mcp-writing/commit/977a1c3770861b5f8b0dd9ec8bcdcb00ff39d18a))
108
- * stable Scrivener identity and reorder reconciliation ([14c165f](https://github.com/hannasdev/mcp-writing/commit/14c165fd80050c59e162fd35bd84cbd39b767cee))
88
+ - chore(main): release 1.3.5 [`#20`](https://github.com/hannasdev/mcp-writing.git
89
+ /pull/20)
90
+ - fix(ci): force OIDC-only npm publish auth [`c9f1216`](https://github.com/hannasdev/mcp-writing.git
91
+ /commit/c9f1216f2d3aa49fcc2aad5e6c4032962ad843d1)
92
+
93
+ #### [v1.3.4](https://github.com/hannasdev/mcp-writing.git
94
+ /compare/v1.3.3...v1.3.4)
95
+
96
+ > 18 April 2026
97
+
98
+ - chore(main): release 1.3.4 [`#19`](https://github.com/hannasdev/mcp-writing.git
99
+ /pull/19)
100
+ - fix(ci): use tag trigger for npm publish (matches n8n pattern) [`#18`](https://github.com/hannasdev/mcp-writing.git
101
+ /pull/18)
102
+
103
+ #### [v1.3.3](https://github.com/hannasdev/mcp-writing.git
104
+ /compare/v1.3.2...v1.3.3)
105
+
106
+ > 18 April 2026
107
+
108
+ - chore(main): release 1.3.3 [`#17`](https://github.com/hannasdev/mcp-writing.git
109
+ /pull/17)
110
+ - fix(ci): use tag trigger for npm publish (matches n8n pattern) [`6841de7`](https://github.com/hannasdev/mcp-writing.git
111
+ /commit/6841de78a90c3b4c121761d28a09b02f9d360a96)
112
+
113
+ #### [v1.3.2](https://github.com/hannasdev/mcp-writing.git
114
+ /compare/v1.3.1...v1.3.2)
115
+
116
+ > 18 April 2026
117
+
118
+ - chore(main): release 1.3.2 [`#16`](https://github.com/hannasdev/mcp-writing.git
119
+ /pull/16)
120
+ - docs(readme): add real-world scenarios; fix publish workflow yaml [`3566905`](https://github.com/hannasdev/mcp-writing.git
121
+ /commit/3566905d6f060eed5c35be29f73560bc4d74af27)
122
+ - fix(ci): publish from main release commits for npm trusted publishing [`135ab25`](https://github.com/hannasdev/mcp-writing.git
123
+ /commit/135ab254fb91ee6427a79cdecdc5b9bf55cfb4d1)
124
+
125
+ #### [v1.3.1](https://github.com/hannasdev/mcp-writing.git
126
+ /compare/v1.3.0...v1.3.1)
127
+
128
+ > 18 April 2026
129
+
130
+ - chore(main): release 1.3.1 [`#15`](https://github.com/hannasdev/mcp-writing.git
131
+ /pull/15)
132
+ - chore: generate integration fixtures at runtime and remove test-sync [`#14`](https://github.com/hannasdev/mcp-writing.git
133
+ /pull/14)
134
+ - fix(ci): set npm environment for trusted publishing [`b75fb08`](https://github.com/hannasdev/mcp-writing.git
135
+ /commit/b75fb0897dbbbd9df2d136cbb78a06218f0c0b50)
136
+
137
+ #### [v1.3.0](https://github.com/hannasdev/mcp-writing.git
138
+ /compare/v1.2.0...v1.3.0)
139
+
140
+ > 18 April 2026
141
+
142
+ - chore(main): release 1.3.0 [`#13`](https://github.com/hannasdev/mcp-writing.git
143
+ /pull/13)
144
+ - feat: formalize non-draft content and stable Scrivener imports [`#12`](https://github.com/hannasdev/mcp-writing.git
145
+ /pull/12)
146
+
147
+ #### [v1.2.0](https://github.com/hannasdev/mcp-writing.git
148
+ /compare/v1.1.1...v1.2.0)
149
+
150
+ > 17 April 2026
151
+
152
+ - chore(main): release 1.2.0 [`#11`](https://github.com/hannasdev/mcp-writing.git
153
+ /pull/11)
154
+ - feat: Phase 3 git-backed prose editing, runtime config tool, startup path logging [`f30a7c8`](https://github.com/hannasdev/mcp-writing.git
155
+ /commit/f30a7c8b5e5aaf070b0b6cfaec38479141c5f60b)
156
+
157
+ #### [v1.1.1](https://github.com/hannasdev/mcp-writing.git
158
+ /compare/v1.1.0...v1.1.1)
159
+
160
+ > 16 April 2026
161
+
162
+ - chore(main): release 1.1.1 [`#9`](https://github.com/hannasdev/mcp-writing.git
163
+ /pull/9)
164
+ - fix: use dedicated token for release-please workflow [`#10`](https://github.com/hannasdev/mcp-writing.git
165
+ /pull/10)
166
+ - chore: include chore commits in release automation [`#8`](https://github.com/hannasdev/mcp-writing.git
167
+ /pull/8)
168
+ - chore: keep reusable MCP validation scripts [`#7`](https://github.com/hannasdev/mcp-writing.git
169
+ /pull/7)
170
+ - chore: trigger CI for release-please branches [`#6`](https://github.com/hannasdev/mcp-writing.git
171
+ /pull/6)
172
+ - chore: include chore commits in release-please [`c437850`](https://github.com/hannasdev/mcp-writing.git
173
+ /commit/c4378501ee7dc29d582ce78bc1d227927e719810)
174
+ - chore: fix lint in MCP validation scripts [`2b2385e`](https://github.com/hannasdev/mcp-writing.git
175
+ /commit/2b2385e3eddd8fd30716d0f72dfa6346ec2d6e5f)
176
+ - chore: run CI on release-please branch pushes [`856063c`](https://github.com/hannasdev/mcp-writing.git
177
+ /commit/856063c85047c164f857f598520f57dffe215d4a)
178
+
179
+ #### [v1.1.0](https://github.com/hannasdev/mcp-writing.git
180
+ /compare/v1.0.0...v1.1.0)
181
+
182
+ > 16 April 2026
183
+
184
+ - chore(main): release 1.1.0 [`#5`](https://github.com/hannasdev/mcp-writing.git
185
+ /pull/5)
186
+ - feat: stable Scrivener identity and reorder reconciliation [`#4`](https://github.com/hannasdev/mcp-writing.git
187
+ /pull/4)
188
+ - chore: add ESLint, release-please, and automated npm publish [`#3`](https://github.com/hannasdev/mcp-writing.git
189
+ /pull/3)
190
+ - Publish to npm as @hanna84/mcp-writing [`#2`](https://github.com/hannasdev/mcp-writing.git
191
+ /pull/2)
192
+ - Mark package as private [`#1`](https://github.com/hannasdev/mcp-writing.git
193
+ /pull/1)
194
+ - chore: trigger CI checks for release PR [`5191fcc`](https://github.com/hannasdev/mcp-writing.git
195
+ /commit/5191fccc7c9643a7d7ac32da3a407a0e512fa287)
196
+ - Track package-lock.json; remove from gitignore [`090b0af`](https://github.com/hannasdev/mcp-writing.git
197
+ /commit/090b0af5b8e532dc88013ae46d5cd6237221cb26)
198
+ - chore: add ESLint, release-please, and automated npm publish workflow [`9e8f8d7`](https://github.com/hannasdev/mcp-writing.git
199
+ /commit/9e8f8d7d4832cb1f1f0710351f9c53cf008850bb)
200
+
201
+ #### v1.0.0
202
+
203
+ > 16 April 2026
204
+
205
+ - feat: Phase 1 scaffold — core retrieval tools, SQLite index, SSE transport [`e8bdfa0`](https://github.com/hannasdev/mcp-writing.git
206
+ /commit/e8bdfa0001696f6bb8b10f4c69917a833ad4bc4d)
207
+ - Extract db.js + sync.js; add unit + integration tests (40/40 pass) [`e129c0b`](https://github.com/hannasdev/mcp-writing.git
208
+ /commit/e129c0be6208f731f0f9405133e9f5d88f171951)
209
+ - Add thread link writes and standardize error envelopes [`4f59904`](https://github.com/hannasdev/mcp-writing.git
210
+ /commit/4f599044a85dd740cdbc3f9f884e29c1018af4a0)
package/README.md CHANGED
@@ -445,6 +445,40 @@ Unit tests use an in-memory SQLite database and temporary directories — no ser
445
445
 
446
446
  For real projects, keep your manuscript sync folder outside this tool repository and point `WRITING_SYNC_DIR` at that external path.
447
447
 
448
+ ## Release automation
449
+
450
+ This repository uses a `release-it` workflow (modeled after `n8n-nodes-bambulab`) instead of Release Please.
451
+
452
+ How it works:
453
+
454
+ 1. A PR is merged into `main`.
455
+ 2. `.github/workflows/release.yml` runs on that push.
456
+ 3. The workflow fetches tags and infers version bump type from commits since last tag:
457
+ - `BREAKING CHANGE` or `!:` -> major
458
+ - `feat:` -> minor
459
+ - everything else -> patch
460
+ 4. `release-it` creates a `Release x.y.z` commit and `vx.y.z` tag.
461
+ 5. Tag push triggers `.github/workflows/publish.yml` to publish to npm.
462
+
463
+ Required setup:
464
+
465
+ - Repository secret: `RELEASE_DEPLOY_KEY` (private SSH key for a repo deploy key with write access)
466
+ - Optional secret: `RELEASE_DEPLOY_KNOWN_HOSTS` (additional strict host keys; GitHub host key is already handled)
467
+ - Branch rules must allow the **Deploy Key** actor to bypass PR-only rule for release commit/tag push
468
+ - Repository URL in `package.json` must remain valid for npm provenance
469
+
470
+ Local dry-run (optional):
471
+
472
+ ```sh
473
+ npm run release -- --ci --dry-run
474
+ ```
475
+
476
+ Operational note:
477
+
478
+ - If a release job partially succeeds by pushing a tag before failing later, do not rerun that old workflow run.
479
+ - The workflow now fails fast when `package.json` is behind the latest tag, which indicates a stale rerun.
480
+ - In that case, trigger the next release from current `main` instead of retrying the old run.
481
+
448
482
  ## Troubleshooting
449
483
 
450
484
  ### "Module not found: sqlite" or "Database support not available"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanna84/mcp-writing",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "MCP service for AI-assisted reasoning and editing on long-form fiction projects",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -20,6 +20,7 @@
20
20
  "scripts": {
21
21
  "start": "node --experimental-sqlite index.js",
22
22
  "new:entity": "node scripts/new-world-entity.js",
23
+ "release": "release-it",
23
24
  "lint": "eslint index.js db.js sync.js metadata-lint.js scripts/",
24
25
  "lint:metadata": "node scripts/lint-metadata.mjs",
25
26
  "test:unit": "node --experimental-sqlite --test test/unit.test.mjs",
@@ -48,7 +49,9 @@
48
49
  },
49
50
  "devDependencies": {
50
51
  "@eslint/js": "^10.0.1",
52
+ "auto-changelog": "^2.5.0",
51
53
  "eslint": "^10.2.0",
52
- "globals": "^17.5.0"
54
+ "globals": "^17.5.0",
55
+ "release-it": "^20.0.0"
53
56
  }
54
57
  }