novelws 4.0.0 → 5.1.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.
Files changed (357) hide show
  1. package/CHANGELOG.md +120 -623
  2. package/README.md +82 -593
  3. package/dist/cli.js +1 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +12 -99
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/upgrade.d.ts.map +1 -1
  9. package/dist/commands/upgrade.js +17 -108
  10. package/dist/commands/upgrade.js.map +1 -1
  11. package/dist/core/config.d.ts +1 -37
  12. package/dist/core/config.d.ts.map +1 -1
  13. package/dist/core/config.js +6 -45
  14. package/dist/core/config.js.map +1 -1
  15. package/dist/core/errors.d.ts +0 -31
  16. package/dist/core/errors.d.ts.map +1 -1
  17. package/dist/core/errors.js +0 -58
  18. package/dist/core/errors.js.map +1 -1
  19. package/dist/utils/diagnostics.d.ts +2 -16
  20. package/dist/utils/diagnostics.d.ts.map +1 -1
  21. package/dist/utils/diagnostics.js +5 -72
  22. package/dist/utils/diagnostics.js.map +1 -1
  23. package/dist/utils/project.d.ts +1 -1
  24. package/dist/utils/project.d.ts.map +1 -1
  25. package/dist/utils/project.js +3 -3
  26. package/dist/utils/project.js.map +1 -1
  27. package/package.json +1 -2
  28. package/templates/commands/analyze.md +65 -265
  29. package/templates/commands/expand.md +103 -0
  30. package/templates/commands/plan.md +47 -452
  31. package/templates/commands/specify.md +43 -869
  32. package/templates/commands/write.md +49 -643
  33. package/templates/dot-claude/CLAUDE.md +45 -202
  34. package/templates/resources/anti-ai.md +16 -0
  35. package/templates/resources/style-reference.md +19 -0
  36. package/templates/tracking/character-state.json +1 -76
  37. package/templates/tracking/plot-tracker.json +3 -60
  38. package/templates/tracking/relationships.json +1 -68
  39. package/templates/tracking/timeline.json +1 -47
  40. package/dist/commands/plugin.d.ts +0 -6
  41. package/dist/commands/plugin.d.ts.map +0 -1
  42. package/dist/commands/plugin.js +0 -135
  43. package/dist/commands/plugin.js.map +0 -1
  44. package/dist/plugins/identifier.d.ts +0 -13
  45. package/dist/plugins/identifier.d.ts.map +0 -1
  46. package/dist/plugins/identifier.js +0 -72
  47. package/dist/plugins/identifier.js.map +0 -1
  48. package/dist/plugins/installers/base.d.ts +0 -27
  49. package/dist/plugins/installers/base.d.ts.map +0 -1
  50. package/dist/plugins/installers/base.js +0 -30
  51. package/dist/plugins/installers/base.js.map +0 -1
  52. package/dist/plugins/installers/github.d.ts +0 -22
  53. package/dist/plugins/installers/github.d.ts.map +0 -1
  54. package/dist/plugins/installers/github.js +0 -133
  55. package/dist/plugins/installers/github.js.map +0 -1
  56. package/dist/plugins/installers/local.d.ts +0 -16
  57. package/dist/plugins/installers/local.d.ts.map +0 -1
  58. package/dist/plugins/installers/local.js +0 -69
  59. package/dist/plugins/installers/local.js.map +0 -1
  60. package/dist/plugins/installers/npm.d.ts +0 -20
  61. package/dist/plugins/installers/npm.d.ts.map +0 -1
  62. package/dist/plugins/installers/npm.js +0 -99
  63. package/dist/plugins/installers/npm.js.map +0 -1
  64. package/dist/plugins/manager.d.ts +0 -77
  65. package/dist/plugins/manager.d.ts.map +0 -1
  66. package/dist/plugins/manager.js +0 -349
  67. package/dist/plugins/manager.js.map +0 -1
  68. package/dist/plugins/registry.d.ts +0 -48
  69. package/dist/plugins/registry.d.ts.map +0 -1
  70. package/dist/plugins/registry.js +0 -111
  71. package/dist/plugins/registry.js.map +0 -1
  72. package/dist/plugins/types.d.ts +0 -66
  73. package/dist/plugins/types.d.ts.map +0 -1
  74. package/dist/plugins/types.js +0 -2
  75. package/dist/plugins/types.js.map +0 -1
  76. package/dist/plugins/validator.d.ts +0 -19
  77. package/dist/plugins/validator.d.ts.map +0 -1
  78. package/dist/plugins/validator.js +0 -164
  79. package/dist/plugins/validator.js.map +0 -1
  80. package/dist/utils/logger.d.ts +0 -13
  81. package/dist/utils/logger.d.ts.map +0 -1
  82. package/dist/utils/logger.js +0 -48
  83. package/dist/utils/logger.js.map +0 -1
  84. package/plugins/authentic-voice/README.md +0 -31
  85. package/plugins/authentic-voice/commands/authentic-voice.md +0 -73
  86. package/plugins/authentic-voice/commands/authenticity-audit.md +0 -37
  87. package/plugins/authentic-voice/config.yaml +0 -30
  88. package/plugins/authentic-voice/experts/authentic-editor.md +0 -27
  89. package/plugins/export/README.md +0 -319
  90. package/plugins/export/commands/export.md +0 -460
  91. package/plugins/export/commands/generate-cover.md +0 -256
  92. package/plugins/export/commands/metadata.md +0 -309
  93. package/plugins/export/config.yaml +0 -47
  94. package/plugins/export/experts/publishing-expert.md +0 -171
  95. package/plugins/export/templates/epub/chapter-template.html +0 -13
  96. package/plugins/export/templates/epub/cover-template.html +0 -14
  97. package/plugins/export/templates/epub/stylesheet.css +0 -200
  98. package/plugins/export/templates/pdf/ebook-style.css +0 -137
  99. package/plugins/export/templates/pdf/print-style.css +0 -179
  100. package/plugins/export/templates/platforms/jinjiang-format.md +0 -101
  101. package/plugins/export/templates/platforms/qidian-format.md +0 -108
  102. package/plugins/export/templates/platforms/tomato-format.md +0 -95
  103. package/plugins/translate/README.md +0 -265
  104. package/plugins/translate/commands/glossary.md +0 -731
  105. package/plugins/translate/commands/translate-preview.md +0 -543
  106. package/plugins/translate/commands/translate.md +0 -649
  107. package/plugins/translate/config.yaml +0 -43
  108. package/plugins/translate/experts/literary-translator.md +0 -605
  109. package/templates/commands/character.md +0 -287
  110. package/templates/commands/checklist.md +0 -744
  111. package/templates/commands/clarify.md +0 -269
  112. package/templates/commands/constitution.md +0 -269
  113. package/templates/commands/expert.md +0 -188
  114. package/templates/commands/facts.md +0 -552
  115. package/templates/commands/guide.md +0 -900
  116. package/templates/commands/help-me.md +0 -221
  117. package/templates/commands/recap.md +0 -748
  118. package/templates/commands/relations.md +0 -385
  119. package/templates/commands/revise.md +0 -450
  120. package/templates/commands/search.md +0 -531
  121. package/templates/commands/tasks.md +0 -396
  122. package/templates/commands/timeline.md +0 -309
  123. package/templates/commands/track-init.md +0 -149
  124. package/templates/commands/track.md +0 -704
  125. package/templates/commands/volume-summary.md +0 -471
  126. package/templates/knowledge/audit-config.json +0 -26
  127. package/templates/knowledge/character-profiles.md +0 -152
  128. package/templates/knowledge/character-voices.md +0 -137
  129. package/templates/knowledge/locations.md +0 -184
  130. package/templates/knowledge/world-setting.md +0 -121
  131. package/templates/resources/character-archetypes/01-hero.md +0 -233
  132. package/templates/resources/character-archetypes/02-mentor.md +0 -177
  133. package/templates/resources/character-archetypes/03-shadow.md +0 -221
  134. package/templates/resources/character-archetypes/04-ally.md +0 -178
  135. package/templates/resources/character-archetypes/05-shapeshifter.md +0 -177
  136. package/templates/resources/character-archetypes/06-trickster.md +0 -181
  137. package/templates/resources/character-archetypes/07-threshold-guardian.md +0 -177
  138. package/templates/resources/character-archetypes/08-herald.md +0 -180
  139. package/templates/resources/character-archetypes/09-father.md +0 -249
  140. package/templates/resources/character-archetypes/10-mother.md +0 -202
  141. package/templates/resources/character-archetypes/11-child.md +0 -183
  142. package/templates/resources/character-archetypes/12-sage.md +0 -202
  143. package/templates/resources/character-archetypes/README.md +0 -60
  144. package/templates/resources/character-archetypes/application-guide.md +0 -222
  145. package/templates/resources/character-archetypes/archetype-combinations.md +0 -242
  146. package/templates/resources/character-archetypes/config.yaml +0 -28
  147. package/templates/resources/character-archetypes/examples-analysis.md +0 -223
  148. package/templates/resources/config/keyword-mappings.json +0 -226
  149. package/templates/resources/config/specification-example.md +0 -146
  150. package/templates/resources/craft/character-arc.md +0 -1153
  151. package/templates/resources/craft/dialogue.md +0 -1170
  152. package/templates/resources/craft/hook-design.md +0 -345
  153. package/templates/resources/craft/pacing.md +0 -1200
  154. package/templates/resources/craft/power-system.md +0 -254
  155. package/templates/resources/craft/scene-structure.md +0 -1136
  156. package/templates/resources/craft/show-not-tell.md +0 -1012
  157. package/templates/resources/craft/story-structures.md +0 -134
  158. package/templates/resources/craft/tension-management.md +0 -168
  159. package/templates/resources/emotional-beats/01-first-meeting.md +0 -145
  160. package/templates/resources/emotional-beats/02-bonding-moment.md +0 -226
  161. package/templates/resources/emotional-beats/03-declaration.md +0 -284
  162. package/templates/resources/emotional-beats/04-triumph.md +0 -240
  163. package/templates/resources/emotional-beats/05-reunion.md +0 -396
  164. package/templates/resources/emotional-beats/06-forgiveness.md +0 -204
  165. package/templates/resources/emotional-beats/07-betrayal.md +0 -204
  166. package/templates/resources/emotional-beats/08-loss.md +0 -214
  167. package/templates/resources/emotional-beats/09-rejection.md +0 -254
  168. package/templates/resources/emotional-beats/10-failure.md +0 -244
  169. package/templates/resources/emotional-beats/11-misunderstanding.md +0 -205
  170. package/templates/resources/emotional-beats/12-farewell.md +0 -283
  171. package/templates/resources/emotional-beats/13-revelation.md +0 -242
  172. package/templates/resources/emotional-beats/14-point-of-no-return.md +0 -215
  173. package/templates/resources/emotional-beats/15-dark-night.md +0 -244
  174. package/templates/resources/emotional-beats/16-sacrifice.md +0 -246
  175. package/templates/resources/emotional-beats/17-awakening.md +0 -246
  176. package/templates/resources/emotional-beats/18-confrontation.md +0 -217
  177. package/templates/resources/emotional-beats/19-bittersweet-goodbye.md +0 -368
  178. package/templates/resources/emotional-beats/20-moral-dilemma.md +0 -248
  179. package/templates/resources/emotional-beats/21-temptation.md +0 -240
  180. package/templates/resources/emotional-beats/22-redemption.md +0 -210
  181. package/templates/resources/emotional-beats/README.md +0 -104
  182. package/templates/resources/emotional-beats/beat-sequences.md +0 -276
  183. package/templates/resources/emotional-beats/config.yaml +0 -30
  184. package/templates/resources/emotional-beats/pacing-guide.md +0 -390
  185. package/templates/resources/genres/game-lit.md +0 -174
  186. package/templates/resources/genres/historical.md +0 -1127
  187. package/templates/resources/genres/horror.md +0 -211
  188. package/templates/resources/genres/military.md +0 -209
  189. package/templates/resources/genres/mystery.md +0 -1123
  190. package/templates/resources/genres/rebirth.md +0 -177
  191. package/templates/resources/genres/revenge.md +0 -846
  192. package/templates/resources/genres/romance.md +0 -948
  193. package/templates/resources/genres/sci-fi.md +0 -156
  194. package/templates/resources/genres/sports.md +0 -216
  195. package/templates/resources/genres/thriller.md +0 -166
  196. package/templates/resources/genres/urban.md +0 -170
  197. package/templates/resources/genres/workplace.md +0 -214
  198. package/templates/resources/genres/wuxia.md +0 -143
  199. package/templates/resources/genres/xuanhuan.md +0 -234
  200. package/templates/resources/genres/youth.md +0 -219
  201. package/templates/resources/memory/personal-voice.md +0 -113
  202. package/templates/resources/references/README.md +0 -96
  203. package/templates/resources/references/china-1920s/culture.md +0 -423
  204. package/templates/resources/references/china-1920s/daily-life.md +0 -616
  205. package/templates/resources/references/china-1920s/overview.md +0 -298
  206. package/templates/resources/references/china-1920s/society.md +0 -703
  207. package/templates/resources/references/china-1920s/warlords.md +0 -427
  208. package/templates/resources/references/cultivation-world/daily-life.md +0 -108
  209. package/templates/resources/references/cultivation-world/overview.md +0 -64
  210. package/templates/resources/references/cultivation-world/power-system.md +0 -108
  211. package/templates/resources/references/cultivation-world/sects.md +0 -104
  212. package/templates/resources/references/cultivation-world/world-setting.md +0 -108
  213. package/templates/resources/references/modern-workplace/corporate.md +0 -115
  214. package/templates/resources/references/modern-workplace/daily-life.md +0 -129
  215. package/templates/resources/references/modern-workplace/overview.md +0 -73
  216. package/templates/resources/references/modern-workplace/relationships.md +0 -107
  217. package/templates/resources/references/modern-workplace/tech-industry.md +0 -131
  218. package/templates/resources/references/tang-dynasty/culture.md +0 -135
  219. package/templates/resources/references/tang-dynasty/daily-life.md +0 -139
  220. package/templates/resources/references/tang-dynasty/overview.md +0 -76
  221. package/templates/resources/references/tang-dynasty/politics.md +0 -121
  222. package/templates/resources/references/tang-dynasty/society.md +0 -126
  223. package/templates/resources/requirements/README.md +0 -240
  224. package/templates/resources/requirements/anti-ai-v3.md +0 -46
  225. package/templates/resources/requirements/anti-ai-v4-deprecated.md +0 -442
  226. package/templates/resources/requirements/anti-ai-v5-balanced.md +0 -203
  227. package/templates/resources/requirements/concretization.md +0 -90
  228. package/templates/resources/requirements/fast-paced.md +0 -552
  229. package/templates/resources/requirements/no-poison.md +0 -60
  230. package/templates/resources/requirements/romance-angst.md +0 -102
  231. package/templates/resources/requirements/romance-sweet.md +0 -63
  232. package/templates/resources/requirements/serious-literature.md +0 -45
  233. package/templates/resources/requirements/strong-emotion.md +0 -60
  234. package/templates/resources/scripts/README.md +0 -187
  235. package/templates/resources/scripts/bash/analyze-story.sh +0 -170
  236. package/templates/resources/scripts/bash/check-analyze-stage.sh +0 -108
  237. package/templates/resources/scripts/bash/check-consistency.sh +0 -463
  238. package/templates/resources/scripts/bash/check-facts.sh +0 -214
  239. package/templates/resources/scripts/bash/check-plot.sh +0 -374
  240. package/templates/resources/scripts/bash/check-timeline.sh +0 -346
  241. package/templates/resources/scripts/bash/check-world.sh +0 -395
  242. package/templates/resources/scripts/bash/check-writing-state.sh +0 -854
  243. package/templates/resources/scripts/bash/clarify-story.sh +0 -117
  244. package/templates/resources/scripts/bash/common.sh +0 -151
  245. package/templates/resources/scripts/bash/constitution.sh +0 -114
  246. package/templates/resources/scripts/bash/generate-tasks.sh +0 -65
  247. package/templates/resources/scripts/bash/init-tracking.sh +0 -183
  248. package/templates/resources/scripts/bash/manage-relations.sh +0 -174
  249. package/templates/resources/scripts/bash/migrate-tracking.sh +0 -183
  250. package/templates/resources/scripts/bash/plan-story.sh +0 -100
  251. package/templates/resources/scripts/bash/specify-story.sh +0 -93
  252. package/templates/resources/scripts/bash/tasks-story.sh +0 -96
  253. package/templates/resources/scripts/bash/test-word-count.sh +0 -182
  254. package/templates/resources/scripts/bash/tests/bench-preload-cache.sh +0 -100
  255. package/templates/resources/scripts/bash/tests/run-all-benchmarks.sh +0 -16
  256. package/templates/resources/scripts/bash/tests/test-cache-semantics.sh +0 -199
  257. package/templates/resources/scripts/bash/tests/test-cross-platform.sh +0 -35
  258. package/templates/resources/scripts/bash/tests/test-edge-cases-bash.sh +0 -60
  259. package/templates/resources/scripts/bash/tests/test-phase1-bash.sh +0 -28
  260. package/templates/resources/scripts/bash/tests/test-preload-cache.sh +0 -123
  261. package/templates/resources/scripts/bash/tests/test-regex-precompile.sh +0 -89
  262. package/templates/resources/scripts/bash/tests/test-regression-bash.sh +0 -42
  263. package/templates/resources/scripts/bash/tests/test-task6-verification.sh +0 -200
  264. package/templates/resources/scripts/bash/text-audit.sh +0 -144
  265. package/templates/resources/scripts/bash/track-progress.sh +0 -194
  266. package/templates/resources/scripts/powershell/analyze-story.ps1 +0 -174
  267. package/templates/resources/scripts/powershell/check-analyze-stage.ps1 +0 -110
  268. package/templates/resources/scripts/powershell/check-consistency.ps1 +0 -138
  269. package/templates/resources/scripts/powershell/check-facts.ps1 +0 -195
  270. package/templates/resources/scripts/powershell/check-plot.ps1 +0 -139
  271. package/templates/resources/scripts/powershell/check-timeline.ps1 +0 -112
  272. package/templates/resources/scripts/powershell/check-writing-state.ps1 +0 -486
  273. package/templates/resources/scripts/powershell/clarify-story.ps1 +0 -107
  274. package/templates/resources/scripts/powershell/common.ps1 +0 -36
  275. package/templates/resources/scripts/powershell/constitution.ps1 +0 -145
  276. package/templates/resources/scripts/powershell/generate-tasks.ps1 +0 -70
  277. package/templates/resources/scripts/powershell/init-tracking.ps1 +0 -98
  278. package/templates/resources/scripts/powershell/manage-relations.ps1 +0 -134
  279. package/templates/resources/scripts/powershell/migrate-tracking.ps1 +0 -145
  280. package/templates/resources/scripts/powershell/plan-story.ps1 +0 -99
  281. package/templates/resources/scripts/powershell/specify-story.ps1 +0 -85
  282. package/templates/resources/scripts/powershell/tests/bench-ps-cache.ps1 +0 -80
  283. package/templates/resources/scripts/powershell/tests/test-cross-platform.ps1 +0 -27
  284. package/templates/resources/scripts/powershell/tests/test-edge-cases-ps.ps1 +0 -29
  285. package/templates/resources/scripts/powershell/tests/test-phase1-ps.ps1 +0 -28
  286. package/templates/resources/scripts/powershell/tests/test-ps-cache.ps1 +0 -73
  287. package/templates/resources/scripts/powershell/tests/test-regression-ps.ps1 +0 -40
  288. package/templates/resources/scripts/powershell/text-audit.ps1 +0 -102
  289. package/templates/resources/scripts/powershell/track-progress.ps1 +0 -105
  290. package/templates/resources/styles/README.md +0 -302
  291. package/templates/resources/styles/ancient-style.md +0 -579
  292. package/templates/resources/styles/literary.md +0 -439
  293. package/templates/resources/styles/minimal.md +0 -472
  294. package/templates/resources/styles/natural-voice.md +0 -930
  295. package/templates/resources/styles/web-novel.md +0 -525
  296. package/templates/skills/analysis/character-analysis/SKILL.md +0 -71
  297. package/templates/skills/analysis/foreshadow-analysis/SKILL.md +0 -45
  298. package/templates/skills/analysis/hook-analysis/SKILL.md +0 -111
  299. package/templates/skills/analysis/logic-analysis/SKILL.md +0 -58
  300. package/templates/skills/analysis/opening-analysis/SKILL.md +0 -59
  301. package/templates/skills/analysis/pacing-analysis/SKILL.md +0 -55
  302. package/templates/skills/analysis/power-analysis/SKILL.md +0 -148
  303. package/templates/skills/analysis/reader-analysis/SKILL.md +0 -117
  304. package/templates/skills/analysis/style-analysis/SKILL.md +0 -60
  305. package/templates/skills/analysis/voice-analysis/SKILL.md +0 -42
  306. package/templates/skills/auto-tracking/SKILL.md +0 -280
  307. package/templates/skills/genre-knowledge/fantasy/SKILL.md +0 -355
  308. package/templates/skills/genre-knowledge/mystery/SKILL.md +0 -337
  309. package/templates/skills/genre-knowledge/romance/SKILL.md +0 -228
  310. package/templates/skills/genre-knowledge/sci-fi/SKILL.md +0 -65
  311. package/templates/skills/genre-knowledge/thriller/SKILL.md +0 -95
  312. package/templates/skills/planning/volume-detail/SKILL.md +0 -219
  313. package/templates/skills/quality-assurance/consistency-checker/SKILL.md +0 -412
  314. package/templates/skills/quality-assurance/continuity-tracker/SKILL.md +0 -157
  315. package/templates/skills/quality-assurance/facts-checker/SKILL.md +0 -405
  316. package/templates/skills/quality-assurance/forgotten-elements/SKILL.md +0 -147
  317. package/templates/skills/quality-assurance/getting-started/SKILL.md +0 -224
  318. package/templates/skills/quality-assurance/hook-checker/SKILL.md +0 -164
  319. package/templates/skills/quality-assurance/hook-checker/experts/hook-analyst.md +0 -33
  320. package/templates/skills/quality-assurance/long-series-continuity/SKILL.md +0 -570
  321. package/templates/skills/quality-assurance/pacing-monitor/SKILL.md +0 -143
  322. package/templates/skills/quality-assurance/pov-validator/SKILL.md +0 -135
  323. package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +0 -583
  324. package/templates/skills/quality-assurance/requirement-detector/CONFLICT_RESOLUTION.md +0 -119
  325. package/templates/skills/quality-assurance/requirement-detector/EXAMPLES.md +0 -146
  326. package/templates/skills/quality-assurance/requirement-detector/KEYWORDS.md +0 -160
  327. package/templates/skills/quality-assurance/requirement-detector/SKILL.md +0 -149
  328. package/templates/skills/quality-assurance/setting-detector/SKILL.md +0 -611
  329. package/templates/skills/quality-assurance/style-detector/CONFLICT_RESOLUTION.md +0 -126
  330. package/templates/skills/quality-assurance/style-detector/EXAMPLES.md +0 -206
  331. package/templates/skills/quality-assurance/style-detector/KEYWORDS.md +0 -207
  332. package/templates/skills/quality-assurance/style-detector/SKILL.md +0 -264
  333. package/templates/skills/quality-assurance/voice-consistency-checker/SKILL.md +0 -103
  334. package/templates/skills/quality-assurance/voice-consistency-checker/experts/voice-analyst.md +0 -21
  335. package/templates/skills/quality-assurance/workflow-guide/SKILL.md +0 -381
  336. package/templates/skills/writing-techniques/character-arc/SKILL.md +0 -267
  337. package/templates/skills/writing-techniques/dialogue-techniques/SKILL.md +0 -366
  338. package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +0 -708
  339. package/templates/skills/writing-techniques/multi-thread-narrative/experts/thread-analyst.md +0 -226
  340. package/templates/skills/writing-techniques/pacing-control/SKILL.md +0 -480
  341. package/templates/skills/writing-techniques/reader-expectation/SKILL.md +0 -1026
  342. package/templates/skills/writing-techniques/reader-expectation/experts/expectation-analyst.md +0 -209
  343. package/templates/skills/writing-techniques/revision-polish/SKILL.md +0 -496
  344. package/templates/skills/writing-techniques/revision-polish/experts/revision-editor.md +0 -221
  345. package/templates/skills/writing-techniques/scene-structure/SKILL.md +0 -361
  346. package/templates/skills/writing-techniques/style-learning/SKILL.md +0 -436
  347. package/templates/skills/writing-techniques/writing-balance/.gitkeep +0 -0
  348. package/templates/skills/writing-techniques/writing-balance/SKILL.md +0 -460
  349. package/templates/skills/writing-techniques/writing-techniques/SKILL.md +0 -727
  350. package/templates/tracking/story-facts.json +0 -5
  351. package/templates/tracking/summary/characters-summary.json +0 -7
  352. package/templates/tracking/summary/plot-summary.json +0 -13
  353. package/templates/tracking/summary/timeline-summary.json +0 -8
  354. package/templates/tracking/summary/volume-summaries.json +0 -5
  355. package/templates/tracking/tracking-log.md +0 -110
  356. package/templates/tracking/validation-rules.json +0 -128
  357. /package/templates/resources/{memory/constitution.md → constitution.md} +0 -0
