@zhuan-ai/zhuanspec 1.3.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 (210) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +461 -0
  3. package/README.zh.md +434 -0
  4. package/bin/zhuanspec.js +3 -0
  5. package/dist/cli/index.d.ts +2 -0
  6. package/dist/cli/index.js +356 -0
  7. package/dist/commands/artifact-workflow.d.ts +13 -0
  8. package/dist/commands/artifact-workflow.js +916 -0
  9. package/dist/commands/change.d.ts +35 -0
  10. package/dist/commands/change.js +277 -0
  11. package/dist/commands/completion.d.ts +72 -0
  12. package/dist/commands/completion.js +221 -0
  13. package/dist/commands/config.d.ts +8 -0
  14. package/dist/commands/config.js +198 -0
  15. package/dist/commands/show.d.ts +14 -0
  16. package/dist/commands/show.js +132 -0
  17. package/dist/commands/spec.d.ts +15 -0
  18. package/dist/commands/spec.js +225 -0
  19. package/dist/commands/validate.d.ts +24 -0
  20. package/dist/commands/validate.js +294 -0
  21. package/dist/core/archive.d.ts +30 -0
  22. package/dist/core/archive.js +438 -0
  23. package/dist/core/artifact-graph/graph.d.ts +56 -0
  24. package/dist/core/artifact-graph/graph.js +141 -0
  25. package/dist/core/artifact-graph/index.d.ts +7 -0
  26. package/dist/core/artifact-graph/index.js +13 -0
  27. package/dist/core/artifact-graph/instruction-loader.d.ts +134 -0
  28. package/dist/core/artifact-graph/instruction-loader.js +180 -0
  29. package/dist/core/artifact-graph/resolver.d.ts +61 -0
  30. package/dist/core/artifact-graph/resolver.js +187 -0
  31. package/dist/core/artifact-graph/schema.d.ts +13 -0
  32. package/dist/core/artifact-graph/schema.js +108 -0
  33. package/dist/core/artifact-graph/state.d.ts +12 -0
  34. package/dist/core/artifact-graph/state.js +54 -0
  35. package/dist/core/artifact-graph/types.d.ts +45 -0
  36. package/dist/core/artifact-graph/types.js +43 -0
  37. package/dist/core/completions/command-registry.d.ts +7 -0
  38. package/dist/core/completions/command-registry.js +362 -0
  39. package/dist/core/completions/completion-provider.d.ts +60 -0
  40. package/dist/core/completions/completion-provider.js +102 -0
  41. package/dist/core/completions/factory.d.ts +51 -0
  42. package/dist/core/completions/factory.js +57 -0
  43. package/dist/core/completions/generators/zsh-generator.d.ts +58 -0
  44. package/dist/core/completions/generators/zsh-generator.js +319 -0
  45. package/dist/core/completions/installers/zsh-installer.d.ts +136 -0
  46. package/dist/core/completions/installers/zsh-installer.js +449 -0
  47. package/dist/core/completions/types.d.ts +78 -0
  48. package/dist/core/completions/types.js +2 -0
  49. package/dist/core/config-schema.d.ts +76 -0
  50. package/dist/core/config-schema.js +200 -0
  51. package/dist/core/config.d.ts +16 -0
  52. package/dist/core/config.js +29 -0
  53. package/dist/core/configurators/agents.d.ts +8 -0
  54. package/dist/core/configurators/agents.js +15 -0
  55. package/dist/core/configurators/base.d.ts +7 -0
  56. package/dist/core/configurators/base.js +2 -0
  57. package/dist/core/configurators/claude.d.ts +8 -0
  58. package/dist/core/configurators/claude.js +15 -0
  59. package/dist/core/configurators/cline.d.ts +8 -0
  60. package/dist/core/configurators/cline.js +15 -0
  61. package/dist/core/configurators/codebuddy.d.ts +8 -0
  62. package/dist/core/configurators/codebuddy.js +15 -0
  63. package/dist/core/configurators/costrict.d.ts +8 -0
  64. package/dist/core/configurators/costrict.js +15 -0
  65. package/dist/core/configurators/iflow.d.ts +8 -0
  66. package/dist/core/configurators/iflow.js +15 -0
  67. package/dist/core/configurators/qoder.d.ts +30 -0
  68. package/dist/core/configurators/qoder.js +42 -0
  69. package/dist/core/configurators/qwen.d.ts +24 -0
  70. package/dist/core/configurators/qwen.js +37 -0
  71. package/dist/core/configurators/registry.d.ts +9 -0
  72. package/dist/core/configurators/registry.js +43 -0
  73. package/dist/core/configurators/slash/amazon-q.d.ts +9 -0
  74. package/dist/core/configurators/slash/amazon-q.js +46 -0
  75. package/dist/core/configurators/slash/antigravity.d.ts +9 -0
  76. package/dist/core/configurators/slash/antigravity.js +23 -0
  77. package/dist/core/configurators/slash/auggie.d.ts +9 -0
  78. package/dist/core/configurators/slash/auggie.js +31 -0
  79. package/dist/core/configurators/slash/base.d.ts +19 -0
  80. package/dist/core/configurators/slash/base.js +69 -0
  81. package/dist/core/configurators/slash/claude.d.ts +9 -0
  82. package/dist/core/configurators/slash/claude.js +37 -0
  83. package/dist/core/configurators/slash/cline.d.ts +9 -0
  84. package/dist/core/configurators/slash/cline.js +23 -0
  85. package/dist/core/configurators/slash/codebuddy.d.ts +9 -0
  86. package/dist/core/configurators/slash/codebuddy.js +37 -0
  87. package/dist/core/configurators/slash/codex.d.ts +14 -0
  88. package/dist/core/configurators/slash/codex.js +109 -0
  89. package/dist/core/configurators/slash/costrict.d.ts +9 -0
  90. package/dist/core/configurators/slash/costrict.js +31 -0
  91. package/dist/core/configurators/slash/crush.d.ts +9 -0
  92. package/dist/core/configurators/slash/crush.js +37 -0
  93. package/dist/core/configurators/slash/cursor.d.ts +9 -0
  94. package/dist/core/configurators/slash/cursor.js +37 -0
  95. package/dist/core/configurators/slash/factory.d.ts +10 -0
  96. package/dist/core/configurators/slash/factory.js +35 -0
  97. package/dist/core/configurators/slash/gemini.d.ts +9 -0
  98. package/dist/core/configurators/slash/gemini.js +22 -0
  99. package/dist/core/configurators/slash/github-copilot.d.ts +9 -0
  100. package/dist/core/configurators/slash/github-copilot.js +34 -0
  101. package/dist/core/configurators/slash/iflow.d.ts +9 -0
  102. package/dist/core/configurators/slash/iflow.js +37 -0
  103. package/dist/core/configurators/slash/kilocode.d.ts +9 -0
  104. package/dist/core/configurators/slash/kilocode.js +17 -0
  105. package/dist/core/configurators/slash/opencode.d.ts +12 -0
  106. package/dist/core/configurators/slash/opencode.js +72 -0
  107. package/dist/core/configurators/slash/qoder.d.ts +35 -0
  108. package/dist/core/configurators/slash/qoder.js +76 -0
  109. package/dist/core/configurators/slash/qwen.d.ts +32 -0
  110. package/dist/core/configurators/slash/qwen.js +49 -0
  111. package/dist/core/configurators/slash/registry.d.ts +8 -0
  112. package/dist/core/configurators/slash/registry.js +75 -0
  113. package/dist/core/configurators/slash/roocode.d.ts +9 -0
  114. package/dist/core/configurators/slash/roocode.js +23 -0
  115. package/dist/core/configurators/slash/toml-base.d.ts +10 -0
  116. package/dist/core/configurators/slash/toml-base.js +53 -0
  117. package/dist/core/configurators/slash/windsurf.d.ts +9 -0
  118. package/dist/core/configurators/slash/windsurf.js +23 -0
  119. package/dist/core/converters/json-converter.d.ts +6 -0
  120. package/dist/core/converters/json-converter.js +51 -0
  121. package/dist/core/global-config.d.ts +39 -0
  122. package/dist/core/global-config.js +115 -0
  123. package/dist/core/index.d.ts +2 -0
  124. package/dist/core/index.js +3 -0
  125. package/dist/core/init.d.ts +60 -0
  126. package/dist/core/init.js +861 -0
  127. package/dist/core/list.d.ts +9 -0
  128. package/dist/core/list.js +171 -0
  129. package/dist/core/parsers/change-parser.d.ts +13 -0
  130. package/dist/core/parsers/change-parser.js +193 -0
  131. package/dist/core/parsers/markdown-parser.d.ts +22 -0
  132. package/dist/core/parsers/markdown-parser.js +187 -0
  133. package/dist/core/parsers/requirement-blocks.d.ts +37 -0
  134. package/dist/core/parsers/requirement-blocks.js +201 -0
  135. package/dist/core/project-config.d.ts +34 -0
  136. package/dist/core/project-config.js +79 -0
  137. package/dist/core/schemas/base.schema.d.ts +13 -0
  138. package/dist/core/schemas/base.schema.js +13 -0
  139. package/dist/core/schemas/change.schema.d.ts +73 -0
  140. package/dist/core/schemas/change.schema.js +31 -0
  141. package/dist/core/schemas/index.d.ts +4 -0
  142. package/dist/core/schemas/index.js +4 -0
  143. package/dist/core/schemas/spec.schema.d.ts +18 -0
  144. package/dist/core/schemas/spec.schema.js +15 -0
  145. package/dist/core/skill-discovery.d.ts +24 -0
  146. package/dist/core/skill-discovery.js +153 -0
  147. package/dist/core/specs-apply.d.ts +73 -0
  148. package/dist/core/specs-apply.js +384 -0
  149. package/dist/core/styles/palette.d.ts +7 -0
  150. package/dist/core/styles/palette.js +8 -0
  151. package/dist/core/templates/agents-root-stub.d.ts +2 -0
  152. package/dist/core/templates/agents-root-stub.js +17 -0
  153. package/dist/core/templates/agents-template.d.ts +2 -0
  154. package/dist/core/templates/agents-template.js +706 -0
  155. package/dist/core/templates/claude-template.d.ts +2 -0
  156. package/dist/core/templates/claude-template.js +2 -0
  157. package/dist/core/templates/cline-template.d.ts +2 -0
  158. package/dist/core/templates/cline-template.js +2 -0
  159. package/dist/core/templates/costrict-template.d.ts +2 -0
  160. package/dist/core/templates/costrict-template.js +2 -0
  161. package/dist/core/templates/index.d.ts +17 -0
  162. package/dist/core/templates/index.js +37 -0
  163. package/dist/core/templates/project-template.d.ts +8 -0
  164. package/dist/core/templates/project-template.js +32 -0
  165. package/dist/core/templates/skill-templates.d.ts +103 -0
  166. package/dist/core/templates/skill-templates.js +2131 -0
  167. package/dist/core/templates/slash-command-templates.d.ts +4 -0
  168. package/dist/core/templates/slash-command-templates.js +81 -0
  169. package/dist/core/update.d.ts +4 -0
  170. package/dist/core/update.js +88 -0
  171. package/dist/core/validation/constants.d.ts +34 -0
  172. package/dist/core/validation/constants.js +40 -0
  173. package/dist/core/validation/types.d.ts +18 -0
  174. package/dist/core/validation/types.js +2 -0
  175. package/dist/core/validation/validator.d.ts +33 -0
  176. package/dist/core/validation/validator.js +409 -0
  177. package/dist/core/view.d.ts +8 -0
  178. package/dist/core/view.js +168 -0
  179. package/dist/index.d.ts +3 -0
  180. package/dist/index.js +3 -0
  181. package/dist/utils/change-metadata.d.ts +47 -0
  182. package/dist/utils/change-metadata.js +130 -0
  183. package/dist/utils/change-utils.d.ts +51 -0
  184. package/dist/utils/change-utils.js +100 -0
  185. package/dist/utils/file-system.d.ts +19 -0
  186. package/dist/utils/file-system.js +177 -0
  187. package/dist/utils/index.d.ts +4 -0
  188. package/dist/utils/index.js +5 -0
  189. package/dist/utils/interactive.d.ts +18 -0
  190. package/dist/utils/interactive.js +21 -0
  191. package/dist/utils/item-discovery.d.ts +4 -0
  192. package/dist/utils/item-discovery.js +72 -0
  193. package/dist/utils/match.d.ts +3 -0
  194. package/dist/utils/match.js +22 -0
  195. package/dist/utils/shell-detection.d.ts +20 -0
  196. package/dist/utils/shell-detection.js +41 -0
  197. package/dist/utils/task-progress.d.ts +8 -0
  198. package/dist/utils/task-progress.js +36 -0
  199. package/package.json +81 -0
  200. package/schemas/spec-driven/schema.yaml +205 -0
  201. package/schemas/spec-driven/templates/design.md +19 -0
  202. package/schemas/spec-driven/templates/proposal.md +43 -0
  203. package/schemas/spec-driven/templates/spec.md +8 -0
  204. package/schemas/spec-driven/templates/tasks.md +25 -0
  205. package/schemas/tdd/schema.yaml +213 -0
  206. package/schemas/tdd/templates/docs.md +0 -0
  207. package/schemas/tdd/templates/implementation.md +11 -0
  208. package/schemas/tdd/templates/spec.md +11 -0
  209. package/schemas/tdd/templates/test.md +11 -0
  210. package/scripts/postinstall.js +147 -0
