novelws 3.1.0 → 4.0.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 (229) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +47 -49
  3. package/dist/commands/init.d.ts.map +1 -1
  4. package/dist/commands/init.js +35 -33
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/commands/upgrade.d.ts.map +1 -1
  7. package/dist/commands/upgrade.js +63 -6
  8. package/dist/commands/upgrade.js.map +1 -1
  9. package/dist/core/config.d.ts +22 -15
  10. package/dist/core/config.d.ts.map +1 -1
  11. package/dist/core/config.js +28 -16
  12. package/dist/core/config.js.map +1 -1
  13. package/dist/utils/diagnostics.d.ts.map +1 -1
  14. package/dist/utils/diagnostics.js +6 -5
  15. package/dist/utils/diagnostics.js.map +1 -1
  16. package/package.json +1 -1
  17. package/templates/commands/analyze.md +10 -10
  18. package/templates/commands/character.md +10 -10
  19. package/templates/commands/checklist.md +27 -27
  20. package/templates/commands/clarify.md +2 -2
  21. package/templates/commands/constitution.md +8 -8
  22. package/templates/commands/expert.md +3 -3
  23. package/templates/commands/facts.md +9 -9
  24. package/templates/commands/guide.md +25 -25
  25. package/templates/commands/help-me.md +2 -2
  26. package/templates/commands/plan.md +26 -26
  27. package/templates/commands/recap.md +16 -16
  28. package/templates/commands/relations.md +13 -13
  29. package/templates/commands/revise.md +15 -15
  30. package/templates/commands/search.md +10 -10
  31. package/templates/commands/specify.md +4 -4
  32. package/templates/commands/tasks.md +9 -9
  33. package/templates/commands/timeline.md +13 -13
  34. package/templates/commands/track-init.md +8 -8
  35. package/templates/commands/track.md +22 -22
  36. package/templates/commands/volume-summary.md +6 -6
  37. package/templates/commands/write.md +125 -38
  38. package/templates/dot-claude/CLAUDE.md +5 -5
  39. package/templates/{config → resources/config}/keyword-mappings.json +19 -19
  40. package/templates/{scripts → resources/scripts}/README.md +8 -8
  41. package/templates/{scripts → resources/scripts}/bash/analyze-story.sh +1 -1
  42. package/templates/{scripts → resources/scripts}/bash/check-consistency.sh +7 -7
  43. package/templates/{scripts → resources/scripts}/bash/check-facts.sh +1 -1
  44. package/templates/{scripts → resources/scripts}/bash/check-plot.sh +2 -2
  45. package/templates/{scripts → resources/scripts}/bash/check-timeline.sh +3 -3
  46. package/templates/{scripts → resources/scripts}/bash/check-world.sh +5 -5
  47. package/templates/{scripts → resources/scripts}/bash/check-writing-state.sh +26 -26
  48. package/templates/{scripts → resources/scripts}/bash/common.sh +3 -3
  49. package/templates/{scripts → resources/scripts}/bash/constitution.sh +1 -1
  50. package/templates/{scripts → resources/scripts}/bash/init-tracking.sh +13 -13
  51. package/templates/{scripts → resources/scripts}/bash/manage-relations.sh +10 -10
  52. package/templates/{scripts → resources/scripts}/bash/migrate-tracking.sh +1 -1
  53. package/templates/{scripts → resources/scripts}/bash/plan-story.sh +2 -2
  54. package/templates/{scripts → resources/scripts}/bash/specify-story.sh +1 -1
  55. package/templates/{scripts → resources/scripts}/bash/tasks-story.sh +2 -2
  56. package/templates/{scripts → resources/scripts}/bash/tests/bench-preload-cache.sh +3 -3
  57. package/templates/{scripts → resources/scripts}/bash/tests/test-cross-platform.sh +1 -1
  58. package/templates/{scripts → resources/scripts}/bash/tests/test-preload-cache.sh +1 -1
  59. package/templates/{scripts → resources/scripts}/bash/tests/test-regex-precompile.sh +4 -4
  60. package/templates/{scripts → resources/scripts}/bash/text-audit.sh +3 -3
  61. package/templates/{scripts → resources/scripts}/bash/track-progress.sh +5 -5
  62. package/templates/{scripts → resources/scripts}/powershell/analyze-story.ps1 +1 -1
  63. package/templates/{scripts → resources/scripts}/powershell/check-consistency.ps1 +8 -8
  64. package/templates/{scripts → resources/scripts}/powershell/check-plot.ps1 +2 -2
  65. package/templates/{scripts → resources/scripts}/powershell/check-timeline.ps1 +2 -2
  66. package/templates/{scripts → resources/scripts}/powershell/check-writing-state.ps1 +31 -31
  67. package/templates/{scripts → resources/scripts}/powershell/common.ps1 +2 -2
  68. package/templates/{scripts → resources/scripts}/powershell/constitution.ps1 +1 -1
  69. package/templates/{scripts → resources/scripts}/powershell/init-tracking.ps1 +5 -5
  70. package/templates/{scripts → resources/scripts}/powershell/manage-relations.ps1 +6 -6
  71. package/templates/{scripts → resources/scripts}/powershell/migrate-tracking.ps1 +1 -1
  72. package/templates/{scripts → resources/scripts}/powershell/plan-story.ps1 +2 -2
  73. package/templates/{scripts → resources/scripts}/powershell/specify-story.ps1 +1 -1
  74. package/templates/{scripts → resources/scripts}/powershell/tests/bench-ps-cache.ps1 +10 -10
  75. package/templates/{scripts → resources/scripts}/powershell/tests/test-ps-cache.ps1 +4 -4
  76. package/templates/{scripts → resources/scripts}/powershell/text-audit.ps1 +2 -2
  77. package/templates/{scripts → resources/scripts}/powershell/track-progress.ps1 +2 -2
  78. package/templates/skills/analysis/character-analysis/SKILL.md +1 -1
  79. package/templates/skills/analysis/foreshadow-analysis/SKILL.md +1 -1
  80. package/templates/skills/analysis/hook-analysis/SKILL.md +2 -2
  81. package/templates/skills/analysis/logic-analysis/SKILL.md +2 -2
  82. package/templates/skills/analysis/opening-analysis/SKILL.md +1 -1
  83. package/templates/skills/analysis/pacing-analysis/SKILL.md +1 -1
  84. package/templates/skills/analysis/power-analysis/SKILL.md +3 -3
  85. package/templates/skills/analysis/reader-analysis/SKILL.md +1 -1
  86. package/templates/skills/analysis/style-analysis/SKILL.md +1 -1
  87. package/templates/skills/analysis/voice-analysis/SKILL.md +1 -1
  88. package/templates/skills/auto-tracking/SKILL.md +1 -1
  89. package/templates/skills/quality-assurance/consistency-checker/SKILL.md +1 -1
  90. package/templates/skills/quality-assurance/facts-checker/SKILL.md +2 -2
  91. package/templates/skills/quality-assurance/hook-checker/SKILL.md +2 -2
  92. package/templates/skills/quality-assurance/long-series-continuity/SKILL.md +7 -7
  93. package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +22 -22
  94. package/templates/skills/quality-assurance/setting-detector/SKILL.md +15 -15
  95. package/templates/skills/quality-assurance/voice-consistency-checker/SKILL.md +1 -1
  96. package/templates/skills/writing-techniques/character-arc/SKILL.md +1 -1
  97. package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +1 -1
  98. package/templates/skills/writing-techniques/reader-expectation/SKILL.md +1 -1
  99. package/templates/skills/writing-techniques/revision-polish/SKILL.md +1 -1
  100. package/templates/skills/writing-techniques/style-learning/SKILL.md +2 -2
  101. package/templates/skills/writing-techniques/writing-balance/SKILL.md +1 -1
  102. package/templates/knowledge-base/README.md +0 -285
  103. /package/templates/{knowledge-base → resources}/character-archetypes/01-hero.md +0 -0
  104. /package/templates/{knowledge-base → resources}/character-archetypes/02-mentor.md +0 -0
  105. /package/templates/{knowledge-base → resources}/character-archetypes/03-shadow.md +0 -0
  106. /package/templates/{knowledge-base → resources}/character-archetypes/04-ally.md +0 -0
  107. /package/templates/{knowledge-base → resources}/character-archetypes/05-shapeshifter.md +0 -0
  108. /package/templates/{knowledge-base → resources}/character-archetypes/06-trickster.md +0 -0
  109. /package/templates/{knowledge-base → resources}/character-archetypes/07-threshold-guardian.md +0 -0
  110. /package/templates/{knowledge-base → resources}/character-archetypes/08-herald.md +0 -0
  111. /package/templates/{knowledge-base → resources}/character-archetypes/09-father.md +0 -0
  112. /package/templates/{knowledge-base → resources}/character-archetypes/10-mother.md +0 -0
  113. /package/templates/{knowledge-base → resources}/character-archetypes/11-child.md +0 -0
  114. /package/templates/{knowledge-base → resources}/character-archetypes/12-sage.md +0 -0
  115. /package/templates/{knowledge-base → resources}/character-archetypes/README.md +0 -0
  116. /package/templates/{knowledge-base → resources}/character-archetypes/application-guide.md +0 -0
  117. /package/templates/{knowledge-base → resources}/character-archetypes/archetype-combinations.md +0 -0
  118. /package/templates/{knowledge-base → resources}/character-archetypes/config.yaml +0 -0
  119. /package/templates/{knowledge-base → resources}/character-archetypes/examples-analysis.md +0 -0
  120. /package/templates/{specification-example.md → resources/config/specification-example.md} +0 -0
  121. /package/templates/{knowledge-base → resources}/craft/character-arc.md +0 -0
  122. /package/templates/{knowledge-base → resources}/craft/dialogue.md +0 -0
  123. /package/templates/{knowledge-base → resources}/craft/hook-design.md +0 -0
  124. /package/templates/{knowledge-base → resources}/craft/pacing.md +0 -0
  125. /package/templates/{knowledge-base → resources}/craft/power-system.md +0 -0
  126. /package/templates/{knowledge-base → resources}/craft/scene-structure.md +0 -0
  127. /package/templates/{knowledge-base → resources}/craft/show-not-tell.md +0 -0
  128. /package/templates/{knowledge-base → resources}/craft/story-structures.md +0 -0
  129. /package/templates/{knowledge-base → resources}/craft/tension-management.md +0 -0
  130. /package/templates/{knowledge-base → resources}/emotional-beats/01-first-meeting.md +0 -0
  131. /package/templates/{knowledge-base → resources}/emotional-beats/02-bonding-moment.md +0 -0
  132. /package/templates/{knowledge-base → resources}/emotional-beats/03-declaration.md +0 -0
  133. /package/templates/{knowledge-base → resources}/emotional-beats/04-triumph.md +0 -0
  134. /package/templates/{knowledge-base → resources}/emotional-beats/05-reunion.md +0 -0
  135. /package/templates/{knowledge-base → resources}/emotional-beats/06-forgiveness.md +0 -0
  136. /package/templates/{knowledge-base → resources}/emotional-beats/07-betrayal.md +0 -0
  137. /package/templates/{knowledge-base → resources}/emotional-beats/08-loss.md +0 -0
  138. /package/templates/{knowledge-base → resources}/emotional-beats/09-rejection.md +0 -0
  139. /package/templates/{knowledge-base → resources}/emotional-beats/10-failure.md +0 -0
  140. /package/templates/{knowledge-base → resources}/emotional-beats/11-misunderstanding.md +0 -0
  141. /package/templates/{knowledge-base → resources}/emotional-beats/12-farewell.md +0 -0
  142. /package/templates/{knowledge-base → resources}/emotional-beats/13-revelation.md +0 -0
  143. /package/templates/{knowledge-base → resources}/emotional-beats/14-point-of-no-return.md +0 -0
  144. /package/templates/{knowledge-base → resources}/emotional-beats/15-dark-night.md +0 -0
  145. /package/templates/{knowledge-base → resources}/emotional-beats/16-sacrifice.md +0 -0
  146. /package/templates/{knowledge-base → resources}/emotional-beats/17-awakening.md +0 -0
  147. /package/templates/{knowledge-base → resources}/emotional-beats/18-confrontation.md +0 -0
  148. /package/templates/{knowledge-base → resources}/emotional-beats/19-bittersweet-goodbye.md +0 -0
  149. /package/templates/{knowledge-base → resources}/emotional-beats/20-moral-dilemma.md +0 -0
  150. /package/templates/{knowledge-base → resources}/emotional-beats/21-temptation.md +0 -0
  151. /package/templates/{knowledge-base → resources}/emotional-beats/22-redemption.md +0 -0
  152. /package/templates/{knowledge-base → resources}/emotional-beats/README.md +0 -0
  153. /package/templates/{knowledge-base → resources}/emotional-beats/beat-sequences.md +0 -0
  154. /package/templates/{knowledge-base → resources}/emotional-beats/config.yaml +0 -0
  155. /package/templates/{knowledge-base → resources}/emotional-beats/pacing-guide.md +0 -0
  156. /package/templates/{knowledge-base → resources}/genres/game-lit.md +0 -0
  157. /package/templates/{knowledge-base → resources}/genres/historical.md +0 -0
  158. /package/templates/{knowledge-base → resources}/genres/horror.md +0 -0
  159. /package/templates/{knowledge-base → resources}/genres/military.md +0 -0
  160. /package/templates/{knowledge-base → resources}/genres/mystery.md +0 -0
  161. /package/templates/{knowledge-base → resources}/genres/rebirth.md +0 -0
  162. /package/templates/{knowledge-base → resources}/genres/revenge.md +0 -0
  163. /package/templates/{knowledge-base → resources}/genres/romance.md +0 -0
  164. /package/templates/{knowledge-base → resources}/genres/sci-fi.md +0 -0
  165. /package/templates/{knowledge-base → resources}/genres/sports.md +0 -0
  166. /package/templates/{knowledge-base → resources}/genres/thriller.md +0 -0
  167. /package/templates/{knowledge-base → resources}/genres/urban.md +0 -0
  168. /package/templates/{knowledge-base → resources}/genres/workplace.md +0 -0
  169. /package/templates/{knowledge-base → resources}/genres/wuxia.md +0 -0
  170. /package/templates/{knowledge-base → resources}/genres/xuanhuan.md +0 -0
  171. /package/templates/{knowledge-base → resources}/genres/youth.md +0 -0
  172. /package/templates/{memory → resources/memory}/constitution.md +0 -0
  173. /package/templates/{memory → resources/memory}/personal-voice.md +0 -0
  174. /package/templates/{knowledge-base → resources}/references/README.md +0 -0
  175. /package/templates/{knowledge-base → resources}/references/china-1920s/culture.md +0 -0
  176. /package/templates/{knowledge-base → resources}/references/china-1920s/daily-life.md +0 -0
  177. /package/templates/{knowledge-base → resources}/references/china-1920s/overview.md +0 -0
  178. /package/templates/{knowledge-base → resources}/references/china-1920s/society.md +0 -0
  179. /package/templates/{knowledge-base → resources}/references/china-1920s/warlords.md +0 -0
  180. /package/templates/{knowledge-base → resources}/references/cultivation-world/daily-life.md +0 -0
  181. /package/templates/{knowledge-base → resources}/references/cultivation-world/overview.md +0 -0
  182. /package/templates/{knowledge-base → resources}/references/cultivation-world/power-system.md +0 -0
  183. /package/templates/{knowledge-base → resources}/references/cultivation-world/sects.md +0 -0
  184. /package/templates/{knowledge-base → resources}/references/cultivation-world/world-setting.md +0 -0
  185. /package/templates/{knowledge-base → resources}/references/modern-workplace/corporate.md +0 -0
  186. /package/templates/{knowledge-base → resources}/references/modern-workplace/daily-life.md +0 -0
  187. /package/templates/{knowledge-base → resources}/references/modern-workplace/overview.md +0 -0
  188. /package/templates/{knowledge-base → resources}/references/modern-workplace/relationships.md +0 -0
  189. /package/templates/{knowledge-base → resources}/references/modern-workplace/tech-industry.md +0 -0
  190. /package/templates/{knowledge-base → resources}/references/tang-dynasty/culture.md +0 -0
  191. /package/templates/{knowledge-base → resources}/references/tang-dynasty/daily-life.md +0 -0
  192. /package/templates/{knowledge-base → resources}/references/tang-dynasty/overview.md +0 -0
  193. /package/templates/{knowledge-base → resources}/references/tang-dynasty/politics.md +0 -0
  194. /package/templates/{knowledge-base → resources}/references/tang-dynasty/society.md +0 -0
  195. /package/templates/{knowledge-base → resources}/requirements/README.md +0 -0
  196. /package/templates/{knowledge-base → resources}/requirements/anti-ai-v3.md +0 -0
  197. /package/templates/{knowledge-base → resources}/requirements/anti-ai-v4-deprecated.md +0 -0
  198. /package/templates/{knowledge-base → resources}/requirements/anti-ai-v5-balanced.md +0 -0
  199. /package/templates/{knowledge-base → resources}/requirements/concretization.md +0 -0
  200. /package/templates/{knowledge-base → resources}/requirements/fast-paced.md +0 -0
  201. /package/templates/{knowledge-base → resources}/requirements/no-poison.md +0 -0
  202. /package/templates/{knowledge-base → resources}/requirements/romance-angst.md +0 -0
  203. /package/templates/{knowledge-base → resources}/requirements/romance-sweet.md +0 -0
  204. /package/templates/{knowledge-base → resources}/requirements/serious-literature.md +0 -0
  205. /package/templates/{knowledge-base → resources}/requirements/strong-emotion.md +0 -0
  206. /package/templates/{scripts → resources/scripts}/bash/check-analyze-stage.sh +0 -0
  207. /package/templates/{scripts → resources/scripts}/bash/clarify-story.sh +0 -0
  208. /package/templates/{scripts → resources/scripts}/bash/generate-tasks.sh +0 -0
  209. /package/templates/{scripts → resources/scripts}/bash/test-word-count.sh +0 -0
  210. /package/templates/{scripts → resources/scripts}/bash/tests/run-all-benchmarks.sh +0 -0
  211. /package/templates/{scripts → resources/scripts}/bash/tests/test-cache-semantics.sh +0 -0
  212. /package/templates/{scripts → resources/scripts}/bash/tests/test-edge-cases-bash.sh +0 -0
  213. /package/templates/{scripts → resources/scripts}/bash/tests/test-phase1-bash.sh +0 -0
  214. /package/templates/{scripts → resources/scripts}/bash/tests/test-regression-bash.sh +0 -0
  215. /package/templates/{scripts → resources/scripts}/bash/tests/test-task6-verification.sh +0 -0
  216. /package/templates/{scripts → resources/scripts}/powershell/check-analyze-stage.ps1 +0 -0
  217. /package/templates/{scripts → resources/scripts}/powershell/check-facts.ps1 +0 -0
  218. /package/templates/{scripts → resources/scripts}/powershell/clarify-story.ps1 +0 -0
  219. /package/templates/{scripts → resources/scripts}/powershell/generate-tasks.ps1 +0 -0
  220. /package/templates/{scripts → resources/scripts}/powershell/tests/test-cross-platform.ps1 +0 -0
  221. /package/templates/{scripts → resources/scripts}/powershell/tests/test-edge-cases-ps.ps1 +0 -0
  222. /package/templates/{scripts → resources/scripts}/powershell/tests/test-phase1-ps.ps1 +0 -0
  223. /package/templates/{scripts → resources/scripts}/powershell/tests/test-regression-ps.ps1 +0 -0
  224. /package/templates/{knowledge-base → resources}/styles/README.md +0 -0
  225. /package/templates/{knowledge-base → resources}/styles/ancient-style.md +0 -0
  226. /package/templates/{knowledge-base → resources}/styles/literary.md +0 -0
  227. /package/templates/{knowledge-base → resources}/styles/minimal.md +0 -0
  228. /package/templates/{knowledge-base → resources}/styles/natural-voice.md +0 -0
  229. /package/templates/{knowledge-base → resources}/styles/web-novel.md +0 -0
