@orchestrator-claude/cli 1.4.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 (176) hide show
  1. package/README.md +74 -0
  2. package/dist/api-client/OrchestratorAPIClient.d.ts +111 -0
  3. package/dist/api-client/OrchestratorAPIClient.d.ts.map +1 -0
  4. package/dist/api-client/OrchestratorAPIClient.js +176 -0
  5. package/dist/api-client/OrchestratorAPIClient.js.map +1 -0
  6. package/dist/api-client/index.d.ts +11 -0
  7. package/dist/api-client/index.d.ts.map +1 -0
  8. package/dist/api-client/index.js +10 -0
  9. package/dist/api-client/index.js.map +1 -0
  10. package/dist/api-client/retry.d.ts +29 -0
  11. package/dist/api-client/retry.d.ts.map +1 -0
  12. package/dist/api-client/retry.js +85 -0
  13. package/dist/api-client/retry.js.map +1 -0
  14. package/dist/api-client/types.d.ts +148 -0
  15. package/dist/api-client/types.d.ts.map +1 -0
  16. package/dist/api-client/types.js +10 -0
  17. package/dist/api-client/types.js.map +1 -0
  18. package/dist/commands/AgentsCommand.d.ts +74 -0
  19. package/dist/commands/AgentsCommand.d.ts.map +1 -0
  20. package/dist/commands/AgentsCommand.js +170 -0
  21. package/dist/commands/AgentsCommand.js.map +1 -0
  22. package/dist/commands/InitCommand.d.ts +63 -0
  23. package/dist/commands/InitCommand.d.ts.map +1 -0
  24. package/dist/commands/InitCommand.js +150 -0
  25. package/dist/commands/InitCommand.js.map +1 -0
  26. package/dist/commands/MigrateCommand.d.ts +93 -0
  27. package/dist/commands/MigrateCommand.d.ts.map +1 -0
  28. package/dist/commands/MigrateCommand.js +260 -0
  29. package/dist/commands/MigrateCommand.js.map +1 -0
  30. package/dist/commands/StatusCommand.d.ts +61 -0
  31. package/dist/commands/StatusCommand.d.ts.map +1 -0
  32. package/dist/commands/StatusCommand.js +142 -0
  33. package/dist/commands/StatusCommand.js.map +1 -0
  34. package/dist/commands/TemplatesCommand.d.ts +69 -0
  35. package/dist/commands/TemplatesCommand.d.ts.map +1 -0
  36. package/dist/commands/TemplatesCommand.js +147 -0
  37. package/dist/commands/TemplatesCommand.js.map +1 -0
  38. package/dist/commands/WorkflowCommand.d.ts +82 -0
  39. package/dist/commands/WorkflowCommand.d.ts.map +1 -0
  40. package/dist/commands/WorkflowCommand.js +203 -0
  41. package/dist/commands/WorkflowCommand.js.map +1 -0
  42. package/dist/config/CLIConfig.d.ts +66 -0
  43. package/dist/config/CLIConfig.d.ts.map +1 -0
  44. package/dist/config/CLIConfig.js +60 -0
  45. package/dist/config/CLIConfig.js.map +1 -0
  46. package/dist/formatters/OutputFormatter.d.ts +102 -0
  47. package/dist/formatters/OutputFormatter.d.ts.map +1 -0
  48. package/dist/formatters/OutputFormatter.js +182 -0
  49. package/dist/formatters/OutputFormatter.js.map +1 -0
  50. package/dist/index.d.ts +15 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +249 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/templates/.gitkeep +0 -0
  55. package/dist/templates/TemplateEngine.d.ts +90 -0
  56. package/dist/templates/TemplateEngine.d.ts.map +1 -0
  57. package/dist/templates/TemplateEngine.js +149 -0
  58. package/dist/templates/TemplateEngine.js.map +1 -0
  59. package/dist/templates/base/CLAUDE.md.hbs +362 -0
  60. package/dist/templates/base/claude/agents/implementer.md +446 -0
  61. package/dist/templates/base/claude/agents/orchestrator.md +155 -0
  62. package/dist/templates/base/claude/agents/planner.md +348 -0
  63. package/dist/templates/base/claude/agents/researcher.md +390 -0
  64. package/dist/templates/base/claude/agents/reviewer.md +444 -0
  65. package/dist/templates/base/claude/agents/specifier.md +331 -0
  66. package/dist/templates/base/claude/agents/task-generator.md +382 -0
  67. package/dist/templates/base/claude/hooks/post-artifact-generate.sh +39 -0
  68. package/dist/templates/base/claude/hooks/post-implement-validate.sh +139 -0
  69. package/dist/templates/base/claude/hooks/post-phase-checkpoint.sh +322 -0
  70. package/dist/templates/base/claude/hooks/pre-agent-invoke.sh +34 -0
  71. package/dist/templates/base/claude/hooks/pre-phase-advance.sh +40 -0
  72. package/dist/templates/base/claude/hooks/track-agent-invocation.sh +230 -0
  73. package/dist/templates/base/claude/orchestrator-config.json +141 -0
  74. package/dist/templates/base/claude/settings.json +80 -0
  75. package/dist/templates/base/claude/skills/artifact-validator/SKILL.md +226 -0
  76. package/dist/templates/base/claude/skills/docs-guardian/SKILL.md +230 -0
  77. package/dist/templates/base/claude/skills/kb-lookup/SKILL.md +257 -0
  78. package/dist/templates/base/claude/skills/phase-gate-evaluator/SKILL.md +274 -0
  79. package/dist/templates/base/claude/skills/workflow-status/SKILL.md +322 -0
  80. package/dist/templates/base/docker-compose.yml.hbs +20 -0
  81. package/dist/templates/base/mcp.json.hbs +37 -0
  82. package/dist/templates/base/orchestrator/.state/.gitkeep +0 -0
  83. package/dist/templates/base/orchestrator-index.json.hbs +37 -0
  84. package/dist/templates/base/package.json.hbs +40 -0
  85. package/dist/templates/default/.orchestrator/orchestrator-index.json +19 -0
  86. package/dist/templates/default/README.md +58 -0
  87. package/dist/templates/default/docker-compose.yml +24 -0
  88. package/dist/templates/default/template.json +10 -0
  89. package/dist/templates/projects/api/files/index.ts.hbs +30 -0
  90. package/dist/templates/projects/api/files/server.ts.hbs +63 -0
  91. package/dist/templates/projects/api/files/tsconfig.json.hbs +27 -0
  92. package/dist/templates/projects/api/files/vitest.config.ts.hbs +28 -0
  93. package/dist/templates/projects/api/template.config.json +238 -0
  94. package/dist/templates/projects/api/template.config.ts +149 -0
  95. package/dist/templates/projects/cli/files/cli.ts.hbs +50 -0
  96. package/dist/templates/projects/cli/files/index.ts.hbs +8 -0
  97. package/dist/templates/projects/cli/files/tsconfig.json.hbs +27 -0
  98. package/dist/templates/projects/cli/files/vitest.config.ts.hbs +28 -0
  99. package/dist/templates/projects/cli/template.config.json +213 -0
  100. package/dist/templates/projects/cli/template.config.ts +126 -0
  101. package/dist/templates/projects/frontend/files/App.tsx.hbs +31 -0
  102. package/dist/templates/projects/frontend/files/index.html.hbs +13 -0
  103. package/dist/templates/projects/frontend/files/main.tsx.hbs +22 -0
  104. package/dist/templates/projects/frontend/files/tsconfig.json.hbs +34 -0
  105. package/dist/templates/projects/frontend/files/tsconfig.node.json.hbs +10 -0
  106. package/dist/templates/projects/frontend/files/vite.config.ts.hbs +19 -0
  107. package/dist/templates/projects/frontend/files/vitest.config.ts.hbs +36 -0
  108. package/dist/templates/projects/frontend/template.config.json +241 -0
  109. package/dist/templates/projects/frontend/template.config.ts +153 -0
  110. package/dist/templates/projects/minimal/files/claude-settings.json.hbs +20 -0
  111. package/dist/templates/projects/minimal/files/env.example.hbs +17 -0
  112. package/dist/templates/projects/minimal/files/gitignore.hbs +41 -0
  113. package/dist/templates/projects/minimal/files/index.ts.hbs +13 -0
  114. package/dist/templates/projects/minimal/files/tsconfig.json.hbs +27 -0
  115. package/dist/templates/projects/minimal/template.config.json +185 -0
  116. package/dist/templates/projects/minimal/template.config.ts +88 -0
  117. package/package.json +37 -0
  118. package/templates/.gitkeep +0 -0
  119. package/templates/base/CLAUDE.md.hbs +362 -0
  120. package/templates/base/claude/agents/implementer.md +446 -0
  121. package/templates/base/claude/agents/orchestrator.md +155 -0
  122. package/templates/base/claude/agents/planner.md +348 -0
  123. package/templates/base/claude/agents/researcher.md +390 -0
  124. package/templates/base/claude/agents/reviewer.md +444 -0
  125. package/templates/base/claude/agents/specifier.md +331 -0
  126. package/templates/base/claude/agents/task-generator.md +382 -0
  127. package/templates/base/claude/hooks/post-artifact-generate.sh +39 -0
  128. package/templates/base/claude/hooks/post-implement-validate.sh +139 -0
  129. package/templates/base/claude/hooks/post-phase-checkpoint.sh +322 -0
  130. package/templates/base/claude/hooks/pre-agent-invoke.sh +34 -0
  131. package/templates/base/claude/hooks/pre-phase-advance.sh +40 -0
  132. package/templates/base/claude/hooks/track-agent-invocation.sh +230 -0
  133. package/templates/base/claude/orchestrator-config.json +141 -0
  134. package/templates/base/claude/settings.json +80 -0
  135. package/templates/base/claude/skills/artifact-validator/SKILL.md +226 -0
  136. package/templates/base/claude/skills/docs-guardian/SKILL.md +230 -0
  137. package/templates/base/claude/skills/kb-lookup/SKILL.md +257 -0
  138. package/templates/base/claude/skills/phase-gate-evaluator/SKILL.md +274 -0
  139. package/templates/base/claude/skills/workflow-status/SKILL.md +322 -0
  140. package/templates/base/docker-compose.yml.hbs +20 -0
  141. package/templates/base/mcp.json.hbs +37 -0
  142. package/templates/base/orchestrator/.state/.gitkeep +0 -0
  143. package/templates/base/orchestrator-index.json.hbs +37 -0
  144. package/templates/base/package.json.hbs +40 -0
  145. package/templates/default/.orchestrator/orchestrator-index.json +19 -0
  146. package/templates/default/README.md +58 -0
  147. package/templates/default/docker-compose.yml +24 -0
  148. package/templates/default/template.json +10 -0
  149. package/templates/projects/api/files/index.ts.hbs +30 -0
  150. package/templates/projects/api/files/server.ts.hbs +63 -0
  151. package/templates/projects/api/files/tsconfig.json.hbs +27 -0
  152. package/templates/projects/api/files/vitest.config.ts.hbs +28 -0
  153. package/templates/projects/api/template.config.json +238 -0
  154. package/templates/projects/api/template.config.ts +149 -0
  155. package/templates/projects/cli/files/cli.ts.hbs +50 -0
  156. package/templates/projects/cli/files/index.ts.hbs +8 -0
  157. package/templates/projects/cli/files/tsconfig.json.hbs +27 -0
  158. package/templates/projects/cli/files/vitest.config.ts.hbs +28 -0
  159. package/templates/projects/cli/template.config.json +213 -0
  160. package/templates/projects/cli/template.config.ts +126 -0
  161. package/templates/projects/frontend/files/App.tsx.hbs +31 -0
  162. package/templates/projects/frontend/files/index.html.hbs +13 -0
  163. package/templates/projects/frontend/files/main.tsx.hbs +22 -0
  164. package/templates/projects/frontend/files/tsconfig.json.hbs +34 -0
  165. package/templates/projects/frontend/files/tsconfig.node.json.hbs +10 -0
  166. package/templates/projects/frontend/files/vite.config.ts.hbs +19 -0
  167. package/templates/projects/frontend/files/vitest.config.ts.hbs +36 -0
  168. package/templates/projects/frontend/template.config.json +241 -0
  169. package/templates/projects/frontend/template.config.ts +153 -0
  170. package/templates/projects/minimal/files/claude-settings.json.hbs +20 -0
  171. package/templates/projects/minimal/files/env.example.hbs +17 -0
  172. package/templates/projects/minimal/files/gitignore.hbs +41 -0
  173. package/templates/projects/minimal/files/index.ts.hbs +13 -0
  174. package/templates/projects/minimal/files/tsconfig.json.hbs +27 -0
  175. package/templates/projects/minimal/template.config.json +185 -0
  176. package/templates/projects/minimal/template.config.ts +88 -0
