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
@@ -8,7 +8,7 @@
8
8
  "regex": "对话|台词|说话|对白|conversation|dialogue",
9
9
  "regex_flags": "i",
10
10
  "resources": [
11
- "templates/knowledge-base/craft/dialogue.md",
11
+ "resources/craft/dialogue.md",
12
12
  "templates/skills/writing-techniques/dialogue-techniques/SKILL.md"
13
13
  ],
14
14
  "priority": 1
@@ -18,7 +18,7 @@
18
18
  "regex": "场景|镜头|画面|scene|structure",
19
19
  "regex_flags": "i",
20
20
  "resources": [
21
- "templates/knowledge-base/craft/scene-structure.md",
21
+ "resources/craft/scene-structure.md",
22
22
  "templates/skills/writing-techniques/scene-structure/SKILL.md"
23
23
  ],
24
24
  "priority": 1
@@ -28,7 +28,7 @@
28
28
  "regex": "角色成长|角色弧线|弧线|转变|成长|character\\s*arc|transformation",
29
29
  "regex_flags": "i",
30
30
  "resources": [
31
- "templates/knowledge-base/craft/character-arc.md",
31
+ "resources/craft/character-arc.md",
32
32
  "templates/skills/writing-techniques/character-arc/SKILL.md"
33
33
  ],
34
34
  "priority": 1
@@ -38,7 +38,7 @@
38
38
  "regex": "节奏|拖沓|太快|太慢|过快|过慢|pacing|rhythm",
39
39
  "regex_flags": "i",
40
40
  "resources": [
41
- "templates/knowledge-base/craft/pacing.md",
41
+ "resources/craft/pacing.md",
42
42
  "templates/skills/writing-techniques/pacing-control/SKILL.md"
43
43
  ],
44
44
  "priority": 1
@@ -48,7 +48,7 @@
48
48
  "regex": "展示|描写|tell|show|showing|telling",
49
49
  "regex_flags": "i",
50
50
  "resources": [
51
- "templates/knowledge-base/craft/show-not-tell.md"
51
+ "resources/craft/show-not-tell.md"
52
52
  ],
53
53
  "priority": 1
54
54
  },
@@ -57,7 +57,7 @@
57
57
  "regex": "钩子|悬念|章末|hook|cliffhanger|结尾",
58
58
  "regex_flags": "i",
59
59
  "resources": [
60
- "templates/knowledge-base/craft/hook-design.md"
60
+ "resources/craft/hook-design.md"
61
61
  ],
62
62
  "priority": 1
63
63
  },
@@ -66,7 +66,7 @@
66
66
  "regex": "力量体系|战力|境界|等级|power\\s*system|combat",
67
67
  "regex_flags": "i",
68
68
  "resources": [
69
- "templates/knowledge-base/craft/power-system.md"
69
+ "resources/craft/power-system.md"
70
70
  ],
71
71
  "priority": 1
72
72
  },
@@ -75,7 +75,7 @@
75
75
  "regex": "紧张感|张力|信息差|时间压力|两难|tension|dilemma",
76
76
  "regex_flags": "i",
77
77
  "resources": [
78
- "templates/knowledge-base/craft/tension-management.md"
78
+ "resources/craft/tension-management.md"
79
79
  ],
80
80
  "priority": 1
81
81
  }
@@ -86,7 +86,7 @@
86
86
  "regex": "言情|恋爱|感情|爱情|romance|love",
87
87
  "regex_flags": "i",
88
88
  "resources": [
89
- "templates/knowledge-base/genres/romance.md",
89
+ "resources/genres/romance.md",
90
90
  "templates/skills/genre-knowledge/romance/SKILL.md"
91
91
  ],
92
92
  "priority": 2
@@ -96,7 +96,7 @@
96
96
  "regex": "悬疑|推理|线索|mystery|detective|clue",
97
97
  "regex_flags": "i",
98
98
  "resources": [
99
- "templates/knowledge-base/genres/mystery.md",
99
+ "resources/genres/mystery.md",
100
100
  "templates/skills/genre-knowledge/mystery/SKILL.md"
101
101
  ],
102
102
  "priority": 2
@@ -106,7 +106,7 @@
106
106
  "regex": "武侠|江湖|侠客|武功|wuxia|martial\\s*arts",
107
107
  "regex_flags": "i",