@@ -60,6 +60,8 @@ export const DIRS = {
60
60
  SCRIPTS: 'scripts',
61
61
  SUMMARY: 'summary',
62
62
  VOLUMES: 'volumes',
63
+ RESOURCES: 'resources',
64
+ CACHE: '.cache',
63
65
  };
64
66
  /** 文件名常量 */
65
67
  export const FILES = {
@@ -67,6 +69,9 @@ export const FILES = {
67
69
  PLUGIN_REGISTRY: 'plugins.json',
68
70
  PLUGIN_CONFIG: 'config.yaml',
69
71
  GITIGNORE: '.gitignore',
72
+ MCP_SERVERS: 'mcp-servers.json',
73
+ RESOURCE_DIGEST: 'resource-digest.json',
74
+ WRITE_CONTEXT: 'write-context.json',
70
75
  };
71
76
  /** 默认 .gitignore 内容 */
72
77
  export const DEFAULT_GITIGNORE = `# 临时文件
@@ -105,24 +110,33 @@ export function getBuiltinPluginsDir() {
105
110
  export function getProjectPaths(projectRoot) {
106
111
  return {
107
112
  root: projectRoot,
108
- specify: path.join(projectRoot, DIRS.SPECIFY),
109
- specifyConfig: path.join(projectRoot, DIRS.SPECIFY, FILES.CONFIG),
110
- specifyMemory: path.join(projectRoot, DIRS.SPECIFY, DIRS.MEMORY),
111
- specifyTemplates: path.join(projectRoot, DIRS.SPECIFY, DIRS.TEMPLATES),
112
- pluginRegistry: path.join(projectRoot, DIRS.SPECIFY, FILES.PLUGIN_REGISTRY),
113
+ // .claude/ 区域
113
114
  claude: path.join(projectRoot, DIRS.CLAUDE),
114
115
  claudeMd: path.join(projectRoot, DIRS.CLAUDE, 'CLAUDE.md'),
115
116
  commands: path.join(projectRoot, DIRS.CLAUDE, DIRS.COMMANDS),
116
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/ 区域
123
+ 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/ 区域(顶层)
130
+ 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
+ // 不变
117
135
  stories: path.join(projectRoot, DIRS.STORIES),
118
- spec: path.join(projectRoot, DIRS.SPEC),
119
- tracking: path.join(projectRoot, DIRS.SPEC, DIRS.TRACKING),
120
- knowledge: path.join(projectRoot, DIRS.SPEC, DIRS.KNOWLEDGE),
121
136
  plugins: path.join(projectRoot, DIRS.PLUGINS),
122
- knowledgeBase: path.join(projectRoot, DIRS.SPECIFY, DIRS.TEMPLATES, DIRS.KNOWLEDGE_BASE),
123
- specifyScripts: path.join(projectRoot, DIRS.SPECIFY, DIRS.SCRIPTS),
124
- trackingSummary: path.join(projectRoot, DIRS.SPEC, DIRS.TRACKING, DIRS.SUMMARY),
125
- trackingVolumes: path.join(projectRoot, DIRS.SPEC, DIRS.TRACKING, DIRS.VOLUMES),
137
+ // 旧路径(保留用于 upgrade 迁移检测)
138
+ _legacy_specify: path.join(projectRoot, '.specify'),
139
+ _legacy_spec: path.join(projectRoot, 'spec'),
126
140
  };
127
141
  }
128
142
  /**
@@ -133,12 +147,10 @@ export function getTemplateSourcePaths() {
133
147
  return {
134
148
  commands: path.join(templatesDir, DIRS.COMMANDS),
135
149
  skills: path.join(templatesDir, DIRS.SKILLS),
136
- memory: path.join(templatesDir, DIRS.MEMORY),
150
+ dotClaude: path.join(templatesDir, 'dot-claude'),
151
+ resources: path.join(templatesDir, DIRS.RESOURCES),
137
152
  tracking: path.join(templatesDir, DIRS.TRACKING),
138
153
  knowledge: path.join(templatesDir, DIRS.KNOWLEDGE),
139
- knowledgeBase: path.join(templatesDir, DIRS.KNOWLEDGE_BASE),
140
- scripts: path.join(templatesDir, DIRS.SCRIPTS),
141
- dotClaude: path.join(templatesDir, 'dot-claude'),
142
154
  trackingSummary: path.join(templatesDir, DIRS.TRACKING, DIRS.SUMMARY),
143
155
  all: templatesDir,
144
156
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/utils/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,aAAa;AACb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,WAAW;AACX,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,YAAY;AACZ,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,WAAW;AACX,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAExE,qBAAa,kBAAkB;IAC7B;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBrF;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BtE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsCnE;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBjE;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2B/D;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCnE;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBlE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAuB9C,OAAO,CAAC,eAAe;CAWxB"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/utils/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,aAAa;AACb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,WAAW;AACX,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,YAAY;AACZ,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,WAAW;AACX,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAExE,qBAAa,kBAAkB;IAC7B;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBrF;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BtE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsCnE;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBjE;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA4B/D;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCnE;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBlE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAuB9C,OAAO,CAAC,eAAe;CAWxB"}
@@ -35,7 +35,7 @@ export class ProjectDiagnostics {
35
35
  async checkProjectStructure(projectRoot) {
36
36
  const paths = getProjectPaths(projectRoot);
37
37
  const requiredDirs = [
38
- { path: paths.specify, label: '.specify' },
38
+ { path: paths.resources, label: 'resources' },
39
39
  { path: paths.claude, label: '.claude' },
40
40
  { path: paths.commands, label: '.claude/commands' },
41
41
  ];
@@ -64,7 +64,7 @@ export class ProjectDiagnostics {
64
64
  return {
65
65
  name: 'Tracking 文件',
66
66
  passed: false,
67
- message: 'spec/tracking 目录不存在',
67
+ message: 'tracking 目录不存在',
68
68
  fix: '/track --sync',
69
69
  };
70
70
  }
@@ -113,8 +113,9 @@ export class ProjectDiagnostics {
113
113
  * 检查 4: MCP 服务器状态
114
114
  */
115
115
  async checkMCPStatus(projectRoot) {
116
- const dbPath = path.join(projectRoot, 'novel-tracking.db');
117
- const mcpConfigPath = path.join(projectRoot, '.claude', 'mcp.json');
116
+ const paths = getProjectPaths(projectRoot);
117
+ const dbPath = paths.trackingDb;
118
+ const mcpConfigPath = paths.mcpServers;
118
119
  const hasDb = await fs.pathExists(dbPath);
119
120
  const hasMcpConfig = await fs.pathExists(mcpConfigPath);
120
121
  if (!hasMcpConfig) {
@@ -176,7 +177,7 @@ export class ProjectDiagnostics {
176
177
  */
177
178
  async detectProjectMode(projectRoot) {
178
179
  const paths = getProjectPaths(projectRoot);
179
- const dbPath = path.join(projectRoot, 'novel-tracking.db');
180
+ const dbPath = paths.trackingDb;
180
181
  if (await fs.pathExists(dbPath)) {
181
182
  return 'mcp';
182
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/utils/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/utils/diagnostics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "novelws",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "type": "module",
5
5
  "description": "Claude Code 专用的 AI 小说创作工具 - 深度集成 Slash Commands 和 Agent Skills",
6
6
  "keywords": [
@@ -4,8 +4,8 @@ argument-hint: [--type=framework|content] [--range ch-XXX-YYY | --volume vol-XX
4
4
  recommended-model: claude-sonnet-4-5-20250929 # 分析任务,质量与速度平衡;深度分析可用 opus
5
5
  allowed-tools: Bash(find:*), Bash(wc:*), Bash(grep:*), Read(//**), Read(//plugins/**), Read(//plugins/**), Write(//stories/**/analysis-report.md), Bash(*)
6
6
  scripts:
7
- sh: .specify/scripts/bash/check-analyze-stage.sh --json
8
- ps: .specify/scripts/powershell/check-analyze-stage.ps1 -Json
7
+ sh: resources/scripts/bash/check-analyze-stage.sh --json
8
+ ps: resources/scripts/powershell/check-analyze-stage.ps1 -Json
9
9
  ---
10
10
 
11
11
  对小说项目进行智能化综合分析。根据当前创作阶段,自动选择执行**框架一致性分析**(write 之前)或**内容质量分析**(write 之后)。
@@ -32,8 +32,8 @@ scripts:
32
32
  `--range` / `--volume` 分析时,按优先级加载:
33
33
 
34
34
  1. **Layer 1: MCP 查询**:`query_characters`、`query_plot`、`query_timeline`、`stats_volume`(均传 `--volume=vol-XX`)
35
- 2. **Layer 2: 分片 JSON**:`spec/tracking/volumes/vol-XX/` 下 4 个分片 + `summary/volume-summaries.json`
36
- 3. **Layer 3: 单文件 JSON**:`spec/tracking/` 下单文件,按章节范围手动过滤
35
+ 2. **Layer 2: 分片 JSON**:`tracking/volumes/vol-XX/` 下 4 个分片 + `summary/volume-summaries.json`
36
+ 3. **Layer 3: 单文件 JSON**:`tracking/` 下单文件,按章节范围手动过滤
37
37
 
38
38
  ### 5. --volume-report 综合报告
39
39
 
@@ -43,9 +43,9 @@ scripts:
43
43
 
44
44
  ### 6. 资源加载
45
45
 
46
- **基准文档**(参考 CLAUDE.md 资源加载规则):`.specify/memory/constitution.md`、`stories/*/specification.md`、`stories/*/creative-plan.md`、`stories/*/tasks.md`
46
+ **基准文档**(参考 CLAUDE.md 资源加载规则):`resources/memory/constitution.md`、`stories/*/specification.md`、`stories/*/creative-plan.md`、`stories/*/tasks.md`
47
47
 
48
- **分析专用**:`templates/knowledge-base/craft/` 全部 + `templates/skills/quality-assurance/` QA skills
48
+ **分析专用**:`resources/craft/` 全部 + `templates/skills/quality-assurance/` QA skills
49
49
 
50
50
  **覆盖与触发**:`specification.md` 的 `resource-loading.analysis` 配置覆盖默认加载;`keyword-triggers.enabled` 扫描 `--check` 参数动态加载 skills。会话级资源复用,不重复读取。
51
51
 
@@ -202,15 +202,15 @@ scripts:
202
202
  应用后追加更新记录到 `tracking-log.md`。
203
203
 
204
204
  **分片模式写入协议**:
205
- - 如果检测到 `spec/tracking/volumes/` 存在,确定章节所属卷
206
- - 更新该卷的分片文件(如 `spec/tracking/volumes/vol-03/character-state.json`)
207
- - 同步更新全局摘要文件(如 `spec/tracking/summary/characters-summary.json`)
205
+ - 如果检测到 `tracking/volumes/` 存在,确定章节所属卷
206
+ - 更新该卷的分片文件(如 `tracking/volumes/vol-03/character-state.json`)
207
+ - 同步更新全局摘要文件(如 `tracking/summary/characters-summary.json`)
208
208
  - 如果 MCP 可用,调用 `sync_from_json` 同步到 SQLite
209
209
 
210
210
  **错误处理**:
211
211
  - tracking 文件不存在 → 建议运行 `/track --init`
212
212
  - JSON 格式错误 → 提示手动修复
213
- - tracking 目录不存在 → 建议创建 `spec/tracking/`
213
+ - tracking 目录不存在 → 建议创建 `tracking/`
214
214
 
215
215
  ---
216
216
 
@@ -10,12 +10,12 @@ allowed-tools: Read, Write, Glob, Grep, Edit
10
10
 
11
11
  ## 概述
12
12
 
13
- 统一管理故事中所有角色的档案、状态、关系和对话风格。所有角色数据存储在 `spec/tracking/` 目录下。
13
+ 统一管理故事中所有角色的档案、状态、关系和对话风格。所有角色数据存储在 `tracking/` 目录下。
14
14
 
15
15
  ## 前置条件
16
16
 
17
17
  1. 确认当前故事目录存在:`stories/*/`
18
- 2. 确认 `spec/tracking/` 目录存在,不存在则创建
18
+ 2. 确认 `tracking/` 目录存在,不存在则创建
19
19
  3. 按三层 Fallback 加载角色数据:
20
20
 
21
21
  **Layer 1: MCP 查询(优先)**
@@ -23,13 +23,13 @@ allowed-tools: Read, Write, Glob, Grep, Edit
23
23
  - `query_relationships` → 关系网络
24
24
  - `search_content --query=[角色名]` → 角色出场章节
25
25
 
26
- **Layer 2: 分片 JSON(次优,检测 spec/tracking/volumes/ 是否存在)**
27
- - 无 --volume:读取 `spec/tracking/summary/characters-summary.json`(活跃角色概览)
28
- - 有 --volume:读取 `spec/tracking/volumes/vol-XX/character-state.json` 和 `relationships.json`
26
+ **Layer 2: 分片 JSON(次优,检测 tracking/volumes/ 是否存在)**
27
+ - 无 --volume:读取 `tracking/summary/characters-summary.json`(活跃角色概览)
28
+ - 有 --volume:读取 `tracking/volumes/vol-XX/character-state.json` 和 `relationships.json`
29
29
 
30
30
  **Layer 3: 单文件 JSON(兜底)**
31
- - `spec/tracking/character-state.json`
32
- - `spec/tracking/relationships.json`
31
+ - `tracking/character-state.json`
32
+ - `tracking/relationships.json`
33
33
 
34
34
  ## 子命令决策
35
35
 
@@ -253,14 +253,14 @@ allowed-tools: Read, Write, Glob, Grep, Edit
253
253
 
254
254
  当 `/character` 更新角色数据时:
255
255
 
256
- **分片模式(检测到 spec/tracking/volumes/ 存在)**:
256
+ **分片模式(检测到 tracking/volumes/ 存在)**:
257
257
  1. 确定角色最后出场章节所属的卷
258
258
  2. 更新该卷的 `character-state.json` 或 `relationships.json`
259
- 3. 同步更新全局摘要:`spec/tracking/summary/characters-summary.json`
259
+ 3. 同步更新全局摘要:`tracking/summary/characters-summary.json`
260
260
  4. 如果 MCP 可用,调用 `sync_from_json` 同步到 SQLite
261
261
 
262
262
  **单文件模式**:
263
- - 直接更新 `spec/tracking/character-state.json` 和 `relationships.json`
263
+ - 直接更新 `tracking/character-state.json` 和 `relationships.json`
264
264
 
265
265
  ### 数据校验
266
266
 
@@ -4,8 +4,8 @@ description: 生成或执行质量检查清单(规格验证 + 内容扫描)
4
4
  argument-hint: [检查类型] [--volume vol-XX | --pre-write | --post-write | --volume-end]
5
5
  allowed-tools: Read, Bash, Write, Edit, Glob, Grep
6
6
  scripts:
7
- sh: .specify/scripts/bash/common.sh
8
- ps: .specify/scripts/powershell/common.ps1
7
+ sh: resources/scripts/bash/common.sh
8
+ ps: resources/scripts/powershell/common.ps1
9
9
  ---
10
10
 
11
11
  # 质量检查清单(Checklist)
@@ -18,10 +18,10 @@ scripts:
18
18
  验证规划文档本身的质量(类似"需求的单元测试"):
19
19
 
20
20
  - `大纲质量` - 检查 creative-plan.md 的完整性、清晰度、一致性
21
- - `角色设定` - 检查 spec/knowledge/characters.md
22
- - `世界观` - 检查 spec/knowledge/world-setting.md 及相关文档
21
+ - `角色设定` - 检查 resources/knowledge/characters.md
22
+ - `世界观` - 检查 resources/knowledge/world-setting.md 及相关文档
23
23
  - `创作计划` - 检查 creative-plan.md / specification.md
24
- - `伏笔管理` - 检查 spec/tracking/plot-tracker.json 的伏笔定义
24
+ - `伏笔管理` - 检查 tracking/plot-tracker.json 的伏笔定义
25
25
 
26
26
  ### 第二类:内容验证检查(结果报告式)
27
27
  扫描已写章节,验证实际内容:
@@ -47,11 +47,11 @@ $ARGUMENTS
47
47
  ### 默认加载
48
48
 
49
49
  自动加载以下资源用于生成检查清单:
50
- - `.specify/memory/constitution.md`(创作宪法)
50
+ - `resources/memory/constitution.md`(创作宪法)
51
51
  - `stories/*/specification.md`(故事规格)
52
52
  - `stories/*/tasks.md`(当前任务)
53
- - `spec/tracking/plot-tracker.json`(情节追踪)
54
- - `spec/tracking/character-state.json`(角色状态)
53
+ - `tracking/plot-tracker.json`(情节追踪)
54
+ - `tracking/character-state.json`(角色状态)
55
55
 
56
56
  ### 可选加载
57
57
 
@@ -118,8 +118,8 @@ const plotData = await mcp.call('novelws-mcp/query_plot', {
118
118
  ### Layer 2: 分片 JSON(次优)
119
119
 
120
120
  ```bash
121
- # 当 spec/tracking/volumes/ 存在时
122
- for volume_dir in spec/tracking/volumes/vol-*; do
121
+ # 当 tracking/volumes/ 存在时
122
+ for volume_dir in tracking/volumes/vol-*; do
123
123
  if [[ -n "$VOLUME_FILTER" ]] && [[ "$volume_dir" != *"$VOLUME_FILTER"* ]]; then
124
124
  continue
125
125
  fi
@@ -139,8 +139,8 @@ done
139
139
 
140
140
  ```bash
141
141
  # 传统模式,加载完整文件
142
- cat spec/tracking/plot-tracker.json
143
- cat spec/tracking/character-state.json
142
+ cat tracking/plot-tracker.json
143
+ cat tracking/character-state.json
144
144
  # ...
145
145
  ```
146
146
 
@@ -183,7 +183,7 @@ cat spec/tracking/character-state.json
183
183
 
184
184
  **读取文件**:
185
185
  - `creative-plan.md` 或 `stories/*/creative-plan.md`
186
- - `spec/tracking/plot-tracker.json`(如果存在)
186
+ - `tracking/plot-tracker.json`(如果存在)
187
187
 
188
188
  **生成检查项维度**:
189
189
 
@@ -258,9 +258,9 @@ cat spec/tracking/character-state.json
258
258
  ##### 2.2 角色设定检查
259
259
 
260
260
  **读取文件**:
261
- - `spec/knowledge/characters.md`
262
- - `spec/tracking/character-state.json`
263
- - `spec/tracking/relationships.json`
261
+ - `resources/knowledge/characters.md`
262
+ - `tracking/character-state.json`
263
+ - `tracking/relationships.json`
264
264
 
265
265
  **生成检查项维度**:
266
266
 
@@ -288,10 +288,10 @@ cat spec/tracking/character-state.json
288
288
  ##### 2.3 世界观检查
289
289
 
290
290
  **读取文件**:
291
- - `spec/knowledge/world-setting.md`
292
- - `spec/knowledge/locations.md`
293
- - `spec/knowledge/culture.md`
294
- - `spec/knowledge/rules.md`
291
+ - `resources/knowledge/world-setting.md`
292
+ - `resources/knowledge/locations.md`
293
+ - `resources/knowledge/culture.md`
294
+ - `resources/knowledge/rules.md`
295
295
 
296
296
  **生成检查项维度**:
297
297
 
@@ -340,7 +340,7 @@ cat spec/tracking/character-state.json
340
340
  ##### 2.5 伏笔管理检查
341
341
 
342
342
  **读取文件**:
343
- - `spec/tracking/plot-tracker.json`
343
+ - `tracking/plot-tracker.json`
344
344
  - `creative-plan.md`
345
345
 
346
346
  **生成检查项维度**:
@@ -370,7 +370,7 @@ cat spec/tracking/character-state.json
370
370
 
371
371
  执行命令:
372
372
  ```bash
373
- bash .specify/scripts/bash/check-world.sh --checklist
373
+ bash resources/scripts/bash/check-world.sh --checklist
374
374
  ```
375
375
 
376
376
  如果脚本不存在,提示用户该功能正在开发中。
@@ -379,21 +379,21 @@ bash .specify/scripts/bash/check-world.sh --checklist
379
379
 
380
380
  执行命令:
381
381
  ```bash
382
- bash .specify/scripts/bash/check-plot.sh --checklist
382
+ bash resources/scripts/bash/check-plot.sh --checklist
383
383
  ```
384
384
 
385
385
  ##### 2.7 数据同步检查
386
386
 
387
387
  执行命令:
388
388
  ```bash
389
- bash .specify/scripts/bash/check-consistency.sh --checklist
389
+ bash resources/scripts/bash/check-consistency.sh --checklist
390
390
  ```
391
391
 
392
392
  ##### 2.8 时间线检查
393
393
 
394
394
  执行命令:
395
395
  ```bash
396
- bash .specify/scripts/bash/check-timeline.sh check --checklist
396
+ bash resources/scripts/bash/check-timeline.sh check --checklist
397
397
  ```
398
398
 
399
399
  ##### 2.9 写作状态检查
@@ -426,7 +426,7 @@ bash .specify/scripts/bash/check-timeline.sh check --checklist
426
426
 
427
427
  如果存在脚本,执行:
428
428
  ```bash
429
- bash .specify/scripts/bash/check-writing-state.sh --checklist
429
+ bash resources/scripts/bash/check-writing-state.sh --checklist
430
430
  ```
431
431
 
432
432
  否则,手动检查上述项目并生成报告。
@@ -446,7 +446,7 @@ bash .specify/scripts/bash/check-writing-state.sh --checklist
446
446
  /style-learning
447
447
 
448
448
  或手动创建:
449
- .specify/memory/personal-voice.md
449
+ resources/memory/personal-voice.md
450
450
  ```
451
451
 
452
452
  ### 3. 输出 Checklist
@@ -4,8 +4,8 @@ argument-hint: [关键词或焦点领域]
4
4
  allowed-tools: Read(//stories/**), Read(//stories/**), Read(//plugins/**), Read(plugins/**), Write(//stories/*/specification.md), Write(//stories/*/specification.md), Bash(ls:*), Bash(find:*), Bash(*)
5
5
  disable-model-invocation: false
6
6
  scripts:
7
- sh: .specify/scripts/bash/clarify-story.sh --json --paths-only
8
- ps: .specify/scripts/powershell/clarify-story.ps1 -Json -PathsOnly
7
+ sh: resources/scripts/bash/clarify-story.sh --json --paths-only
8
+ ps: resources/scripts/powershell/clarify-story.ps1 -Json -PathsOnly
9
9
  ---
10
10
 
11
11
  焦点区域(可选):$ARGUMENTS
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  description: 创建或更新小说创作宪法,定义不可妥协的创作原则
3
3
  argument-hint: [创作原则描述]
4
- allowed-tools: Write(//.specify/memory/constitution.md), Write(//.specify/memory/constitution.md), Read(//.specify/memory/**), Read(//.specify/memory/**), Bash(find:*), Bash(*)
4
+ allowed-tools: Write(//resources/memory/constitution.md), Write(//resources/memory/constitution.md), Read(//resources/memory/**), Read(//resources/memory/**), Bash(find:*), Bash(*)
5
5
  scripts:
6
- sh: .specify/scripts/bash/constitution.sh
7
- ps: .specify/scripts/powershell/constitution.ps1
6
+ sh: resources/scripts/bash/constitution.sh
7
+ ps: resources/scripts/powershell/constitution.ps1
8
8
  ---
9
9
 
10
10
  用户输入:$ARGUMENTS
@@ -39,18 +39,18 @@ resource-loading:
39
39
 
40
40
  **首先检查是否存在风格参考文档**(来自 `/book-internalize`):
41
41
  ```bash
42
- test -f .specify/memory/style-reference.md && echo "exists" || echo "not-found"
42
+ test -f resources/memory/style-reference.md && echo "exists" || echo "not-found"
43
43
  ```
44
44
 
45
- - 如果存在,使用 Read 工具读取 `.specify/memory/style-reference.md`
45
+ - 如果存在,使用 Read 工具读取 `resources/memory/style-reference.md`
46
46
  - 然后告诉用户:"检测到您已完成对标作品分析,我将参考该风格帮您起草宪法。"
47
47
 
48
48
  **然后检查现有宪法**:
49
49
  ```bash
50
- test -f .specify/memory/constitution.md && echo "exists" || echo "not-found"
50
+ test -f resources/memory/constitution.md && echo "exists" || echo "not-found"
51
51
  ```
52
52
 
53
- - 如果存在(输出 "exists"),使用 Read 工具读取 `.specify/memory/constitution.md` 并准备更新
53
+ - 如果存在(输出 "exists"),使用 Read 工具读取 `resources/memory/constitution.md` 并准备更新
54
54
  - 如果不存在(输出 "not-found"),跳过读取步骤,直接准备创建新宪法
55
55
 
56
56
  ### 2. 收集创作原则
@@ -212,7 +212,7 @@ test -f .specify/memory/constitution.md && echo "exists" || echo "not-found"
212
212
 
213
213
  ### 7. 输出和保存
214
214
 
215
- - 将宪法保存到 `.specify/memory/constitution.md`
215
+ - 将宪法保存到 `resources/memory/constitution.md`
216
216
  - 输出创建/更新成功消息
217
217
  - 提示下一步:`/specify` 定义故事规格
218
218
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 专家模式 - 获取专业写作指导
3
3
  argument-hint: [plot | character | world | style]
4
- allowed-tools: Read(//.specify/experts/**), Read(//.specify/experts/**), Read(//plugins/**/experts/**), Read(//plugins/**/experts/**), Bash(find:*), Bash(ls:*), Bash(*)
4
+ allowed-tools: Read(//resources/experts/**), Read(//resources/experts/**), Read(//plugins/**/experts/**), Read(//plugins/**/experts/**), Bash(find:*), Bash(ls:*), Bash(*)
5
5
  scripts:
6
6
  sh: echo ""
7
7
  ps: Write-Output ""
@@ -75,7 +75,7 @@ resource-loading:
75
75
 
76
76
  ### 执行步骤:
77
77
  1. **确认专家类型**
78
- - 核心专家:读取 `.specify/experts/core/<type>.md`
78
+ - 核心专家:读取 `resources/experts/core/<type>.md`
79
79
  - 插件专家:读取对应插件的专家文件
80
80
 
81
81
  2. **加载专家配置**
@@ -131,7 +131,7 @@ resource-loading:
131
131
  - 如果专家文件读取失败:
132
132
  ```
133
133
  专家配置加载失败,请检查文件是否存在:
134
- .specify/experts/core/<type>.md
134
+ resources/experts/core/<type>.md
135
135
  ```
136
136
 
137
137
  ---
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  description: 管理和校验故事设定事实的一致性
3
3
  argument-hint: [check | update <fact-id> | add | remove <fact-id>] [--volume vol-XX | --range ch-XXX-YYY]
4
- allowed-tools: Read(//spec/tracking/**), Read(//stories/**/content/**), Write(//spec/tracking/story-facts.json), Bash(bash:*), Bash(powershell:*)
4
+ allowed-tools: Read(//tracking/**), Read(//stories/**/content/**), Write(//tracking/story-facts.json), Bash(bash:*), Bash(powershell:*)
5
5
  scripts:
6
- sh: .specify/scripts/bash/check-facts.sh
7
- ps: .specify/scripts/powershell/check-facts.ps1
6
+ sh: resources/scripts/bash/check-facts.sh
7
+ ps: resources/scripts/powershell/check-facts.ps1
8
8
  ---
9
9
 
10
10
  # /facts - 故事设定事实管理
@@ -15,7 +15,7 @@ scripts:
15
15
 
16
16
  ## 数据源:story-facts.json
17
17
 
18
- **单一数据源原则**:所有可量化的设定事实都应注册在 `spec/tracking/story-facts.json` 中,作为唯一可信来源(Single Source of Truth)。
18
+ **单一数据源原则**:所有可量化的设定事实都应注册在 `tracking/story-facts.json` 中,作为唯一可信来源(Single Source of Truth)。
19
19
 
20
20
  ### 数据结构示例
21
21
 
@@ -125,12 +125,12 @@ scripts:
125
125
  - 支持 `--range ch-XXX-YYY` 过滤:`query_facts --chapter_from=XXX --chapter_to=YYY`
126
126
 
127
127
  **Layer 2: 分片 JSON(次优)**
128
- - 检测 `spec/tracking/volumes/` 是否存在
129
- - 无 --volume 参数:读取 `spec/tracking/story-facts.json`(全局事实文件,不按卷分片)
128
+ - 检测 `tracking/volumes/` 是否存在
129
+ - 无 --volume 参数:读取 `tracking/story-facts.json`(全局事实文件,不按卷分片)
130
130
  - 有 --volume 参数:读取全局事实文件,按 `source` 字段过滤属于该卷的事实
131
131
 
132
132
  **Layer 3: 单文件 JSON(兜底)**
133
- - 读取 `spec/tracking/story-facts.json`
133
+ - 读取 `tracking/story-facts.json`
134
134
 
135
135
  ### 章节扫描范围
136
136
 
@@ -148,7 +148,7 @@ scripts:
148
148
 
149
149
  #### 执行步骤
150
150
 
151
- 1. 读取 `spec/tracking/story-facts.json`
151
+ 1. 读取 `tracking/story-facts.json`
152
152
  2. 按 category 分组展示所有已注册事实
153
153
  3. 展示 rules 列表及当前校验状态(算术是否成立)
154
154
  4. 提示用户可用操作:add / remove / update
@@ -418,7 +418,7 @@ scripts:
418
418
  当前: "每月收入仅有五百灵石"
419
419
  修改为: "每月收入仅有八百灵石"
420
420
 
421
- 3. spec/tracking/plot-tracker.json
421
+ 3. tracking/plot-tracker.json
422
422
  当前: "finance-monthly-income": 500
423
423
  修改为: "finance-monthly-income": 800
424
424
  ```