@@ -0,0 +1,50 @@
1
+ /**
2
+ * CLI Configuration
3
+ */
4
+
5
+ import { Command } from 'commander';
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+
9
+ export const cli = new Command();
10
+
11
+ cli
12
+ .name('{{kebabCase projectName}}')
13
+ .description('{{projectName}} - Command-line tool')
14
+ .version('1.0.0');
15
+
16
+ // Example command: hello
17
+ cli
18
+ .command('hello')
19
+ .description('Say hello')
20
+ .argument('[name]', 'Name to greet', 'World')
21
+ .option('-u, --uppercase', 'Output in uppercase')
22
+ .action((name: string, options: { uppercase?: boolean }) => {
23
+ const spinner = ora('Processing...').start();
24
+
25
+ setTimeout(() => {
26
+ spinner.succeed('Done!');
27
+
28
+ let message = `Hello, ${name}!`;
29
+ if (options.uppercase) {
30
+ message = message.toUpperCase();
31
+ }
32
+
33
+ console.log(chalk.green(message));
34
+ }, 500);
35
+ });
36
+
37
+ // Example command: info
38
+ cli
39
+ .command('info')
40
+ .description('Show CLI information')
41
+ .action(() => {
42
+ console.log(chalk.cyan.bold('\n{{projectName}}\n'));
43
+ console.log('A command-line tool built with:');
44
+ console.log(' • Commander.js - CLI framework');
45
+ console.log(' • Chalk - Terminal styling');
46
+ console.log(' • Ora - Terminal spinners');
47
+ console.log(' • Inquirer - Interactive prompts');
48
+ console.log(' • TypeScript - Type safety');
49
+ console.log();
50
+ });
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI Entry Point
4
+ */
5
+
6
+ import { cli } from './cli.js';
7
+
8
+ cli.parse(process.argv);
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ES2022",
5
+ "lib": ["ES2022"],
6
+ "moduleResolution": "node",
7
+ "esModuleInterop": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "resolveJsonModule": true,
10
+ "isolatedModules": true,
11
+ "strict": true,
12
+ "noUnusedLocals": true,
13
+ "noUnusedParameters": true,
14
+ "noImplicitReturns": true,
15
+ "noFallthroughCasesInSwitch": true,
16
+ "skipLibCheck": true,
17
+ "forceConsistentCasingInFileNames": true,
18
+ "outDir": "./dist",
19
+ "rootDir": "./src",
20
+ "declaration": true,
21
+ "declarationMap": true,
22
+ "sourceMap": true,
23
+ "types": ["node", "vitest/globals"]
24
+ },
25
+ "include": ["src/**/*"],
26
+ "exclude": ["node_modules", "dist", "tests"]
27
+ }
@@ -0,0 +1,28 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ globals: true,
6
+ environment: 'node',
7
+ coverage: {
8
+ provider: 'v8',
9
+ reporter: ['text', 'json', 'html', 'lcov'],
10
+ exclude: [
11
+ 'node_modules/',
12
+ 'dist/',
13
+ 'tests/',
14
+ '**/*.d.ts',
15
+ '**/*.config.*',
16
+ '**/index.ts',
17
+ ],
18
+ thresholds: {
19
+ lines: 80,
20
+ functions: 80,
21
+ branches: 80,
22
+ statements: 80,
23
+ },
24
+ },
25
+ include: ['tests/**/*.test.ts'],
26
+ exclude: ['node_modules', 'dist'],
27
+ },
28
+ });
@@ -0,0 +1,213 @@
1
+ {
2
+ "name": "cli",
3
+ "description": "Command-line tool with Commander.js",
4
+ "version": "1.0.0",
5
+ "directories": [
6
+ ".orchestrator",
7
+ ".orchestrator/artifacts",
8
+ ".orchestrator/artifacts/research",
9
+ ".orchestrator/artifacts/specify",
10
+ ".orchestrator/artifacts/plan",
11
+ ".orchestrator/artifacts/tasks",
12
+ ".orchestrator/artifacts/implement",
13
+ ".orchestrator/workflows",
14
+ ".orchestrator/memory",
15
+ ".orchestrator/memory/knowledge-base",
16
+ ".orchestrator/memory/knowledge-base/core",
17
+ ".orchestrator/memory/knowledge-base/contextual",
18
+ ".orchestrator/memory/knowledge-base/research",
19
+ ".orchestrator/checkpoints",
20
+ ".orchestrator/.state",
21
+ ".claude",
22
+ ".claude/agents",
23
+ ".claude/skills",
24
+ ".claude/skills/artifact-validator",
25
+ ".claude/skills/kb-lookup",
26
+ ".claude/skills/phase-gate-evaluator",
27
+ ".claude/skills/workflow-status",
28
+ ".claude/skills/docs-guardian",
29
+ ".claude/hooks",
30
+ "src",
31
+ "src/commands",
32
+ "src/utils",
33
+ "tests",
34
+ "tests/commands"
35
+ ],
36
+ "files": [
37
+ {
38
+ "source": "projects/cli/files/index.ts.hbs",
39
+ "destination": "src/index.ts",
40
+ "template": true
41
+ },
42
+ {
43
+ "source": "projects/cli/files/cli.ts.hbs",
44
+ "destination": "src/cli.ts",
45
+ "template": true
46
+ },
47
+ {
48
+ "source": "projects/cli/files/tsconfig.json.hbs",
49
+ "destination": "tsconfig.json",
50
+ "template": true
51
+ },
52
+ {
53
+ "source": "projects/cli/files/vitest.config.ts.hbs",
54
+ "destination": "vitest.config.ts",
55
+ "template": true
56
+ },
57
+ {
58
+ "source": "projects/minimal/files/gitignore.hbs",
59
+ "destination": ".gitignore",
60
+ "template": true
61
+ },
62
+ {
63
+ "source": "projects/minimal/files/env.example.hbs",
64
+ "destination": ".env.example",
65
+ "template": true
66
+ },
67
+ {
68
+ "source": "base/CLAUDE.md.hbs",
69
+ "destination": "CLAUDE.md",
70
+ "template": true
71
+ },
72
+ {
73
+ "source": "base/mcp.json.hbs",
74
+ "destination": ".mcp.json",
75
+ "template": true
76
+ },
77
+ {
78
+ "source": "base/package.json.hbs",
79
+ "destination": "package.json",
80
+ "template": true
81
+ },
82
+ {
83
+ "source": "base/orchestrator-index.json.hbs",
84
+ "destination": ".orchestrator/orchestrator-index.json",
85
+ "template": true
86
+ },
87
+ {
88
+ "source": "base/claude/settings.json",
89
+ "destination": ".claude/settings.json",
90
+ "template": false
91
+ },
92
+ {
93
+ "source": "base/claude/orchestrator-config.json",
94
+ "destination": ".claude/orchestrator-config.json",
95
+ "template": false
96
+ },
97
+ {
98
+ "source": "base/claude/agents/orchestrator.md",
99
+ "destination": ".claude/agents/orchestrator.md",
100
+ "template": false
101
+ },
102
+ {
103
+ "source": "base/claude/agents/specifier.md",
104
+ "destination": ".claude/agents/specifier.md",
105
+ "template": false
106
+ },
107
+ {
108
+ "source": "base/claude/agents/planner.md",
109
+ "destination": ".claude/agents/planner.md",
110
+ "template": false
111
+ },
112
+ {
113
+ "source": "base/claude/agents/task-generator.md",
114
+ "destination": ".claude/agents/task-generator.md",
115
+ "template": false
116
+ },
117
+ {
118
+ "source": "base/claude/agents/implementer.md",
119
+ "destination": ".claude/agents/implementer.md",
120
+ "template": false
121
+ },
122
+ {
123
+ "source": "base/claude/agents/reviewer.md",
124
+ "destination": ".claude/agents/reviewer.md",
125
+ "template": false
126
+ },
127
+ {
128
+ "source": "base/claude/agents/researcher.md",
129
+ "destination": ".claude/agents/researcher.md",
130
+ "template": false
131
+ },
132
+ {
133
+ "source": "base/claude/skills/artifact-validator/SKILL.md",
134
+ "destination": ".claude/skills/artifact-validator/SKILL.md",
135
+ "template": false
136
+ },
137
+ {
138
+ "source": "base/claude/skills/kb-lookup/SKILL.md",
139
+ "destination": ".claude/skills/kb-lookup/SKILL.md",
140
+ "template": false
141
+ },
142
+ {
143
+ "source": "base/claude/skills/phase-gate-evaluator/SKILL.md",
144
+ "destination": ".claude/skills/phase-gate-evaluator/SKILL.md",
145
+ "template": false
146
+ },
147
+ {
148
+ "source": "base/claude/skills/workflow-status/SKILL.md",
149
+ "destination": ".claude/skills/workflow-status/SKILL.md",
150
+ "template": false
151
+ },
152
+ {
153
+ "source": "base/claude/skills/docs-guardian/SKILL.md",
154
+ "destination": ".claude/skills/docs-guardian/SKILL.md",
155
+ "template": false
156
+ },
157
+ {
158
+ "source": "base/claude/hooks/pre-agent-invoke.sh",
159
+ "destination": ".claude/hooks/pre-agent-invoke.sh",
160
+ "template": false
161
+ },
162
+ {
163
+ "source": "base/claude/hooks/pre-phase-advance.sh",
164
+ "destination": ".claude/hooks/pre-phase-advance.sh",
165
+ "template": false
166
+ },
167
+ {
168
+ "source": "base/claude/hooks/post-artifact-generate.sh",
169
+ "destination": ".claude/hooks/post-artifact-generate.sh",
170
+ "template": false
171
+ },
172
+ {
173
+ "source": "base/claude/hooks/post-implement-validate.sh",
174
+ "destination": ".claude/hooks/post-implement-validate.sh",
175
+ "template": false
176
+ },
177
+ {
178
+ "source": "base/claude/hooks/track-agent-invocation.sh",
179
+ "destination": ".claude/hooks/track-agent-invocation.sh",
180
+ "template": false
181
+ },
182
+ {
183
+ "source": "base/claude/hooks/post-phase-checkpoint.sh",
184
+ "destination": ".claude/hooks/post-phase-checkpoint.sh",
185
+ "template": false
186
+ },
187
+ {
188
+ "source": "base/orchestrator/.state/.gitkeep",
189
+ "destination": ".orchestrator/.state/.gitkeep",
190
+ "template": false
191
+ }
192
+ ],
193
+ "dependencies": {
194
+ "commander": "^11.1.0",
195
+ "chalk": "^5.3.0",
196
+ "ora": "^7.0.1",
197
+ "inquirer": "^9.2.0"
198
+ },
199
+ "devDependencies": {
200
+ "@types/inquirer": "^9.0.0"
201
+ },
202
+ "scripts": {
203
+ "start": "node dist/index.js",
204
+ "dev": "tsx watch src/index.ts",
205
+ "build": "tsc",
206
+ "test": "vitest",
207
+ "test:coverage": "vitest --coverage",
208
+ "lint": "eslint src --ext .ts",
209
+ "lint:fix": "eslint src --ext .ts --fix"
210
+ },
211
+ "constitutionExtensions": [],
212
+ "knowledgeBaseSeeds": ["docs-constitution"]
213
+ }
@@ -0,0 +1,126 @@
1
+ /**
2
+ * CLI Project Template Configuration
3
+ */
4
+ import { ProjectTemplate } from '../../../../domain/entities/ProjectTemplate.js';
5
+
6
+ const config = ProjectTemplate.create({
7
+ name: 'cli',
8
+ description: 'Command-line tool with Commander.js',
9
+ version: '1.0.0',
10
+
11
+ directories: [
12
+ '.orchestrator',
13
+ '.orchestrator/artifacts',
14
+ '.orchestrator/artifacts/research',
15
+ '.orchestrator/artifacts/specify',
16
+ '.orchestrator/artifacts/plan',
17
+ '.orchestrator/artifacts/tasks',
18
+ '.orchestrator/artifacts/implement',
19
+ '.orchestrator/memory',
20
+ '.orchestrator/memory/knowledge-base',
21
+ '.orchestrator/memory/knowledge-base/core',
22
+ '.orchestrator/memory/knowledge-base/contextual',
23
+ '.orchestrator/memory/knowledge-base/research',
24
+ '.orchestrator/checkpoints',
25
+ '.orchestrator/.state',
26
+ 'src',
27
+ 'src/commands',
28
+ 'src/utils',
29
+ 'tests',
30
+ 'tests/commands',
31
+ ],
32
+
33
+ files: [
34
+ {
35
+ source: 'projects/cli/files/index.ts.hbs',
36
+ destination: 'src/index.ts',
37
+ template: true,
38
+ },
39
+ {
40
+ source: 'projects/cli/files/cli.ts.hbs',
41
+ destination: 'src/cli.ts',
42
+ template: true,
43
+ },
44
+ {
45
+ source: 'projects/cli/files/tsconfig.json.hbs',
46
+ destination: 'tsconfig.json',
47
+ template: true,
48
+ },
49
+ {
50
+ source: 'projects/cli/files/vitest.config.ts.hbs',
51
+ destination: 'vitest.config.ts',
52
+ template: true,
53
+ },
54
+ {
55
+ source: 'projects/minimal/files/gitignore.hbs',
56
+ destination: '.gitignore',
57
+ template: true,
58
+ },
59
+ {
60
+ source: 'projects/minimal/files/env.example.hbs',
61
+ destination: '.env.example',
62
+ template: true,
63
+ },
64
+ {
65
+ source: 'projects/minimal/files/claude-settings.json.hbs',
66
+ destination: '.claude/claude-settings.json',
67
+ template: true,
68
+ },
69
+ {
70
+ source: 'base/CLAUDE.md.hbs',
71
+ destination: 'CLAUDE.md',
72
+ template: true,
73
+ },
74
+ {
75
+ source: 'base/mcp.json.hbs',
76
+ destination: '.mcp.json',
77
+ template: true,
78
+ },
79
+ {
80
+ source: 'base/package.json.hbs',
81
+ destination: 'package.json',
82
+ template: true,
83
+ },
84
+ {
85
+ source: 'base/orchestrator-index.json.hbs',
86
+ destination: '.orchestrator/orchestrator-index.json',
87
+ template: true,
88
+ },
89
+ {
90
+ source: 'base/orchestrator/.state/.gitkeep',
91
+ destination: '.orchestrator/.state/.gitkeep',
92
+ template: false,
93
+ },
94
+ ],
95
+
96
+ dependencies: {
97
+ commander: '^11.1.0',
98
+ chalk: '^5.3.0',
99
+ ora: '^7.0.1',
100
+ inquirer: '^9.2.0',
101
+ },
102
+
103
+ devDependencies: {
104
+ '@types/inquirer': '^9.0.0',
105
+ },
106
+
107
+ scripts: {
108
+ start: 'node dist/index.js',
109
+ dev: 'tsx watch src/index.ts',
110
+ build: 'tsc',
111
+ test: 'vitest',
112
+ 'test:coverage': 'vitest --coverage',
113
+ lint: 'eslint src --ext .ts',
114
+ 'lint:fix': 'eslint src --ext .ts --fix',
115
+ },
116
+
117
+ constitutionExtensions: [],
118
+
119
+ knowledgeBaseSeeds: [],
120
+ });
121
+
122
+ if (config.isErr()) {
123
+ throw new Error(`Failed to create CLI template config: ${config.error}`);
124
+ }
125
+
126
+ export default config.value;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Main Application Component
3
+ */
4
+
5
+ import { Routes, Route } from 'react-router-dom';
6
+
7
+ function HomePage() {
8
+ return (
9
+ <div style=\{{ padding: '2rem', fontFamily: 'system-ui, sans-serif' }}>
10
+ <h1>Welcome to {{projectName}}</h1>
11
+ <p>This is a React application scaffolded with Orchestrator CLI.</p>
12
+ <ul>
13
+ <li>React 18 with TypeScript</li>
14
+ <li>Vite for fast development</li>
15
+ <li>React Router for navigation</li>
16
+ <li>Vitest for testing</li>
17
+ </ul>
18
+ </div>
19
+ );
20
+ }
21
+
22
+ function App() {
23
+ return (
24
+ <Routes>
25
+ <Route path="/" element={<HomePage />} />
26
+ <Route path="*" element={<div>404 - Page Not Found</div>} />
27
+ </Routes>
28
+ );
29
+ }
30
+
31
+ export default App;
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>{{projectName}}</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Application Entry Point
3
+ */
4
+
5
+ import React from 'react';
6
+ import ReactDOM from 'react-dom/client';
7
+ import { BrowserRouter } from 'react-router-dom';
8
+ import App from './App';
9
+
10
+ const rootElement = document.getElementById('root');
11
+
12
+ if (!rootElement) {
13
+ throw new Error('Root element not found');
14
+ }
15
+
16
+ ReactDOM.createRoot(rootElement).render(
17
+ <React.StrictMode>
18
+ <BrowserRouter>
19
+ <App />
20
+ </BrowserRouter>
21
+ </React.StrictMode>
22
+ );
@@ -0,0 +1,34 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "jsx": "react-jsx",
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+
23
+ /* Path mapping */
24
+ "baseUrl": ".",
25
+ "paths": {
26
+ "@/*": ["./src/*"]
27
+ },
28
+
29
+ /* Types */
30
+ "types": ["vitest/globals"]
31
+ },
32
+ "include": ["src"],
33
+ "references": [{ "path": "./tsconfig.node.json" }]
34
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "skipLibCheck": true,
5
+ "module": "ESNext",
6
+ "moduleResolution": "bundler",
7
+ "allowSyntheticDefaultImports": true
8
+ },
9
+ "include": ["vite.config.ts"]
10
+ }
@@ -0,0 +1,19 @@
1
+ import { defineConfig } from 'vite';
2
+ import react from '@vitejs/plugin-react';
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ server: {
7
+ port: 3000,
8
+ open: true,
9
+ },
10
+ build: {
11
+ outDir: 'dist',
12
+ sourcemap: true,
13
+ },
14
+ resolve: {
15
+ alias: {
16
+ '@': '/src',
17
+ },
18
+ },
19
+ });
@@ -0,0 +1,36 @@
1
+ import { defineConfig } from 'vitest/config';
2
+ import react from '@vitejs/plugin-react';
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ test: {
7
+ globals: true,
8
+ environment: 'jsdom',
9
+ setupFiles: './tests/setup.ts',
10
+ coverage: {
11
+ provider: 'v8',
12
+ reporter: ['text', 'json', 'html', 'lcov'],
13
+ exclude: [
14
+ 'node_modules/',
15
+ 'dist/',
16
+ 'tests/',
17
+ '**/*.d.ts',
18
+ '**/*.config.*',
19
+ '**/main.tsx',
20
+ ],
21
+ thresholds: {
22
+ lines: 80,
23
+ functions: 80,
24
+ branches: 80,
25
+ statements: 80,
26
+ },
27
+ },
28
+ include: ['tests/**/*.test.{ts,tsx}'],
29
+ exclude: ['node_modules', 'dist'],
30
+ },
31
+ resolve: {
32
+ alias: {
33
+ '@': '/src',
34
+ },
35
+ },
36
+ });