108
108
  "resources": [
109
- "templates/knowledge-base/genres/wuxia.md"
109
+ "resources/genres/wuxia.md"
110
110
  ],
111
111
  "priority": 2
112
112
  },
@@ -115,7 +115,7 @@
115
115
  "regex": "历史|古代|朝代|宫廷|historical|dynasty",
116
116
  "regex_flags": "i",
117
117
  "resources": [
118
- "templates/knowledge-base/genres/historical.md"
118
+ "resources/genres/historical.md"
119
119
  ],
120
120
  "priority": 2
121
121
  },
@@ -124,7 +124,7 @@
124
124
  "regex": "科幻|未来|太空|星际|sci-fi|science\\s*fiction",
125
125
  "regex_flags": "i",
126
126
  "resources": [
127
- "templates/knowledge-base/genres/sci-fi.md"
127
+ "resources/genres/sci-fi.md"
128
128
  ],
129
129
  "priority": 2
130
130
  },
@@ -133,7 +133,7 @@
133
133
  "regex": "惊悚|恐怖|紧张|thriller|horror|suspense",
134
134
  "regex_flags": "i",
135
135
  "resources": [
136
- "templates/knowledge-base/genres/thriller.md"
136
+ "resources/genres/thriller.md"
137
137
  ],
138
138
  "priority": 2
139
139
  },
@@ -142,7 +142,7 @@
142
142
  "regex": "复仇|报仇|仇恨|revenge|vengeance",
143
143
  "regex_flags": "i",
144
144
  "resources": [
145
- "templates/knowledge-base/genres/revenge.md"
145
+ "resources/genres/revenge.md"
146
146
  ],
147
147
  "priority": 2
148
148
  },
@@ -151,7 +151,7 @@
151
151
  "regex": "玄幻|修仙|修炼|境界|灵气|宗门|xuanhuan|cultivation",
152
152
  "regex_flags": "i",
153
153
  "resources": [
154
- "templates/knowledge-base/genres/xuanhuan.md"
154
+ "resources/genres/xuanhuan.md"
155
155
  ],
156
156
  "priority": 2
157
157
  },
@@ -160,7 +160,7 @@
160
160
  "regex": "都市|现代|城市|职场|urban|modern|city",
161
161
  "regex_flags": "i",
162
162
  "resources": [
163
- "templates/knowledge-base/genres/urban.md"
163
+ "resources/genres/urban.md"
164
164
  ],
165
165
  "priority": 2
166
166
  },
@@ -169,7 +169,7 @@
169
169
  "regex": "游戏|系统|面板|副本|game|system|dungeon",
170
170
  "regex_flags": "i",
171
171
  "resources": [
172
- "templates/knowledge-base/genres/game-lit.md"
172
+ "resources/genres/game-lit.md"
173
173
  ],
174
174
  "priority": 2
175
175
  },
@@ -178,7 +178,7 @@
178
178
  "regex": "重生|穿越|回到过去|前世|rebirth|reincarnation|transmigration",
179
179
  "regex_flags": "i",
180
180
  "resources": [
181
- "templates/knowledge-base/genres/rebirth.md"
181
+ "resources/genres/rebirth.md"
182
182
  ],
183
183
  "priority": 2
184
184
  }
@@ -19,9 +19,9 @@ scripts/
19
19
 
20
20
  | 文件 | novel-writer | novel-writer-skills |
21
21
  |------|-------------|-------------------|
22
- | 宪法文件 | `memory/constitution.md` | `.specify/memory/constitution.md` |
22
+ | 宪法文件 | `memory/constitution.md` | `resources/memory/constitution.md` |
23
23
  | 故事规格 | `stories/*/specification.md` | `stories/*/specification.md` ✅ |
24
- | 追踪数据 | `spec/tracking/*.json` | `spec/tracking/*.json` ✅ |
24
+ | 追踪数据 | `tracking/*.json` | `tracking/*.json` ✅ |
25
25
 
26
26
  **所有脚本已自动适配新路径**,无需手动修改!
27
27
 
@@ -43,10 +43,10 @@ scripts/
43
43
  cd my-novel
44
44
 
45
45
  # 使用脚本(示例:创建宪法)
46
- bash .specify/templates/scripts/bash/constitution.sh
46
+ bash resources/scripts/bash/constitution.sh
47
47
 
48
48
  # 或者添加到 PATH
