@hanna84/mcp-writing 1.4.0 → 1.4.1
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 +84 -62
- package/README.md +27 -0
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,108 +1,130 @@
|
|
|
1
|
-
|
|
1
|
+
### Changelog
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
7
|
+
#### [v1.4.1](https://github.com/hannasdev/mcp-writing/compare/v1.4.0...v1.4.1)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
- fix: correct release increment regex quoting on main [`#32`](https://github.com/hannasdev/mcp-writing/pull/32)
|
|
10
|
+
- fix: support legacy release token secret name [`#31`](https://github.com/hannasdev/mcp-writing/pull/31)
|
|
11
|
+
- chore: migrate release automation from Release Please to release-it [`#30`](https://github.com/hannasdev/mcp-writing/pull/30)
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
#### [v1.4.0](https://github.com/hannasdev/mcp-writing/compare/v1.3.8...v1.4.0)
|
|
11
14
|
|
|
15
|
+
> 18 April 2026
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
- chore(main): release 1.4.0 [`#29`](https://github.com/hannasdev/mcp-writing/pull/29)
|
|
18
|
+
- docs: streamline README for first-time onboarding [`#28`](https://github.com/hannasdev/mcp-writing/pull/28)
|
|
19
|
+
- docs: streamline README for first-time onboarding [`#27`](https://github.com/hannasdev/mcp-writing/pull/27)
|
|
20
|
+
- docs: streamline README for first-time onboarding [`#26`](https://github.com/hannasdev/mcp-writing/pull/26)
|
|
21
|
+
- feat: add runtime write-access diagnostics for onboarding [`434c453`](https://github.com/hannasdev/mcp-writing/commit/434c45323b7662312cff8cc24e2c8ee2c0fd8745)
|
|
14
22
|
|
|
15
|
-
|
|
23
|
+
#### [v1.3.8](https://github.com/hannasdev/mcp-writing/compare/v1.3.7...v1.3.8)
|
|
16
24
|
|
|
17
|
-
|
|
25
|
+
> 18 April 2026
|
|
18
26
|
|
|
27
|
+
- chore(main): release 1.3.8 [`#25`](https://github.com/hannasdev/mcp-writing/pull/25)
|
|
28
|
+
- chore: enable auto-merge for Release Please version PRs [`#24`](https://github.com/hannasdev/mcp-writing/pull/24)
|
|
19
29
|
|
|
20
|
-
|
|
30
|
+
#### [v1.3.7](https://github.com/hannasdev/mcp-writing/compare/v1.3.6...v1.3.7)
|
|
21
31
|
|
|
22
|
-
|
|
32
|
+
> 18 April 2026
|
|
23
33
|
|
|
24
|
-
|
|
34
|
+
- chore(main): release 1.3.7 [`#22`](https://github.com/hannasdev/mcp-writing/pull/22)
|
|
35
|
+
- docs: add prerequisites, setup verification, and troubleshooting guide [`#23`](https://github.com/hannasdev/mcp-writing/pull/23)
|
|
36
|
+
- chore(ci): remove npm whoami diagnostic step [`65435e9`](https://github.com/hannasdev/mcp-writing/commit/65435e9c8cfa829ceb6937904250c46afc45b54c)
|
|
25
37
|
|
|
38
|
+
#### [v1.3.6](https://github.com/hannasdev/mcp-writing/compare/v1.3.5...v1.3.6)
|
|
26
39
|
|
|
27
|
-
|
|
40
|
+
> 18 April 2026
|
|
28
41
|
|
|
29
|
-
|
|
42
|
+
- chore(main): release 1.3.6 [`#21`](https://github.com/hannasdev/mcp-writing/pull/21)
|
|
43
|
+
- fix(ci): add npm whoami diagnostic step [`9d6b13e`](https://github.com/hannasdev/mcp-writing/commit/9d6b13e924e802df25099b42a178a772153e66c3)
|
|
44
|
+
- fix: add repository url for npm provenance [`50c2d21`](https://github.com/hannasdev/mcp-writing/commit/50c2d216776cb3117e67b3ff1cc65f1192fb0955)
|
|
45
|
+
- fix(ci): restore npm trusted publishing auth config [`f043368`](https://github.com/hannasdev/mcp-writing/commit/f0433681e984e34d1c38725f2d85dc3d14031626)
|
|
30
46
|
|
|
31
|
-
|
|
47
|
+
#### [v1.3.5](https://github.com/hannasdev/mcp-writing/compare/v1.3.4...v1.3.5)
|
|
32
48
|
|
|
49
|
+
> 18 April 2026
|
|
33
50
|
|
|
34
|
-
|
|
51
|
+
- chore(main): release 1.3.5 [`#20`](https://github.com/hannasdev/mcp-writing/pull/20)
|
|
52
|
+
- fix(ci): force OIDC-only npm publish auth [`c9f1216`](https://github.com/hannasdev/mcp-writing/commit/c9f1216f2d3aa49fcc2aad5e6c4032962ad843d1)
|
|
35
53
|
|
|
36
|
-
|
|
54
|
+
#### [v1.3.4](https://github.com/hannasdev/mcp-writing/compare/v1.3.3...v1.3.4)
|
|
37
55
|
|
|
38
|
-
|
|
56
|
+
> 18 April 2026
|
|
39
57
|
|
|
58
|
+
- chore(main): release 1.3.4 [`#19`](https://github.com/hannasdev/mcp-writing/pull/19)
|
|
59
|
+
- fix(ci): use tag trigger for npm publish (matches n8n pattern) [`#18`](https://github.com/hannasdev/mcp-writing/pull/18)
|
|
40
60
|
|
|
41
|
-
|
|
61
|
+
#### [v1.3.3](https://github.com/hannasdev/mcp-writing/compare/v1.3.2...v1.3.3)
|
|
42
62
|
|
|
43
|
-
|
|
63
|
+
> 18 April 2026
|
|
44
64
|
|
|
45
|
-
|
|
65
|
+
- chore(main): release 1.3.3 [`#17`](https://github.com/hannasdev/mcp-writing/pull/17)
|
|
66
|
+
- fix(ci): use tag trigger for npm publish (matches n8n pattern) [`6841de7`](https://github.com/hannasdev/mcp-writing/commit/6841de78a90c3b4c121761d28a09b02f9d360a96)
|
|
46
67
|
|
|
68
|
+
#### [v1.3.2](https://github.com/hannasdev/mcp-writing/compare/v1.3.1...v1.3.2)
|
|
47
69
|
|
|
48
|
-
|
|
70
|
+
> 18 April 2026
|
|
49
71
|
|
|
50
|
-
|
|
72
|
+
- chore(main): release 1.3.2 [`#16`](https://github.com/hannasdev/mcp-writing/pull/16)
|
|
73
|
+
- docs(readme): add real-world scenarios; fix publish workflow yaml [`3566905`](https://github.com/hannasdev/mcp-writing/commit/3566905d6f060eed5c35be29f73560bc4d74af27)
|
|
74
|
+
- fix(ci): publish from main release commits for npm trusted publishing [`135ab25`](https://github.com/hannasdev/mcp-writing/commit/135ab254fb91ee6427a79cdecdc5b9bf55cfb4d1)
|
|
51
75
|
|
|
52
|
-
|
|
76
|
+
#### [v1.3.1](https://github.com/hannasdev/mcp-writing/compare/v1.3.0...v1.3.1)
|
|
53
77
|
|
|
78
|
+
> 18 April 2026
|
|
54
79
|
|
|
55
|
-
|
|
80
|
+
- chore(main): release 1.3.1 [`#15`](https://github.com/hannasdev/mcp-writing/pull/15)
|
|
81
|
+
- chore: generate integration fixtures at runtime and remove test-sync [`#14`](https://github.com/hannasdev/mcp-writing/pull/14)
|
|
82
|
+
- fix(ci): set npm environment for trusted publishing [`b75fb08`](https://github.com/hannasdev/mcp-writing/commit/b75fb0897dbbbd9df2d136cbb78a06218f0c0b50)
|
|
56
83
|
|
|
57
|
-
|
|
84
|
+
#### [v1.3.0](https://github.com/hannasdev/mcp-writing/compare/v1.2.0...v1.3.0)
|
|
58
85
|
|
|
59
|
-
|
|
86
|
+
> 18 April 2026
|
|
60
87
|
|
|
88
|
+
- chore(main): release 1.3.0 [`#13`](https://github.com/hannasdev/mcp-writing/pull/13)
|
|
89
|
+
- feat: formalize non-draft content and stable Scrivener imports [`#12`](https://github.com/hannasdev/mcp-writing/pull/12)
|
|
61
90
|
|
|
62
|
-
|
|
91
|
+
#### [v1.2.0](https://github.com/hannasdev/mcp-writing/compare/v1.1.1...v1.2.0)
|
|
63
92
|
|
|
64
|
-
|
|
93
|
+
> 17 April 2026
|
|
65
94
|
|
|
95
|
+
- chore(main): release 1.2.0 [`#11`](https://github.com/hannasdev/mcp-writing/pull/11)
|
|
96
|
+
- feat: Phase 3 git-backed prose editing, runtime config tool, startup path logging [`f30a7c8`](https://github.com/hannasdev/mcp-writing/commit/f30a7c8b5e5aaf070b0b6cfaec38479141c5f60b)
|
|
66
97
|
|
|
67
|
-
|
|
98
|
+
#### [v1.1.1](https://github.com/hannasdev/mcp-writing/compare/v1.1.0...v1.1.1)
|
|
68
99
|
|
|
69
|
-
|
|
100
|
+
> 16 April 2026
|
|
70
101
|
|
|
71
|
-
|
|
102
|
+
- chore(main): release 1.1.1 [`#9`](https://github.com/hannasdev/mcp-writing/pull/9)
|
|
103
|
+
- fix: use dedicated token for release-please workflow [`#10`](https://github.com/hannasdev/mcp-writing/pull/10)
|
|
104
|
+
- chore: include chore commits in release automation [`#8`](https://github.com/hannasdev/mcp-writing/pull/8)
|
|
105
|
+
- chore: keep reusable MCP validation scripts [`#7`](https://github.com/hannasdev/mcp-writing/pull/7)
|
|
106
|
+
- chore: trigger CI for release-please branches [`#6`](https://github.com/hannasdev/mcp-writing/pull/6)
|
|
107
|
+
- chore: include chore commits in release-please [`c437850`](https://github.com/hannasdev/mcp-writing/commit/c4378501ee7dc29d582ce78bc1d227927e719810)
|
|
108
|
+
- chore: fix lint in MCP validation scripts [`2b2385e`](https://github.com/hannasdev/mcp-writing/commit/2b2385e3eddd8fd30716d0f72dfa6346ec2d6e5f)
|
|
109
|
+
- chore: run CI on release-please branch pushes [`856063c`](https://github.com/hannasdev/mcp-writing/commit/856063c85047c164f857f598520f57dffe215d4a)
|
|
72
110
|
|
|
111
|
+
#### [v1.1.0](https://github.com/hannasdev/mcp-writing/compare/v1.0.0...v1.1.0)
|
|
73
112
|
|
|
74
|
-
|
|
113
|
+
> 16 April 2026
|
|
75
114
|
|
|
76
|
-
|
|
115
|
+
- chore(main): release 1.1.0 [`#5`](https://github.com/hannasdev/mcp-writing/pull/5)
|
|
116
|
+
- feat: stable Scrivener identity and reorder reconciliation [`#4`](https://github.com/hannasdev/mcp-writing/pull/4)
|
|
117
|
+
- chore: add ESLint, release-please, and automated npm publish [`#3`](https://github.com/hannasdev/mcp-writing/pull/3)
|
|
118
|
+
- Publish to npm as @hanna84/mcp-writing [`#2`](https://github.com/hannasdev/mcp-writing/pull/2)
|
|
119
|
+
- Mark package as private [`#1`](https://github.com/hannasdev/mcp-writing/pull/1)
|
|
120
|
+
- chore: trigger CI checks for release PR [`5191fcc`](https://github.com/hannasdev/mcp-writing/commit/5191fccc7c9643a7d7ac32da3a407a0e512fa287)
|
|
121
|
+
- Track package-lock.json; remove from gitignore [`090b0af`](https://github.com/hannasdev/mcp-writing/commit/090b0af5b8e532dc88013ae46d5cd6237221cb26)
|
|
122
|
+
- chore: add ESLint, release-please, and automated npm publish workflow [`9e8f8d7`](https://github.com/hannasdev/mcp-writing/commit/9e8f8d7d4832cb1f1f0710351f9c53cf008850bb)
|
|
77
123
|
|
|
78
|
-
|
|
124
|
+
#### v1.0.0
|
|
79
125
|
|
|
126
|
+
> 16 April 2026
|
|
80
127
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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))
|
|
128
|
+
- feat: Phase 1 scaffold — core retrieval tools, SQLite index, SSE transport [`e8bdfa0`](https://github.com/hannasdev/mcp-writing/commit/e8bdfa0001696f6bb8b10f4c69917a833ad4bc4d)
|
|
129
|
+
- Extract db.js + sync.js; add unit + integration tests (40/40 pass) [`e129c0b`](https://github.com/hannasdev/mcp-writing/commit/e129c0be6208f731f0f9405133e9f5d88f171951)
|
|
130
|
+
- Add thread link writes and standardize error envelopes [`4f59904`](https://github.com/hannasdev/mcp-writing/commit/4f599044a85dd740cdbc3f9f884e29c1018af4a0)
|
package/README.md
CHANGED
|
@@ -445,6 +445,33 @@ 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 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_TOKEN` (PAT with repository write access)
|
|
466
|
+
- Branch rules must allow this actor to push release commit/tag (for PR-only protection, configure a bypass actor for the token owner)
|
|
467
|
+
- Repository URL in `package.json` must remain valid for npm provenance
|
|
468
|
+
|
|
469
|
+
Local dry-run (optional):
|
|
470
|
+
|
|
471
|
+
```sh
|
|
472
|
+
npm run release -- --ci --dry-run
|
|
473
|
+
```
|
|
474
|
+
|
|
448
475
|
## Troubleshooting
|
|
449
476
|
|
|
450
477
|
### "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.
|
|
3
|
+
"version": "1.4.1",
|
|
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
|
}
|