package/dist/cli.js CHANGED
@@ -5,7 +5,6 @@ import { getVersion, getVersionInfo } from './version.js';
5
5
  import { registerInitCommand } from './commands/init.js';
6
6
  import { registerCheckCommand } from './commands/check.js';
7
7
  import { registerUpgradeCommand } from './commands/upgrade.js';
8
- import { registerPluginCommands } from './commands/plugin.js';
9
8
  // 显示欢迎横幅
10
9
  function displayBanner() {
11
10
  const banner = `
@@ -28,7 +27,6 @@ program
28
27
  registerInitCommand(program);
29
28
  registerCheckCommand(program);
30
29
  registerUpgradeCommand(program);
31
- registerPluginCommands(program);
32
30
  // 自定义帮助信息
33
31
  program.on('--help', () => {
34
32
  console.log('');
@@ -37,7 +35,7 @@ program.on('--help', () => {
37
35
  console.log(' $ novelws init my-story # 创建新项目');
38
36
  console.log(' $ novelws init --here # 在当前目录初始化');
39
37
  console.log(' $ novelws check # 检查环境');
40
- console.log(' $ novelws plugin:list # 列出插件');
38
+ console.log(' $ novelws upgrade # 升级项目');
41
39
  console.log('');
42
40
  console.log(chalk.gray('更多信息: https://github.com/binlee1990/novel-writer-skills'));
43
41
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,SAAS;AACT,SAAS,aAAa;IACpB,MAAM,MAAM,GAAG;;;;;CAKhB,CAAC;IACA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,aAAa,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACrE,OAAO,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC;KAC/C,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEtC,QAAQ;AACR,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,UAAU;AACV,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,UAAU;AACV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,oBAAoB;AACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,SAAS;AACT,SAAS,aAAa;IACpB,MAAM,MAAM,GAAG;;;;;CAKhB,CAAC;IACA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,aAAa,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACrE,OAAO,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC;KAC/C,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEtC,QAAQ;AACR,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,UAAU;AACV,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,UAAU;AACV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,oBAAoB;AACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAgBtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4N1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAetD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6H1D"}
@@ -7,8 +7,7 @@ import fs from 'fs-extra';
7
7
  import ora from 'ora';
8
8
  import { execSync } from 'child_process';
9
9
  import { getVersion } from '../version.js';
10
- import { PluginManager } from '../plugins/manager.js';
11
- import { getPackageRoot, getTemplateSourcePaths, getProjectPaths, DEFAULT_GITIGNORE, } from '../core/config.js';
10
+ import { getTemplateSourcePaths, getProjectPaths, DEFAULT_GITIGNORE, } from '../core/config.js';
12
11
  import { injectModelToCommands } from '../utils/project.js';
13
12
  export function registerInitCommand(program) {
14
13
  program
@@ -16,18 +15,11 @@ export function registerInitCommand(program) {
16
15
  .argument('[name]', '小说项目名称')
17
16
  .option('--here', '在当前目录初始化')
18
17
  .option('--model <name>', '指定命令使用的 AI 模型')
19
- .option('--plugins <names>', '预装插件,逗号分隔')
20
- .option('--scale <size>', '项目规模预设 (large: 启用分片存储)')
21
- .option('--with-mcp', '启用 MCP + SQLite 数据中枢(隐含 --scale large)')
22
18
  .option('--no-git', '跳过 Git 初始化')
23
19
  .description('初始化一个新的小说项目')
24
20
  .action(async (name, options) => {
25
21
  const spinner = ora('正在初始化小说项目...').start();
26
22
  try {
27
- // --with-mcp 隐含 --scale large
28
- if (options.withMcp && !options.scale) {
29
- options.scale = 'large';
30
- }
31
23
  // 确定项目路径
32
24
  let projectPath;
33
25
  if (options.here) {
@@ -51,12 +43,7 @@ export function registerInitCommand(program) {
51
43
  const baseDirs = [
52
44
  paths.claude,
53
45
  paths.commands,
54
- paths.skills,
55
- paths.cache,
56
46
  paths.resources,
57
- path.join(paths.resources, 'config'),
58
- paths.resourcesMemory,
59
- paths.resourcesScripts,
60
47
  paths.tracking,
61
48
  paths.stories,
62
49
  ];
@@ -67,11 +54,8 @@ export function registerInitCommand(program) {
67
54
  const config = {
68
55
  name,
69
56
  type: 'novel',
70
- ai: 'claude',
71
- created: new Date().toISOString(),
72
57
  version: getVersion(),
73
- ...(options.scale && { scale: options.scale }),
74
- ...(options.withMcp && { mcp: true }),
58
+ created: new Date().toISOString(),
75
59
  };
76
60
  await fs.writeJson(paths.resourcesConfig, config, { spaces: 2 });
77
61
  // 从 novel-writer-skills 包复制模板文件
@@ -79,17 +63,11 @@ export function registerInitCommand(program) {
79
63
  // 复制命令文件
80
64
  if (await fs.pathExists(templates.commands)) {
81
65
  await fs.copy(templates.commands, paths.commands);
82
- // 如果指定了 --model,注入到命令文件 frontmatter
83
66
  if (options.model) {
84
67
  await injectModelToCommands(paths.commands, options.model);
85
68
  }
86
69
  spinner.text = '已安装 Slash Commands...';
87
70
  }
88
- // 复制 Skills 文件
89
- if (await fs.pathExists(templates.skills)) {
90
- await fs.copy(templates.skills, paths.skills);
91
- spinner.text = '已安装 Agent Skills...';
92
- }
93
71
  // 复制 CLAUDE.md 到 .claude/
94
72
  if (await fs.pathExists(templates.dotClaude)) {
95
73
  const claudeMdSrc = path.join(templates.dotClaude, 'CLAUDE.md');
@@ -98,71 +76,14 @@ export function registerInitCommand(program) {
98
76
  spinner.text = '已安装 CLAUDE.md 核心规范...';
99
77
  }
100
78
  }
101
- // 复制 resources/ 模板(一次性:memory, config, scripts, craft, genres, styles 等)
79
+ // 复制 resources/ 模板(constitution.md, style-reference.md, anti-ai.md)
102
80
  if (await fs.pathExists(templates.resources)) {
103
81
  await fs.copy(templates.resources, paths.resources);
104
82
  spinner.text = '已安装资源文件...';
105
83
  }
106
- // 复制追踪文件模板(非 large 模式排除 summary 子目录)
84
+ // 复制 tracking/ 模板(4 JSON 文件)
107
85
  if (await fs.pathExists(templates.tracking)) {
108
- const summaryDir = path.normalize(templates.trackingSummary);
109
- if (options.scale === 'large') {
110
- await fs.copy(templates.tracking, paths.tracking);
111
- }
112
- else {
113
- await fs.copy(templates.tracking, paths.tracking, {
114
- filter: (src) => !path.normalize(src).startsWith(summaryDir),
115
- });
116
- }
117
- }
118
- // 大型项目:创建分片目录结构
119
- if (options.scale === 'large') {
120
- await fs.ensureDir(paths.trackingSummary);
121
- await fs.ensureDir(path.join(paths.trackingVolumes, 'vol-01'));
122
- // 复制 tracking 模板到 vol-01 作为初始卷
123
- const trackingFiles = ['character-state.json', 'plot-tracker.json', 'timeline.json', 'relationships.json'];
124
- for (const file of trackingFiles) {
125
- const src = path.join(templates.tracking, file);
126
- const dest = path.join(paths.trackingVolumes, 'vol-01', file);
127
- if (await fs.pathExists(src)) {
128
- await fs.copy(src, dest);
129
- }
130
- }
131
- spinner.text = '已创建大型项目分片结构...';
132
- }
133
- // 复制知识库模板(项目特定)→ resources/knowledge/
134
- if (await fs.pathExists(templates.knowledge)) {
135
- await fs.copy(templates.knowledge, paths.resourcesKnowledge);
136
- }
137
- // MCP 配置生成
138
- if (options.withMcp) {
139
- const mcpConfig = {
140
- mcpServers: {
141
- novelws: {
142
- command: 'npx',
143
- args: ['novelws-mcp', '.'],
144
- env: {},
145
- },
146
- },
147
- };
148
- await fs.writeJson(paths.mcpServers, mcpConfig, { spaces: 2 });
149
- spinner.text = '已生成 MCP 服务器配置...';
150
- }
151
- // 如果指定了 --plugins,安装插件
152
- if (options.plugins) {
153
- spinner.text = '安装插件...';
154
- const pluginNames = options.plugins.split(',').map((p) => p.trim());
155
- const pluginManager = new PluginManager(projectPath);
156
- const packageRoot = getPackageRoot();
157
- for (const pluginName of pluginNames) {
158
- const builtinPluginPath = path.join(packageRoot, 'plugins', pluginName);
159
- if (await fs.pathExists(builtinPluginPath)) {
160
- await pluginManager.installPlugin(pluginName, builtinPluginPath);
161
- }
162
- else {
163
- console.log(chalk.yellow(`\n警告: 插件 "${pluginName}" 未找到`));
164
- }
165
- }
86
+ await fs.copy(templates.tracking, paths.tracking);
166
87
  }
167
88
  // Git 初始化
168
89
  if (options.git !== false) {
@@ -185,21 +106,13 @@ export function registerInitCommand(program) {
185
106
  }
186
107
  console.log(` 2. ${chalk.white('在 Claude Code 中打开项目')}`);
187
108
  console.log(` 3. 使用以下斜杠命令开始创作:`);
188
- console.log('\n' + chalk.yellow(' 📝 七步方法论:'));
189
- console.log(` ${chalk.cyan('/constitution')} - 创建创作宪法,定义核心原则`);
190
- console.log(` ${chalk.cyan('/specify')} - 定义故事规格,明确要创造什么`);
191
- console.log(` ${chalk.cyan('/clarify')} - 澄清关键决策点,明确模糊之处`);
192
- console.log(` ${chalk.cyan('/plan')} - 制定技术方案,决定如何创作`);
193
- console.log(` ${chalk.cyan('/tasks')} - 分解执行任务,生成可执行清单`);
194
- console.log(` ${chalk.cyan('/write')} - AI 辅助写作章节内容`);
195
- console.log(` ${chalk.cyan('/analyze')} - 综合验证分析,确保质量一致`);
196
- console.log('\n' + chalk.yellow(' 📊 追踪管理命令:'));
197
- console.log(` ${chalk.cyan('/track-init')} - 初始化追踪系统`);
198
- console.log(` ${chalk.cyan('/track')} - 综合追踪更新`);
199
- console.log(` ${chalk.cyan('/checklist')} - 质量检查清单`);
200
- console.log(` ${chalk.cyan('/timeline')} - 管理故事时间线`);
201
- console.log('\n' + chalk.gray('Agent Skills 会自动激活,无需手动调用'));
202
- console.log(chalk.dim('提示: 斜杠命令在 Claude Code 内部使用,不是在终端中'));
109
+ console.log('\n' + chalk.yellow(' 📝 五命令流水线:'));
110
+ console.log(` ${chalk.cyan('/specify')} - 定义故事设定、角色、世界观`);
111
+ console.log(` ${chalk.cyan('/plan')} - 生成卷级大纲`);
112
+ console.log(` ${chalk.cyan('/write')} - 逐章生成剧情概要`);
113
+ console.log(` ${chalk.cyan('/expand')} - 将概要扩写为正文`);
114
+ console.log(` ${chalk.cyan('/analyze')} - 质量检查`);
115
+ console.log('\n' + chalk.dim('提示: 斜杠命令在 Claude Code 内部使用,不是在终端中'));
203
116
  }
204
117
  catch (error) {
205
118
  spinner.fail(chalk.red('项目初始化失败'));
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAYtD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6L7D"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAYtD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyF7D"}
@@ -12,8 +12,6 @@ export function registerUpgradeCommand(program) {
12
12
  program
13
13
  .command('upgrade')
14
14
  .option('--commands', '更新命令文件')
15
- .option('--skills', '更新 Skills 文件')
16
- .option('--scripts', '更新脚本文件')
17
15
  .option('--model <name>', '指定命令使用的 AI 模型')
18
16
  .option('--all', '更新所有内容')
19
17
  .option('-y, --yes', '跳过确认提示')
@@ -23,29 +21,17 @@ export function registerUpgradeCommand(program) {
23
21
  const paths = getProjectPaths(projectPath);
24
22
  const templates = getTemplateSourcePaths();
25
23
  try {
26
- // 检测项目:先查新路径,再查旧路径判断是否需要迁移
27
- const isNewStructure = await fs.pathExists(paths.resourcesConfig);
28
- const isLegacy = !isNewStructure && await fs.pathExists(paths._legacy_specify);
29
- if (!isNewStructure && !isLegacy) {
24
+ const isProject = await fs.pathExists(paths.resourcesConfig);
25
+ if (!isProject) {
30
26
  console.log(chalk.red('❌ 当前目录不是 novel-writer-skills 项目'));
31
27
  process.exit(1);
32
28
  }
33
- const configPath = isNewStructure
34
- ? paths.resourcesConfig
35
- : path.join(paths._legacy_specify, 'config.json');
36
- const config = await fs.readJson(configPath);
29
+ const config = await fs.readJson(paths.resourcesConfig);
37
30
  const projectVersion = config.version || '未知';
38
31
  console.log(chalk.cyan('\n📦 NovelWrite 项目升级\n'));
39
32
  console.log(chalk.gray(`当前版本: ${projectVersion}`));
40
33
  console.log(chalk.gray(`目标版本: ${getVersion()}\n`));
41
- let updateCommands = options.all || options.commands || false;
42
- let updateSkills = options.all || options.skills || false;
43
- let updateScripts = options.all || options.scripts || false;
44
- if (!updateCommands && !updateSkills && !updateScripts) {
45
- updateCommands = true;
46
- updateSkills = true;
47
- updateScripts = true;
48
- }
34
+ const updateCommands = options.all || options.commands || true;
49
35
  if (!options.yes) {
50
36
  const inquirer = (await import('inquirer')).default;
51
37
  const answers = await inquirer.prompt([
@@ -71,103 +57,26 @@ export function registerUpgradeCommand(program) {
71
57
  }
72
58
  }
73
59
  }
74
- if (updateSkills) {
75
- spinner.text = '更新 Agent Skills...';
76
- if (await fs.pathExists(templates.skills)) {
77
- await fs.copy(templates.skills, paths.skills, { overwrite: true });
78
- }
79
- }
80
- if (updateScripts) {
81
- spinner.text = '更新脚本文件...';
82
- if (await fs.pathExists(templates.resources)) {
83
- const scriptsSource = path.join(templates.resources, 'scripts');
84
- if (await fs.pathExists(scriptsSource)) {
85
- await fs.ensureDir(paths.resourcesScripts);
86
- await fs.copy(scriptsSource, paths.resourcesScripts, { overwrite: true });
87
- }
60
+ // 更新 CLAUDE.md
61
+ spinner.text = '更新 CLAUDE.md...';
62
+ if (await fs.pathExists(templates.dotClaude)) {
63
+ const claudeMdSrc = path.join(templates.dotClaude, 'CLAUDE.md');
64
+ if (await fs.pathExists(claudeMdSrc)) {
65
+ await fs.copy(claudeMdSrc, paths.claudeMd, { overwrite: true });
88
66
  }
89
67
  }
90
- // v3→v4 迁移
91
- if (isLegacy) {
92
- spinner.text = '检测到 v3 项目结构,执行迁移...';
93
- // 创建新目录
94
- await fs.ensureDir(paths.resources);
95
- await fs.ensureDir(paths.tracking);
96
- await fs.ensureDir(paths.cache);
97
- await fs.ensureDir(path.join(paths.resources, 'config'));
98
- // 移动文件(按设计文档映射表)
99
- const migrations = [
100
- { from: path.join(paths._legacy_specify, 'memory'), to: paths.resourcesMemory },
101
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'craft'), to: path.join(paths.resources, 'craft') },
102
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'genres'), to: path.join(paths.resources, 'genres') },
103
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'styles'), to: path.join(paths.resources, 'styles') },
104
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'requirements'), to: path.join(paths.resources, 'requirements') },
105
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'emotional-beats'), to: path.join(paths.resources, 'emotional-beats') },
106
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'character-archetypes'), to: path.join(paths.resources, 'character-archetypes') },
107
- { from: path.join(paths._legacy_specify, 'templates', 'knowledge-base', 'references'), to: path.join(paths.resources, 'references') },
108
- { from: path.join(paths._legacy_specify, 'templates', 'config'), to: path.join(paths.resources, 'config') },
109
- { from: path.join(paths._legacy_specify, 'scripts'), to: paths.resourcesScripts },
110
- { from: path.join(paths._legacy_spec, 'tracking'), to: paths.tracking },
111
- { from: path.join(paths._legacy_spec, 'knowledge'), to: paths.resourcesKnowledge },
112
- { from: path.join(paths._legacy_spec, 'presets'), to: path.join(paths.resources, 'presets') },
113
- ];
114
- for (const { from, to } of migrations) {
115
- if (await fs.pathExists(from)) {
116
- await fs.move(from, to, { overwrite: true });
117
- }
118
- }
119
- // 迁移 config.json
120
- const oldConfig = path.join(paths._legacy_specify, 'config.json');
121
- if (await fs.pathExists(oldConfig)) {
122
- await fs.ensureDir(path.dirname(paths.resourcesConfig));
123
- await fs.move(oldConfig, paths.resourcesConfig, { overwrite: true });
124
- }
125
- // 清理空旧目录
126
- for (const dir of [paths._legacy_specify, paths._legacy_spec]) {
127
- if (await fs.pathExists(dir)) {
128
- await fs.remove(dir);
129
- }
130
- }
131
- // 清除缓存
132
- if (await fs.pathExists(paths.cache)) {
133
- await fs.remove(paths.cache);
134
- await fs.ensureDir(paths.cache);
135
- }
136
- spinner.text = 'v3→v4 迁移完成...';
68
+ // 更新 resources
69
+ spinner.text = '更新资源文件...';
70
+ if (await fs.pathExists(templates.resources)) {
71
+ await fs.copy(templates.resources, paths.resources, { overwrite: true });
137
72
  }
138
73
  config.version = getVersion();
139
74
  await fs.writeJson(paths.resourcesConfig, config, { spaces: 2 });
140
- // 检测 tracking 文件大小,提示迁移
141
- const MIGRATION_THRESHOLD = 50 * 1024; // 50KB
142
- const trackingFileNames = [
143
- 'character-state.json',
144
- 'plot-tracker.json',
145
- 'timeline.json',
146
- 'relationships.json',
147
- ];
148
- let hasLargeFiles = false;
149
- for (const file of trackingFileNames) {
150
- const filePath = path.join(paths.tracking, file);
151
- if (await fs.pathExists(filePath)) {
152
- const stat = await fs.stat(filePath);
153
- if (stat.size > MIGRATION_THRESHOLD) {
154
- hasLargeFiles = true;
155
- break;
156
- }
157
- }
158
- }
159
75
  spinner.succeed(chalk.green('升级完成!\n'));
160
- if (hasLargeFiles) {
161
- console.log(chalk.yellow('⚠️ 检测到 tracking 文件较大,建议执行分片迁移以提升性能'));
162
- console.log(chalk.gray(' 运行 /track --migrate 将数据按卷分片存储\n'));
163
- }
164
76
  console.log(chalk.cyan('✨ 升级内容:'));
165
- if (updateCommands)
166
- console.log(' • Slash Commands 已更新');
167
- if (updateSkills)
168
- console.log(' • Agent Skills 已更新');
169
- if (updateScripts)
170
- console.log(' • 脚本文件已更新');
77
+ console.log(' • Slash Commands 已更新');
78
+ console.log(' • CLAUDE.md 已更新');
79
+ console.log(' • 资源文件已更新');
171
80
  console.log(` • 版本号: ${projectVersion} → ${getVersion()}`);
172
81
  }
173
82
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -7,32 +7,16 @@
7
7
  /** 目录名常量 */
8
8
  export declare const DIRS: {
9
9
  readonly CLAUDE: ".claude";
10
- readonly SPECIFY: ".specify";
11
10
  readonly STORIES: "stories";
12
- readonly SPEC: "spec";
13
11
  readonly COMMANDS: "commands";
14
- readonly SKILLS: "skills";
15
- readonly KNOWLEDGE_BASE: "knowledge-base";
16
- readonly PLUGINS: "plugins";
17
- readonly MEMORY: "memory";
18
12
  readonly TEMPLATES: "templates";
19
13
  readonly TRACKING: "tracking";
20
- readonly KNOWLEDGE: "knowledge";
21
- readonly SCRIPTS: "scripts";
22
- readonly SUMMARY: "summary";
23
- readonly VOLUMES: "volumes";
24
14
  readonly RESOURCES: "resources";
25
- readonly CACHE: ".cache";
26
15
  };
27
16
  /** 文件名常量 */
28
17
  export declare const FILES: {
29
18
  readonly CONFIG: "config.json";
30
- readonly PLUGIN_REGISTRY: "plugins.json";
31
- readonly PLUGIN_CONFIG: "config.yaml";
32
19
  readonly GITIGNORE: ".gitignore";
33
- readonly MCP_SERVERS: "mcp-servers.json";
34
- readonly RESOURCE_DIGEST: "resource-digest.json";
35
- readonly WRITE_CONTEXT: "write-context.json";
36
20
  };
37
21
  /** 默认 .gitignore 内容 */
38
22
  export declare const DEFAULT_GITIGNORE = "# \u4E34\u65F6\u6587\u4EF6\n*.tmp\n*.swp\n.DS_Store\n\n# \u7F16\u8F91\u5668\u914D\u7F6E\n.vscode/\n.idea/\n\n# AI \u7F13\u5B58\n.ai-cache/\n\n# \u8282\u70B9\u6A21\u5757\nnode_modules/\n";
@@ -43,8 +27,6 @@ export declare const DEFAULT_GITIGNORE = "# \u4E34\u65F6\u6587\u4EF6\n*.tmp\n*.s
43
27
  export declare function getPackageRoot(): string;
44
28
  /** 获取模板目录路径 */
45
29
  export declare function getTemplatesDir(): string;
46
- /** 获取内置插件目录路径 */
47
- export declare function getBuiltinPluginsDir(): string;
48
30
  /**
49
31
  * 获取项目内各目录的路径
50
32
  */
@@ -53,37 +35,19 @@ export declare function getProjectPaths(projectRoot: string): {
53
35
  claude: string;
54
36
  claudeMd: string;
55
37
  commands: string;
56
- skills: string;
57
- mcpServers: string;
58
- cache: string;
59
- resourceDigest: string;
60
- writeContext: string;
61
38
  resources: string;
62
39
  resourcesConfig: string;
63
- resourcesMemory: string;
64
- resourcesScripts: string;
65
- resourcesKnowledge: string;
66
- pluginRegistry: string;
67
40
  tracking: string;
68
- trackingSummary: string;
69
- trackingVolumes: string;
70
- trackingDb: string;
71
41
  stories: string;
72
- plugins: string;
73
- _legacy_specify: string;
74
- _legacy_spec: string;
75
42
  };
76
43
  /**
77
- * 获取模板源路径映射(用于 init 和 upgrade
44
+ * 获取模板源路径映射(用于 init)
78
45
  */
79
46
  export declare function getTemplateSourcePaths(): {
80
47
  commands: string;
81
- skills: string;
82
48
  dotClaude: string;
83
49
  resources: string;
84
50
  tracking: string;
85
- knowledge: string;
86
- trackingSummary: string;
87
51
  all: string;
88
52
  };
89
53
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH,YAAY;AACZ,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;CAkBP,CAAC;AAEX,YAAY;AACZ,eAAO,MAAM,KAAK;;;;;;;;CAQR,CAAC;AAEX,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,8LAc7B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,eAAe;AACf,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,iBAAiB;AACjB,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;EAmClD;AAED;;GAEG;AACH,wBAAgB,sBAAsB;;;;;;;;;EAYrC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH,YAAY;AACZ,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAEX,YAAY;AACZ,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,8LAc7B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,eAAe;AACf,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM;;;;;;;;;EAelD;AAED;;GAEG;AACH,wBAAgB,sBAAsB;;;;;;EASrC"}
@@ -46,32 +46,16 @@ const _packageRoot = findPackageRoot(getCurrentDir());
46
46
  /** 目录名常量 */
47
47
  export const DIRS = {
48
48
  CLAUDE: '.claude',
49
- SPECIFY: '.specify',
50
49
  STORIES: 'stories',
51
- SPEC: 'spec',
52
50
  COMMANDS: 'commands',
53
- SKILLS: 'skills',
54
- KNOWLEDGE_BASE: 'knowledge-base',
55
- PLUGINS: 'plugins',
56
- MEMORY: 'memory',
57
51
  TEMPLATES: 'templates',
58
52
  TRACKING: 'tracking',
59
- KNOWLEDGE: 'knowledge',
60
- SCRIPTS: 'scripts',
61
- SUMMARY: 'summary',
62
- VOLUMES: 'volumes',
63
53
  RESOURCES: 'resources',
64
- CACHE: '.cache',
65
54
  };
66
55
  /** 文件名常量 */
67
56
  export const FILES = {
68
57
  CONFIG: 'config.json',
69
- PLUGIN_REGISTRY: 'plugins.json',
70
- PLUGIN_CONFIG: 'config.yaml',
71
58
  GITIGNORE: '.gitignore',
72
- MCP_SERVERS: 'mcp-servers.json',
73
- RESOURCE_DIGEST: 'resource-digest.json',
74
- WRITE_CONTEXT: 'write-context.json',
75
59
  };
76
60
  /** 默认 .gitignore 内容 */
77
61
  export const DEFAULT_GITIGNORE = `# 临时文件
@@ -100,58 +84,35 @@ export function getPackageRoot() {
100
84
  export function getTemplatesDir() {
101
85
  return path.join(getPackageRoot(), DIRS.TEMPLATES);
102
86
  }
103
- /** 获取内置插件目录路径 */
104
- export function getBuiltinPluginsDir() {
105
- return path.join(getPackageRoot(), DIRS.PLUGINS);
106
- }
107
87
  /**
108
88
  * 获取项目内各目录的路径
109
89
  */
110
90
  export function getProjectPaths(projectRoot) {
111
91
  return {
112
92
  root: projectRoot,
113
- // .claude/ 区域
93
+ // .claude/
114
94
  claude: path.join(projectRoot, DIRS.CLAUDE),
115
95
  claudeMd: path.join(projectRoot, DIRS.CLAUDE, 'CLAUDE.md'),
116
96
  commands: path.join(projectRoot, DIRS.CLAUDE, DIRS.COMMANDS),
117
- skills: path.join(projectRoot, DIRS.CLAUDE, DIRS.SKILLS),
118
- mcpServers: path.join(projectRoot, DIRS.CLAUDE, FILES.MCP_SERVERS),
119
- cache: path.join(projectRoot, DIRS.CLAUDE, DIRS.CACHE),
120
- resourceDigest: path.join(projectRoot, DIRS.CLAUDE, DIRS.CACHE, FILES.RESOURCE_DIGEST),
121
- writeContext: path.join(projectRoot, DIRS.CLAUDE, DIRS.CACHE, FILES.WRITE_CONTEXT),
122
- // resources/ 区域
97
+ // resources/
123
98
  resources: path.join(projectRoot, DIRS.RESOURCES),
124
- resourcesConfig: path.join(projectRoot, DIRS.RESOURCES, 'config', FILES.CONFIG),
125
- resourcesMemory: path.join(projectRoot, DIRS.RESOURCES, DIRS.MEMORY),
126
- resourcesScripts: path.join(projectRoot, DIRS.RESOURCES, DIRS.SCRIPTS),
127
- resourcesKnowledge: path.join(projectRoot, DIRS.RESOURCES, DIRS.KNOWLEDGE),
128
- pluginRegistry: path.join(projectRoot, DIRS.RESOURCES, 'config', FILES.PLUGIN_REGISTRY),
129
- // tracking/ 区域(顶层)
99
+ resourcesConfig: path.join(projectRoot, DIRS.RESOURCES, FILES.CONFIG),
100
+ // tracking/
130
101
  tracking: path.join(projectRoot, DIRS.TRACKING),
131
- trackingSummary: path.join(projectRoot, DIRS.TRACKING, DIRS.SUMMARY),
132
- trackingVolumes: path.join(projectRoot, DIRS.TRACKING, DIRS.VOLUMES),
133
- trackingDb: path.join(projectRoot, DIRS.TRACKING, 'novel-tracking.db'),
134
- // 不变
102
+ // stories/
135
103
  stories: path.join(projectRoot, DIRS.STORIES),
136
- plugins: path.join(projectRoot, DIRS.PLUGINS),
137
- // 旧路径(保留用于 upgrade 迁移检测)
138
- _legacy_specify: path.join(projectRoot, '.specify'),
139
- _legacy_spec: path.join(projectRoot, 'spec'),
140
104
  };
141
105
  }
142
106
  /**
143
- * 获取模板源路径映射(用于 init 和 upgrade
107
+ * 获取模板源路径映射(用于 init)
144
108
  */
145
109
  export function getTemplateSourcePaths() {
146
110
  const templatesDir = getTemplatesDir();
147
111
  return {
148
112
  commands: path.join(templatesDir, DIRS.COMMANDS),
149
- skills: path.join(templatesDir, DIRS.SKILLS),
150
113
  dotClaude: path.join(templatesDir, 'dot-claude'),
151
114
  resources: path.join(templatesDir, DIRS.RESOURCES),
152
115
  tracking: path.join(templatesDir, DIRS.TRACKING),
153
- knowledge: path.join(templatesDir, DIRS.KNOWLEDGE),
154
- trackingSummary: path.join(templatesDir, DIRS.TRACKING, DIRS.SUMMARY),
155
116
  all: templatesDir,
156
117
  };
157
118
  }