49
- export PATH="$PATH:$(pwd)/.specify/templates/scripts/bash"
49
+ export PATH="$PATH:$(pwd)/resources/scripts/bash"
50
50
  constitution.sh
51
51
  ```
52
52
 
@@ -57,10 +57,10 @@ constitution.sh
57
57
  cd my-novel
58
58
 
59
59
  # 使用脚本(示例:创建宪法)
60
- .\.specify\templates\scripts\powershell\constitution.ps1
60
+ .\resources\scripts\powershell\constitution.ps1
61
61
 
62
62
  # 或者添加到环境变量
63
- $env:PATH += ";$(Get-Location)\.specify\templates\scripts\powershell"
63
+ $env:PATH += ";$(Get-Location)\resources\scripts\powershell"
64
64
  constitution.ps1
65
65
  ```
66
66
 
@@ -121,10 +121,10 @@ Get-ActiveStory # 获取活跃故事名称
121
121
 
122
122
  ## ⚠️ 注意事项
123
123
 
124
- 1. **项目根目录识别** - 脚本通过查找 `.specify/config.json` 确定项目根目录
124
+ 1. **项目根目录识别** - 脚本通过查找 `resources/config/config.json` 确定项目根目录
125
125
  2. **执行权限** - Linux/macOS 用户需要确保脚本有执行权限:
126
126
  ```bash
127
- chmod +x .specify/templates/scripts/bash/*.sh
127
+ chmod +x resources/scripts/bash/*.sh
128
128
  ```
129
129
  3. **与 Slash Commands 的区别**:
130
130
  - Slash Commands 在 Claude Code 中使用,有 AI 交互能力
@@ -29,7 +29,7 @@ check_story_files() {
29
29
  local missing_files=()
30
30
 
31
31
  # 检查基准文档
32
- [ ! -f ".specify/memory/constitution.md" ] && missing_files+=("宪法文件")
32
+ [ ! -f "resources/memory/constitution.md" ] && missing_files+=("宪法文件")
33
33
  [ ! -f "$STORY_DIR/specification.md" ] && missing_files+=("规格文件")
34
34
  [ ! -f "$STORY_DIR/creative-plan.md" ] && missing_files+=("计划文件")
35
35
 
@@ -23,10 +23,10 @@ fi
23
23
 
24
24
  # 文件路径
25
25
  PROGRESS="$STORY_DIR/progress.json"
26
- PLOT_TRACKER="$STORY_DIR/spec/tracking/plot-tracker.json"
27
- TIMELINE="$STORY_DIR/spec/tracking/timeline.json"
28
- RELATIONSHIPS="$STORY_DIR/spec/tracking/relationships.json"
29
- CHARACTER_STATE="$STORY_DIR/spec/tracking/character-state.json"
26
+ PLOT_TRACKER="$STORY_DIR/tracking/plot-tracker.json"
27
+ TIMELINE="$STORY_DIR/tracking/timeline.json"
28
+ RELATIONSHIPS="$STORY_DIR/tracking/relationships.json"
29
+ CHARACTER_STATE="$STORY_DIR/tracking/character-state.json"
30
30
 
31
31
  # ANSI颜色代码
32
32
  RED='\033[0;31m'
@@ -252,14 +252,14 @@ generate_report() {
252
252
  echo "检查时间: $(date '+%Y-%m-%d %H:%M:%S')"
253
253
 
254
254
  # 记录检查结果
255
- if [ -f "$STORY_DIR/spec/tracking" ]; then
255
+ if [ -f "$STORY_DIR/tracking" ]; then
256
256
  echo "{
257
257
  \"timestamp\": \"$(date -Iseconds)\",
258
258
  \"total\": $TOTAL_CHECKS,
259
259
  \"passed\": $PASSED_CHECKS,
260
260
  \"warnings\": $WARNINGS,
261
261
  \"errors\": $ERRORS
262
- }" > "$STORY_DIR/spec/tracking/.last-check.json"
262
+ }" > "$STORY_DIR/tracking/.last-check.json"
263
263
  fi
264
264
  }
265
265
 