@@ -0,0 +1,2 @@
1
+ export { agentsRootStubTemplate as claudeTemplate } from './agents-root-stub.js';
2
+ //# sourceMappingURL=claude-template.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { agentsRootStubTemplate as claudeTemplate } from './agents-root-stub.js';
2
+ //# sourceMappingURL=claude-template.js.map
@@ -0,0 +1,2 @@
1
+ export { agentsRootStubTemplate as clineTemplate } from './agents-root-stub.js';
2
+ //# sourceMappingURL=cline-template.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { agentsRootStubTemplate as clineTemplate } from './agents-root-stub.js';
2
+ //# sourceMappingURL=cline-template.js.map
@@ -0,0 +1,2 @@
1
+ export { agentsRootStubTemplate as costrictTemplate } from './agents-root-stub.js';
2
+ //# sourceMappingURL=costrict-template.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { agentsRootStubTemplate as costrictTemplate } from './agents-root-stub.js';
2
+ //# sourceMappingURL=costrict-template.js.map
@@ -0,0 +1,17 @@
1
+ import { ProjectContext } from './project-template.js';
2
+ import { SlashCommandId } from './slash-command-templates.js';
3
+ export interface Template {
4
+ path: string;
5
+ content: string | ((context: ProjectContext) => string);
6
+ }
7
+ export declare class TemplateManager {
8
+ static getTemplates(context?: ProjectContext): Template[];
9
+ static getClaudeTemplate(): string;
10
+ static getClineTemplate(): string;
11
+ static getCostrictTemplate(): string;
12
+ static getAgentsStandardTemplate(): string;
13
+ static getSlashCommandBody(id: SlashCommandId): string;
14
+ }
15
+ export { ProjectContext } from './project-template.js';
16
+ export type { SlashCommandId } from './slash-command-templates.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,37 @@
1
+ import { agentsTemplate } from './agents-template.js';
2
+ import { projectTemplate } from './project-template.js';
3
+ import { claudeTemplate } from './claude-template.js';
4
+ import { clineTemplate } from './cline-template.js';
5
+ import { costrictTemplate } from './costrict-template.js';
6
+ import { agentsRootStubTemplate } from './agents-root-stub.js';
7
+ import { getSlashCommandBody } from './slash-command-templates.js';
8
+ export class TemplateManager {
9
+ static getTemplates(context = {}) {
10
+ return [
11
+ {
12
+ path: 'AGENTS.md',
13
+ content: agentsTemplate
14
+ },
15
+ {
16
+ path: 'project.md',
17
+ content: projectTemplate(context)
18
+ }
19
+ ];
20
+ }
21
+ static getClaudeTemplate() {
22
+ return claudeTemplate;
23
+ }
24
+ static getClineTemplate() {
25
+ return clineTemplate;
26
+ }
27
+ static getCostrictTemplate() {
28
+ return costrictTemplate;
29
+ }
30
+ static getAgentsStandardTemplate() {
31
+ return agentsRootStubTemplate;
32
+ }
33
+ static getSlashCommandBody(id) {
34
+ return getSlashCommandBody(id);
35
+ }
36
+ }
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,8 @@
1
+ export interface ProjectContext {
2
+ projectName?: string;
3
+ description?: string;
4
+ techStack?: string[];
5
+ conventions?: string;
6
+ }
7
+ export declare const projectTemplate: (context?: ProjectContext) => string;
8
+ //# sourceMappingURL=project-template.d.ts.map
@@ -0,0 +1,32 @@
1
+ export const projectTemplate = (context = {}) => `# ${context.projectName || 'Project'} Context
2
+
3
+ ## Purpose
4
+ ${context.description || '[Describe your project\'s purpose and goals]'}
5
+
6
+ ## Tech Stack
7
+ ${context.techStack?.length ? context.techStack.map(tech => `- ${tech}`).join('\n') : '- [List your primary technologies]\n- [e.g., TypeScript, React, Node.js]'}
8
+
9
+ ## Project Conventions
10
+
11
+ ### Code Style
12
+ [Describe your code style preferences, formatting rules, and naming conventions]
13
+
14
+ ### Architecture Patterns
15
+ [Document your architectural decisions and patterns]
16
+
17
+ ### Testing Strategy
18
+ [Explain your testing approach and requirements]
19
+
20
+ ### Git Workflow
21
+ [Describe your branching strategy and commit conventions]
22
+
23
+ ## Domain Context
24
+ [Add domain-specific knowledge that AI assistants need to understand]
25
+
26
+ ## Important Constraints
27
+ [List any technical, business, or regulatory constraints]
28
+
29
+ ## External Dependencies
30
+ [Document key external services, APIs, or systems]
31
+ `;
32
+ //# sourceMappingURL=project-template.js.map
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Agent Skill Templates
3
+ *
4
+ * Templates for generating Agent Skills compatible with:
5
+ * - Claude Code
6
+ * - Cursor (Settings → Rules → Import Settings)
7
+ * - Windsurf
8
+ * - Other Agent Skills-compatible editors
9
+ */
10
+ export interface SkillTemplate {
11
+ name: string;
12
+ description: string;
13
+ instructions: string;
14
+ }
15
+ /**
16
+ * Template for zhuanspec-new-change skill
17
+ * Based on /opsx:new command
18
+ */
19
+ export declare function getNewChangeSkillTemplate(): SkillTemplate;
20
+ /**
21
+ * Template for zhuanspec-continue-change skill
22
+ * Based on /opsx:continue command
23
+ */
24
+ export declare function getContinueChangeSkillTemplate(): SkillTemplate;
25
+ /**
26
+ * Template for zhuanspec-apply-change skill
27
+ * For implementing tasks from a completed (or in-progress) change
28
+ */
29
+ export declare function getApplyChangeSkillTemplate(): SkillTemplate;
30
+ /**
31
+ * Template for zhuanspec-ff-change skill
32
+ * Fast-forward through artifact creation
33
+ */
34
+ export declare function getFfChangeSkillTemplate(): SkillTemplate;
35
+ /**
36
+ * Template for zhuanspec-sync-specs skill
37
+ * For syncing delta specs from a change to main specs (agent-driven)
38
+ */
39
+ export declare function getSyncSpecsSkillTemplate(): SkillTemplate;
40
+ /**
41
+ * Template for zhuanspec-propose-change skill
42
+ * One-step workflow: create change + generate all planning artifacts
43
+ */
44
+ export declare function getProposeChangeSkillTemplate(): SkillTemplate;
45
+ /**
46
+ * Template for zhuanspec-explore skill
47
+ * For exploration before committing to a change
48
+ */
49
+ export declare function getExploreSkillTemplate(): SkillTemplate;
50
+ /**
51
+ * Template for zhuanspec-verify skill
52
+ * For verifying implementation matches artifacts
53
+ */
54
+ export declare function getVerifySkillTemplate(): SkillTemplate;
55
+ /**
56
+ * Template for /opsx:propose slash command
57
+ */
58
+ export declare function getOpsxProposeCommandTemplate(): CommandTemplate;
59
+ /**
60
+ * Template for /opsx:explore slash command
61
+ */
62
+ export declare function getOpsxExploreCommandTemplate(): CommandTemplate;
63
+ /**
64
+ * Template for /opsx:verify slash command
65
+ */
66
+ export declare function getOpsxVerifyCommandTemplate(): CommandTemplate;
67
+ export interface CommandTemplate {
68
+ name: string;
69
+ description: string;
70
+ category: string;
71
+ tags: string[];
72
+ content: string;
73
+ }
74
+ /**
75
+ * Template for /opsx:new slash command
76
+ */
77
+ export declare function getOpsxNewCommandTemplate(): CommandTemplate;
78
+ /**
79
+ * Template for /opsx:continue slash command
80
+ */
81
+ export declare function getOpsxContinueCommandTemplate(): CommandTemplate;
82
+ /**
83
+ * Template for /opsx:apply slash command
84
+ */
85
+ export declare function getOpsxApplyCommandTemplate(): CommandTemplate;
86
+ /**
87
+ * Template for /opsx:ff slash command
88
+ */
89
+ export declare function getOpsxFfCommandTemplate(): CommandTemplate;
90
+ /**
91
+ * Template for zhuanspec-archive-change skill
92
+ * For archiving completed changes in the experimental workflow
93
+ */
94
+ export declare function getArchiveChangeSkillTemplate(): SkillTemplate;
95
+ /**
96
+ * Template for /opsx:sync slash command
97
+ */
98
+ export declare function getOpsxSyncCommandTemplate(): CommandTemplate;
99
+ /**
100
+ * Template for /opsx:archive slash command
101
+ */
102
+ export declare function getOpsxArchiveCommandTemplate(): CommandTemplate;
103
+ //# sourceMappingURL=skill-templates.d.ts.map