@@ -308,7 +308,7 @@ output_checklist() {
308
308
  # 数据同步一致性检查 Checklist
309
309
 
310
310
  **检查时间**: $(date '+%Y-%m-%d %H:%M:%S')
311
- **检查对象**: spec/tracking/ 目录所有JSON文件
311
+ **检查对象**: tracking/ 目录所有JSON文件
312
312
  **检查范围**: 文件完整性、章节同步、时间线连续性、角色状态、伏笔管理
313
313
 
314
314
  ---
@@ -38,7 +38,7 @@ while [[ $# -gt 0 ]]; do
38
38
  done
39
39
 
40
40
  # 检查 story-facts.json 是否存在
41
- FACTS_FILE="$PROJECT_ROOT/spec/tracking/story-facts.json"
41
+ FACTS_FILE="$PROJECT_ROOT/tracking/story-facts.json"
42
42
  if [[ ! -f "$FACTS_FILE" ]]; then
43
43
  if [[ "$OUTPUT_JSON" == true ]]; then
44
44
  echo '{"error": "story-facts.json not found", "chapters": [], "unreferenced_facts": [], "unknown_ids": []}'
@@ -22,7 +22,7 @@ if [ -z "$STORY_DIR" ]; then
22
22
  fi
23
23
 
24
24
  # 文件路径
25
- PLOT_TRACKER="$STORY_DIR/spec/tracking/plot-tracker.json"
25
+ PLOT_TRACKER="$STORY_DIR/tracking/plot-tracker.json"
26
26
  OUTLINE="$STORY_DIR/creative-plan.md"
27
27
  PROGRESS="$STORY_DIR/progress.json"
28
28
 
@@ -32,7 +32,7 @@ check_required_files() {
32
32
 
33
33
  if [ ! -f "$PLOT_TRACKER" ]; then
34
34
  echo "⚠️ 未找到情节追踪文件,正在创建..." >&2
35
- mkdir -p "$STORY_DIR/spec/tracking"
35
+ mkdir -p "$STORY_DIR/tracking"
36
36
  # 复制模板
37
37
  if [ -f "$SCRIPT_DIR/../../templates/tracking/plot-tracker.json" ]; then
38
38
  cp "$SCRIPT_DIR/../../templates/tracking/plot-tracker.json" "$PLOT_TRACKER"
@@ -24,7 +24,7 @@ if [ -z "$STORY_DIR" ]; then
24
24
  fi
25
25
 
26
26
  # 文件路径
27
- TIMELINE="$STORY_DIR/spec/tracking/timeline.json"
27
+ TIMELINE="$STORY_DIR/tracking/timeline.json"
28
28
  PROGRESS="$STORY_DIR/progress.json"
29
29
 
30
30
  # 命令参数(已在上面处理 checklist 模式)
@@ -34,7 +34,7 @@ PARAM2="${2:-}"
34
34
  init_timeline() {
35
35
  if [ ! -f "$TIMELINE" ]; then
36
36
  echo "⚠️ 未找到时间线文件,正在创建..." >&2
37
- mkdir -p "$STORY_DIR/spec/tracking"
37
+ mkdir -p "$STORY_DIR/tracking"
38
38
 
39
39
  if [ -f "$SCRIPT_DIR/../../templates/tracking/timeline.json" ]; then
40
40
  cp "$SCRIPT_DIR/../../templates/tracking/timeline.json" "$TIMELINE"
@@ -241,7 +241,7 @@ output_checklist() {
241
241
  # 时间线检查 Checklist
242
242
 
243
243
  **检查时间**: $(date '+%Y-%m-%d %H:%M:%S')
244
- **检查对象**: spec/tracking/timeline.json
244
+ **检查对象**: tracking/timeline.json
245
245
  **记录事件数**: $event_count
246
246
 
247
247
  ---
@@ -22,10 +22,10 @@ if [ "$1" = "--checklist" ]; then
22
22
  fi
23
23
 
24
24
  # 文件路径
25
- WORLD_SETTING="$STORY_DIR/spec/knowledge/world-setting.md"
26
- LOCATIONS="$STORY_DIR/spec/knowledge/locations.md"
27
- CULTURE="$STORY_DIR/spec/knowledge/culture.md"
28
- RULES="$STORY_DIR/spec/knowledge/rules.md"
25
+ WORLD_SETTING="$STORY_DIR/resources/knowledge/world-setting.md"
26
+ LOCATIONS="$STORY_DIR/resources/knowledge/locations.md"
27
+ CULTURE="$STORY_DIR/resources/knowledge/culture.md"
28
+ RULES="$STORY_DIR/resources/knowledge/rules.md"
29
29
  CONTENT_DIR="$STORY_DIR/content"
30
30
 
31
31
  # ANSI颜色代码
@@ -268,7 +268,7 @@ output_checklist() {
268
268
  # 世界观一致性检查 Checklist
269
269
 
270
270
  **检查时间**: $(date '+%Y-%m-%d %H:%M:%S')
271
- **检查对象**: spec/knowledge/ 目录及已写章节内容
271
+ **检查对象**: resources/knowledge/ 目录及已写章节内容
272
272
  **检查范围**: 世界观设定、地理逻辑、文化风俗、特殊规则
273
273
 
274
274
  ---
@@ -99,7 +99,7 @@ mark_resource_loaded() {
99
99
  # 防御性设计:缓存目录不存在时直接返回
100
100
 
101
101
  cleanup_old_cache() {
102
- local cache_dir="$PROJECT_ROOT/.specify/.cache"
102
+ local cache_dir="$PROJECT_ROOT/.claude/.cache"
103
103
 
104
104
  # 缓存目录不存在,无需清理
105
105
  if [ ! -d "$cache_dir" ]; then
@@ -234,17 +234,17 @@ if [ "$PRELOAD_FILES_PENDING" = true ]; then
234
234
  # 构建待预加载的文件列表
235
235
  PRELOAD_FILE_LIST=(
236
236
  # 知识库文件
237
- "$PROJECT_ROOT/.specify/templates/knowledge-base/craft/dialogue.md"
238
- "$PROJECT_ROOT/.specify/templates/knowledge-base/craft/scene-structure.md"
239
- "$PROJECT_ROOT/.specify/templates/knowledge-base/craft/character-arc.md"
240
- "$PROJECT_ROOT/.specify/templates/knowledge-base/craft/pacing.md"
241
- "$PROJECT_ROOT/.specify/templates/knowledge-base/craft/show-not-tell.md"
237
+ "$PROJECT_ROOT/resources/craft/dialogue.md"
238
+ "$PROJECT_ROOT/resources/craft/scene-structure.md"
239
+ "$PROJECT_ROOT/resources/craft/character-arc.md"
240
+ "$PROJECT_ROOT/resources/craft/pacing.md"
241
+ "$PROJECT_ROOT/resources/craft/show-not-tell.md"
242
242
  # Skill 文件
243
- "$PROJECT_ROOT/.specify/templates/skills/writing-techniques/dialogue-techniques/SKILL.md"
244
- "$PROJECT_ROOT/.specify/templates/skills/writing-techniques/scene-structure/SKILL.md"
245
- "$PROJECT_ROOT/.specify/templates/skills/writing-techniques/character-arc/SKILL.md"
246
- "$PROJECT_ROOT/.specify/templates/skills/writing-techniques/pacing-control/SKILL.md"
247
- "$PROJECT_ROOT/.specify/templates/skills/quality-assurance/consistency-checker/SKILL.md"
243
+ "$PROJECT_ROOT/.claude/skills/writing-techniques/dialogue-techniques/SKILL.md"
244
+ "$PROJECT_ROOT/.claude/skills/writing-techniques/scene-structure/SKILL.md"
245
+ "$PROJECT_ROOT/.claude/skills/writing-techniques/character-arc/SKILL.md"
246
+ "$PROJECT_ROOT/.claude/skills/writing-techniques/pacing-control/SKILL.md"
247
+ "$PROJECT_ROOT/.claude/skills/quality-assurance/consistency-checker/SKILL.md"
248
248
  # 规格文件
249
249
  "$STORY_DIR/specification.md"
250
250
  )
@@ -261,7 +261,7 @@ cleanup_old_cache
261
261
  check_methodology_docs() {
262
262
  local missing=()
263
263
 
264
- [ ! -f ".specify/memory/constitution.md" ] && missing+=("宪法")
264
+ [ ! -f "resources/memory/constitution.md" ] && missing+=("宪法")
265
265
  [ ! -f "$STORY_DIR/specification.md" ] && missing+=("规格")
266
266
  [ ! -f "$STORY_DIR/creative-plan.md" ] && missing+=("计划")
267
267
  [ ! -f "$STORY_DIR/tasks.md" ] && missing+=("任务")
@@ -321,7 +321,7 @@ check_pending_tasks() {
321
321
  # 检查已完成内容
322
322
  check_completed_content() {
323
323
  local content_dir="$STORY_DIR/content"
324
- local validation_rules="$STORY_DIR/spec/tracking/validation-rules.json"
324
+ local validation_rules="$STORY_DIR/tracking/validation-rules.json"
325
325
  local min_words=2000
326
326
  local max_words=4000
327
327
 
@@ -376,7 +376,7 @@ output_checklist() {
376
376
  local max_words=4000
377
377
 
378
378
  # 检查文档
379
- [ -f ".specify/memory/constitution.md" ] && has_constitution=true
379
+ [ -f "resources/memory/constitution.md" ] && has_constitution=true
380
380
  [ -f "$STORY_DIR/specification.md" ] && has_specification=true
381
381
  [ -f "$STORY_DIR/creative-plan.md" ] && has_plan=true
382
382
  [ -f "$STORY_DIR/tasks.md" ] && has_tasks=true
@@ -389,7 +389,7 @@ output_checklist() {
389
389
  fi
390
390
 
391
391
  # 读取验证规则
392
- local validation_rules="$STORY_DIR/spec/tracking/validation-rules.json"
392
+ local validation_rules="$STORY_DIR/tracking/validation-rules.json"
393
393
  if [ -f "$validation_rules" ] && command -v jq >/dev/null 2>&1; then
394
394
  min_words=$(jq -r '.rules.chapterMinWords // 2000' "$validation_rules")
395
395
  max_words=$(jq -r '.rules.chapterMaxWords // 4000' "$validation_rules")
@@ -553,11 +553,11 @@ check_knowledge_base_available() {
553
553
 
554
554
  # 检查所有 craft knowledge-base
555
555
  local craft_files=(
556
- ".specify/templates/knowledge-base/craft/dialogue.md"
557
- ".specify/templates/knowledge-base/craft/scene-structure.md"
558
- ".specify/templates/knowledge-base/craft/character-arc.md"
559
- ".specify/templates/knowledge-base/craft/pacing.md"
560
- ".specify/templates/knowledge-base/craft/show-not-tell.md"
556
+ "resources/craft/dialogue.md"
557
+ "resources/craft/scene-structure.md"
558
+ "resources/craft/character-arc.md"
559
+ "resources/craft/pacing.md"
560
+ "resources/craft/show-not-tell.md"
561
561
  )
562
562
 
563
563
  for file in "${craft_files[@]}"; do
@@ -590,10 +590,10 @@ check_skills_available() {
590
590
 
591
591
  # 检查 writing-techniques skills
592
592
  local skill_dirs=(
593
- ".specify/templates/skills/writing-techniques/dialogue-techniques"
594
- ".specify/templates/skills/writing-techniques/scene-structure"
595
- ".specify/templates/skills/writing-techniques/character-arc"
596
- ".specify/templates/skills/writing-techniques/pacing-control"
593
+ ".claude/skills/writing-techniques/dialogue-techniques"
594
+ ".claude/skills/writing-techniques/scene-structure"
595
+ ".claude/skills/writing-techniques/character-arc"
596
+ ".claude/skills/writing-techniques/pacing-control"
597
597
  )
598
598
 
599
599
  for dir in "${skill_dirs[@]}"; do
@@ -667,7 +667,7 @@ generate_load_report() {
667
667
  # 检查文件是否存在,生成警告(使用缓存 + Phase 2 去重)
668
668
  local warnings=()
669
669
  for kb in "${knowledge_base_files[@]}"; do
670
- local kb_path=".specify/templates/knowledge-base/$kb"
670
+ local kb_path="resources/$kb"
671
671
 
672
672
  # Phase 2: 资源去重检查
673
673
  if is_resource_loaded "$kb_path"; then
@@ -685,7 +685,7 @@ generate_load_report() {
685
685
  done
686
686
 
687
687
  for skill in "${skills_files[@]}"; do
688
- local skill_path=".specify/templates/skills/$skill/SKILL.md"
688
+ local skill_path=".claude/skills/$skill/SKILL.md"
689
689
 
690
690
  # Phase 2: 资源去重检查
691
691
  if is_resource_loaded "$skill_path"; then
@@ -3,13 +3,13 @@
3
3
 
4
4
  # 获取项目根目录
5
5
  get_project_root() {
6
- if [ -f ".specify/config.json" ]; then
6
+ if [ -f "resources/config/config.json" ]; then
7
7
  pwd
8
8
  else
9
- # 向上查找包含 .specify 的目录
9
+ # 向上查找包含 resources 的目录
10
10
  current=$(pwd)
11
11
  while [ "$current" != "/" ]; do
12
- if [ -f "$current/.specify/config.json" ]; then
12
+ if [ -f "$current/resources/config/config.json" ]; then
13
13
  echo "$current"
14
14
  return 0
15
15
  fi
@@ -17,7 +17,7 @@ PROJECT_ROOT=$(get_project_root)
17
17
  cd "$PROJECT_ROOT"
18
18
 
19
19
  # 定义文件路径
20
- CONSTITUTION_FILE=".specify/memory/constitution.md"
20
+ CONSTITUTION_FILE="resources/memory/constitution.md"
21
21
 
22
22
  case "$COMMAND" in
23
23
  check)
@@ -25,7 +25,7 @@ if [ "$story_exists" = false ] || [ "$outline_exists" = false ]; then
25
25
  fi
26
26
 
27
27
  # 创建追踪目录
28
- mkdir -p spec/tracking
28
+ mkdir -p tracking
29
29
 
30
30
  # 获取故事名称
31
31
  story_dir=$(dirname "$story_file")
@@ -34,9 +34,9 @@ story_name=$(basename "$story_dir")
34
34
  echo "📖 为《${story_name}》初始化追踪系统..."
35
35
 
36
36
  # 初始化 plot-tracker.json
37
- if [ ! -f "spec/tracking/plot-tracker.json" ]; then
37
+ if [ ! -f "tracking/plot-tracker.json" ]; then
38
38
  echo "📝 创建 plot-tracker.json..."
39
- cat > spec/tracking/plot-tracker.json <<EOF
39
+ cat > tracking/plot-tracker.json <<EOF
40
40
  {
41
41
  "novel": "${story_name}",
42
42
  "lastUpdated": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
@@ -82,9 +82,9 @@ EOF
82
82
  fi
83
83
 
84
84
  # 初始化 timeline.json
85
- if [ ! -f "spec/tracking/timeline.json" ]; then
85
+ if [ ! -f "tracking/timeline.json" ]; then
86
86
  echo "⏰ 创建 timeline.json..."
87
- cat > spec/tracking/timeline.json <<EOF
87
+ cat > tracking/timeline.json <<EOF
88
88
  {
89
89
  "novel": "${story_name}",
90
90
  "lastUpdated": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
@@ -110,9 +110,9 @@ EOF
110
110
  fi
111
111
 
112
112
  # 初始化 relationships.json
113
- if [ ! -f "spec/tracking/relationships.json" ]; then
113
+ if [ ! -f "tracking/relationships.json" ]; then
114
114
  echo "👥 创建 relationships.json..."
115
- cat > spec/tracking/relationships.json <<EOF
115
+ cat > tracking/relationships.json <<EOF
116
116
  {
117
117
  "novel": "${story_name}",
118
118
  "lastUpdated": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
@@ -135,9 +135,9 @@ EOF
135
135
  fi
136
136
 
137
137
  # 初始化 character-state.json
138
- if [ ! -f "spec/tracking/character-state.json" ]; then
138
+ if [ ! -f "tracking/character-state.json" ]; then
139
139
  echo "📍 创建 character-state.json..."
140
- cat > spec/tracking/character-state.json <<EOF
140
+ cat > tracking/character-state.json <<EOF
141
141
  {
142
142
  "novel": "${story_name}",
143
143
  "lastUpdated": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
@@ -170,10 +170,10 @@ echo ""
170
170
  echo "✅ 追踪系统初始化完成!"
171
171
  echo ""
172
172
  echo "📊 已创建以下追踪文件:"
173
- echo " • spec/tracking/plot-tracker.json - 情节追踪"
174
- echo " • spec/tracking/timeline.json - 时间线管理"
175
- echo " • spec/tracking/relationships.json - 关系网络"
176
- echo " • spec/tracking/character-state.json - 角色状态"
173
+ echo " • tracking/plot-tracker.json - 情节追踪"
174
+ echo " • tracking/timeline.json - 时间线管理"
175
+ echo " • tracking/relationships.json - 关系网络"
176
+ echo " • tracking/character-state.json - 角色状态"
177
177
  echo ""
178
178
  echo "💡 下一步:"
179
179
  echo " 1. 使用 /write 开始创作(会自动更新追踪数据)"
@@ -10,19 +10,19 @@ PROJECT_ROOT=$(get_project_root)
10
10
  STORY_DIR=$(get_current_story)
11
11
 
12
12
  REL_FILE=""
13
- if [ -n "$STORY_DIR" ] && [ -f "$STORY_DIR/spec/tracking/relationships.json" ]; then
14
- REL_FILE="$STORY_DIR/spec/tracking/relationships.json"
15
- elif [ -f "$PROJECT_ROOT/spec/tracking/relationships.json" ]; then
16
- REL_FILE="$PROJECT_ROOT/spec/tracking/relationships.json"
13
+ if [ -n "$STORY_DIR" ] && [ -f "$STORY_DIR/tracking/relationships.json" ]; then
14
+ REL_FILE="$STORY_DIR/tracking/relationships.json"
15
+ elif [ -f "$PROJECT_ROOT/tracking/relationships.json" ]; then
16
+ REL_FILE="$PROJECT_ROOT/tracking/relationships.json"
17
17
  else
18
18
  # 尝试用模板初始化
19
- mkdir -p "$PROJECT_ROOT/spec/tracking"
20
- if [ -f "$PROJECT_ROOT/.specify/templates/tracking/relationships.json" ]; then
21
- cp "$PROJECT_ROOT/.specify/templates/tracking/relationships.json" "$PROJECT_ROOT/spec/tracking/relationships.json"
22
- REL_FILE="$PROJECT_ROOT/spec/tracking/relationships.json"
19
+ mkdir -p "$PROJECT_ROOT/tracking"
20
+ if [ -f "$PROJECT_ROOT/tracking/relationships.json" ]; then
21
+ cp "$PROJECT_ROOT/tracking/relationships.json" "$PROJECT_ROOT/tracking/relationships.json"
22
+ REL_FILE="$PROJECT_ROOT/tracking/relationships.json"
23
23
  elif [ -f "$SCRIPT_DIR/../../templates/tracking/relationships.json" ]; then
24
- cp "$SCRIPT_DIR/../../templates/tracking/relationships.json" "$PROJECT_ROOT/spec/tracking/relationships.json"
25
- REL_FILE="$PROJECT_ROOT/spec/tracking/relationships.json"
24
+ cp "$SCRIPT_DIR/../../templates/tracking/relationships.json" "$PROJECT_ROOT/tracking/relationships.json"
25
+ REL_FILE="$PROJECT_ROOT/tracking/relationships.json"
26
26
  else
27
27
  echo "❌ 未找到 relationships.json,且无法从模板创建" >&2
28
28
  exit 1
@@ -31,7 +31,7 @@ while [[ $# -gt 0 ]]; do
31
31
  done
32
32
 
33
33
  # 目录路径
34
- TRACKING_DIR="${PWD}/spec/tracking"
34
+ TRACKING_DIR="${PWD}/tracking"
35
35
  BACKUP_DIR="${TRACKING_DIR}/backup"
36
36
  SUMMARY_DIR="${TRACKING_DIR}/summary"
37
37
  VOLUMES_DIR="${TRACKING_DIR}/volumes"
@@ -37,7 +37,7 @@ echo ""
37
37
  # 检查前置文档
38
38
  missing=()
39
39
 
40
- if [ ! -f ".specify/memory/constitution.md" ]; then
40
+ if [ ! -f "resources/memory/constitution.md" ]; then
41
41
  missing+=("宪法文件")
42
42
  fi
43
43
 
@@ -52,7 +52,7 @@ if [ ${#missing[@]} -gt 0 ]; then
52
52
  done
53
53
  echo ""
54
54
  echo "请先完成:"
55
- if [ ! -f ".specify/memory/constitution.md" ]; then
55
+ if [ ! -f "resources/memory/constitution.md" ]; then
56
56
  echo " 1. /constitution - 创建创作宪法"
57
57
  fi
58
58
  if [ ! -f "$SPEC_FILE" ]; then
@@ -86,7 +86,7 @@ else
86
86
  fi
87
87
 
88
88
  # 检查宪法
89
- if [ -f ".specify/memory/constitution.md" ]; then
89
+ if [ -f "resources/memory/constitution.md" ]; then
90
90
  echo ""
91
91
  echo "✅ 检测到创作宪法,规格将遵循宪法原则"
92
92
  fi