@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,102 @@
1
+ /**
2
+ * Output Formatter
3
+ *
4
+ * Consistent formatting for CLI output with color support.
5
+ * Supports both human-readable and JSON output formats.
6
+ *
7
+ * @module formatters
8
+ */
9
+ /**
10
+ * Table column definition
11
+ */
12
+ export interface TableColumn {
13
+ header: string;
14
+ key: string;
15
+ width?: number;
16
+ align?: 'left' | 'right' | 'center';
17
+ }
18
+ /**
19
+ * Table data row
20
+ */
21
+ export type TableRow = Record<string, string | number | boolean | undefined>;
22
+ /**
23
+ * Output Formatter
24
+ *
25
+ * Provides consistent formatting methods for CLI output:
26
+ * - Colored messages (success, error, info, warn)
27
+ * - Formatted tables
28
+ * - JSON output support
29
+ */
30
+ export declare class OutputFormatter {
31
+ private readonly jsonMode;
32
+ /**
33
+ * Create output formatter
34
+ *
35
+ * @param jsonMode - If true, output JSON instead of formatted text
36
+ */
37
+ constructor(jsonMode?: boolean);
38
+ /**
39
+ * Format success message
40
+ *
41
+ * @param message - Success message
42
+ * @returns Formatted message
43
+ */
44
+ success(message: string): string;
45
+ /**
46
+ * Format error message
47
+ *
48
+ * @param message - Error message
49
+ * @returns Formatted message
50
+ */
51
+ error(message: string): string;
52
+ /**
53
+ * Format info message
54
+ *
55
+ * @param message - Info message
56
+ * @returns Formatted message
57
+ */
58
+ info(message: string): string;
59
+ /**
60
+ * Format warning message
61
+ *
62
+ * @param message - Warning message
63
+ * @returns Formatted message
64
+ */
65
+ warn(message: string): string;
66
+ /**
67
+ * Format data as table
68
+ *
69
+ * @param data - Array of row objects
70
+ * @param columns - Column definitions (optional, auto-detected if not provided)
71
+ * @returns Formatted table
72
+ */
73
+ table(data: TableRow[], columns?: TableColumn[]): string;
74
+ /**
75
+ * Format data as JSON
76
+ *
77
+ * @param data - Data to format
78
+ * @returns JSON string
79
+ */
80
+ json(data: unknown): string;
81
+ /**
82
+ * Detect columns from data
83
+ */
84
+ private detectColumns;
85
+ /**
86
+ * Calculate column widths
87
+ */
88
+ private calculateColumnWidths;
89
+ /**
90
+ * Pad cell to width
91
+ */
92
+ private padCell;
93
+ /**
94
+ * Capitalize first letter
95
+ */
96
+ private capitalize;
97
+ }
98
+ /**
99
+ * Create default formatter (text mode)
100
+ */
101
+ export declare function createFormatter(jsonMode?: boolean): OutputFormatter;
102
+ //# sourceMappingURL=OutputFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/OutputFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC;;;;OAIG;gBACS,QAAQ,UAAQ;IAI5B;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOhC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO9B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM;IA0CxD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAI3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,OAAO;IAoBf;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,UAAQ,GAAG,eAAe,CAEjE"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Output Formatter
3
+ *
4
+ * Consistent formatting for CLI output with color support.
5
+ * Supports both human-readable and JSON output formats.
6
+ *
7
+ * @module formatters
8
+ */
9
+ import chalk from 'chalk';
10
+ /**
11
+ * Output Formatter
12
+ *
13
+ * Provides consistent formatting methods for CLI output:
14
+ * - Colored messages (success, error, info, warn)
15
+ * - Formatted tables
16
+ * - JSON output support
17
+ */
18
+ export class OutputFormatter {
19
+ jsonMode;
20
+ /**
21
+ * Create output formatter
22
+ *
23
+ * @param jsonMode - If true, output JSON instead of formatted text
24
+ */
25
+ constructor(jsonMode = false) {
26
+ this.jsonMode = jsonMode;
27
+ }
28
+ /**
29
+ * Format success message
30
+ *
31
+ * @param message - Success message
32
+ * @returns Formatted message
33
+ */
34
+ success(message) {
35
+ if (this.jsonMode) {
36
+ return JSON.stringify({ status: 'success', message });
37
+ }
38
+ return chalk.green('✓ ' + message);
39
+ }
40
+ /**
41
+ * Format error message
42
+ *
43
+ * @param message - Error message
44
+ * @returns Formatted message
45
+ */
46
+ error(message) {
47
+ if (this.jsonMode) {
48
+ return JSON.stringify({ status: 'error', message });
49
+ }
50
+ return chalk.red('✗ ' + message);
51
+ }
52
+ /**
53
+ * Format info message
54
+ *
55
+ * @param message - Info message
56
+ * @returns Formatted message
57
+ */
58
+ info(message) {
59
+ if (this.jsonMode) {
60
+ return JSON.stringify({ status: 'info', message });
61
+ }
62
+ return chalk.blue('ℹ ' + message);
63
+ }
64
+ /**
65
+ * Format warning message
66
+ *
67
+ * @param message - Warning message
68
+ * @returns Formatted message
69
+ */
70
+ warn(message) {
71
+ if (this.jsonMode) {
72
+ return JSON.stringify({ status: 'warning', message });
73
+ }
74
+ return chalk.yellow('⚠ ' + message);
75
+ }
76
+ /**
77
+ * Format data as table
78
+ *
79
+ * @param data - Array of row objects
80
+ * @param columns - Column definitions (optional, auto-detected if not provided)
81
+ * @returns Formatted table
82
+ */
83
+ table(data, columns) {
84
+ if (data.length === 0) {
85
+ return this.info('No data to display');
86
+ }
87
+ if (this.jsonMode) {
88
+ return JSON.stringify(data, null, 2);
89
+ }
90
+ // Auto-detect columns if not provided
91
+ const cols = columns ?? this.detectColumns(data);
92
+ // Calculate column widths
93
+ const widths = this.calculateColumnWidths(data, cols);
94
+ // Build table
95
+ const lines = [];
96
+ // Header
97
+ const headerLine = cols
98
+ .map((col, i) => this.padCell(col.header, widths[i], col.align ?? 'left'))
99
+ .join(' ');
100
+ lines.push(chalk.bold(headerLine));
101
+ // Separator
102
+ const separator = cols.map((_, i) => '─'.repeat(widths[i])).join(' ');
103
+ lines.push(separator);
104
+ // Rows
105
+ for (const row of data) {
106
+ const rowLine = cols
107
+ .map((col, i) => {
108
+ const value = row[col.key] ?? '';
109
+ return this.padCell(String(value), widths[i], col.align ?? 'left');
110
+ })
111
+ .join(' ');
112
+ lines.push(rowLine);
113
+ }
114
+ return lines.join('\n');
115
+ }
116
+ /**
117
+ * Format data as JSON
118
+ *
119
+ * @param data - Data to format
120
+ * @returns JSON string
121
+ */
122
+ json(data) {
123
+ return JSON.stringify(data, null, 2);
124
+ }
125
+ /**
126
+ * Detect columns from data
127
+ */
128
+ detectColumns(data) {
129
+ const keys = Object.keys(data[0]);
130
+ return keys.map((key) => ({
131
+ header: this.capitalize(key),
132
+ key,
133
+ }));
134
+ }
135
+ /**
136
+ * Calculate column widths
137
+ */
138
+ calculateColumnWidths(data, columns) {
139
+ return columns.map((col) => {
140
+ if (col.width) {
141
+ return col.width;
142
+ }
143
+ // Calculate max width needed
144
+ const headerWidth = col.header.length;
145
+ const maxDataWidth = Math.max(...data.map((row) => String(row[col.key] ?? '').length));
146
+ return Math.max(headerWidth, maxDataWidth);
147
+ });
148
+ }
149
+ /**
150
+ * Pad cell to width
151
+ */
152
+ padCell(value, width, align) {
153
+ if (value.length >= width) {
154
+ return value.substring(0, width);
155
+ }
156
+ const padding = width - value.length;
157
+ switch (align) {
158
+ case 'right':
159
+ return ' '.repeat(padding) + value;
160
+ case 'center': {
161
+ const leftPad = Math.floor(padding / 2);
162
+ const rightPad = padding - leftPad;
163
+ return ' '.repeat(leftPad) + value + ' '.repeat(rightPad);
164
+ }
165
+ default:
166
+ return value + ' '.repeat(padding);
167
+ }
168
+ }
169
+ /**
170
+ * Capitalize first letter
171
+ */
172
+ capitalize(str) {
173
+ return str.charAt(0).toUpperCase() + str.slice(1);
174
+ }
175
+ }
176
+ /**
177
+ * Create default formatter (text mode)
178
+ */
179
+ export function createFormatter(jsonMode = false) {
180
+ return new OutputFormatter(jsonMode);
181
+ }
182
+ //# sourceMappingURL=OutputFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputFormatter.js","sourceRoot":"","sources":["../../src/formatters/OutputFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Orchestrator CLI - Entry Point
4
+ *
5
+ * Thin client for the Orchestrator System.
6
+ * Registers all commands and delegates to specialized command handlers.
7
+ *
8
+ * @module cli
9
+ * @version 1.4.0
10
+ */
11
+ /**
12
+ * CLI version
13
+ */
14
+ export declare const CLI_VERSION = "1.4.0";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAaH;;GAEG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,249 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Orchestrator CLI - Entry Point
4
+ *
5
+ * Thin client for the Orchestrator System.
6
+ * Registers all commands and delegates to specialized command handlers.
7
+ *
8
+ * @module cli
9
+ * @version 1.4.0
10
+ */
11
+ import { Command } from 'commander';
12
+ import { InitCommand } from './commands/InitCommand.js';
13
+ import { TemplatesCommand } from './commands/TemplatesCommand.js';
14
+ import { StatusCommand } from './commands/StatusCommand.js';
15
+ import { WorkflowCommand } from './commands/WorkflowCommand.js';
16
+ import { AgentsCommand } from './commands/AgentsCommand.js';
17
+ import { MigrateCommand } from './commands/MigrateCommand.js';
18
+ import { TemplateEngine } from './templates/TemplateEngine.js';
19
+ import { OrchestratorAPIClient } from './api-client/OrchestratorAPIClient.js';
20
+ import { OutputFormatter } from './formatters/OutputFormatter.js';
21
+ /**
22
+ * CLI version
23
+ */
24
+ export const CLI_VERSION = '1.4.0';
25
+ /**
26
+ * Main CLI function
27
+ */
28
+ async function main() {
29
+ // Initialize program
30
+ const program = new Command();
31
+ program
32
+ .name('orchestrator')
33
+ .version(CLI_VERSION)
34
+ .description('Orchestrator CLI - Thin Client');
35
+ // Initialize shared dependencies
36
+ const templateEngine = new TemplateEngine(); // Uses default bundled templates
37
+ const apiClient = new OrchestratorAPIClient(); // Uses default config (localhost:3000)
38
+ const formatter = new OutputFormatter(false); // Human-readable output (not JSON)
39
+ // Initialize commands
40
+ const initCommand = new InitCommand(templateEngine, formatter);
41
+ const templatesCommand = new TemplatesCommand(templateEngine, formatter);
42
+ const statusCommand = new StatusCommand(apiClient, formatter);
43
+ const workflowCommand = new WorkflowCommand(apiClient, formatter);
44
+ const agentsCommand = new AgentsCommand(apiClient, formatter);
45
+ const migrateCommand = new MigrateCommand(templateEngine, formatter);
46
+ // Register: init command
47
+ program
48
+ .command('init <project-name>')
49
+ .description('Initialize a new Orchestrator project')
50
+ .option('-t, --template <name>', 'Template name', 'default')
51
+ .option('-o, --output-path <path>', 'Output directory', process.cwd())
52
+ .option('--orchestrator-version <version>', 'Orchestrator version', 'latest')
53
+ .option('--json', 'Output as JSON')
54
+ .action(async (projectName, options) => {
55
+ const result = await initCommand.execute({
56
+ projectName,
57
+ template: options.template,
58
+ outputPath: options.outputPath,
59
+ orchestratorVersion: options.orchestratorVersion,
60
+ jsonOutput: options.json,
61
+ });
62
+ if (options.json) {
63
+ console.log(JSON.stringify(result, null, 2));
64
+ }
65
+ else {
66
+ console.log(initCommand.formatResult(result));
67
+ }
68
+ process.exit(result.success ? 0 : 1);
69
+ });
70
+ // Register: templates command
71
+ const templates = program
72
+ .command('templates')
73
+ .description('Manage project templates');
74
+ templates
75
+ .command('list')
76
+ .description('List available templates')
77
+ .option('--json', 'Output as JSON')
78
+ .action(async (options) => {
79
+ const result = await templatesCommand.execute({ action: 'list', jsonOutput: options.json });
80
+ if (options.json) {
81
+ console.log(JSON.stringify(result, null, 2));
82
+ }
83
+ else {
84
+ console.log(templatesCommand.formatResult(result));
85
+ }
86
+ process.exit(result.success ? 0 : 1);
87
+ });
88
+ templates
89
+ .command('info <template-name>')
90
+ .description('Show template information')
91
+ .option('--json', 'Output as JSON')
92
+ .action(async (templateName, options) => {
93
+ const result = await templatesCommand.execute({
94
+ action: 'info',
95
+ templateName,
96
+ jsonOutput: options.json,
97
+ });
98
+ if (options.json) {
99
+ console.log(JSON.stringify(result, null, 2));
100
+ }
101
+ else {
102
+ console.log(templatesCommand.formatResult(result));
103
+ }
104
+ process.exit(result.success ? 0 : 1);
105
+ });
106
+ // Register: status command
107
+ program
108
+ .command('status')
109
+ .description('Check orchestrator system status')
110
+ .option('--json', 'Output as JSON')
111
+ .action(async (options) => {
112
+ const result = await statusCommand.execute({ jsonOutput: options.json });
113
+ if (options.json) {
114
+ console.log(JSON.stringify(result, null, 2));
115
+ }
116
+ else {
117
+ console.log(statusCommand.formatResult(result));
118
+ }
119
+ process.exit(result.success ? 0 : 1);
120
+ });
121
+ // Register: workflow command
122
+ const workflow = program.command('workflow').description('Manage workflows');
123
+ workflow
124
+ .command('detect <prompt>')
125
+ .description('Detect workflow type from prompt')
126
+ .option('--json', 'Output as JSON')
127
+ .action(async (prompt, options) => {
128
+ const result = await workflowCommand.execute({
129
+ action: 'detect',
130
+ prompt,
131
+ jsonOutput: options.json,
132
+ });
133
+ if (options.json) {
134
+ console.log(JSON.stringify(result, null, 2));
135
+ }
136
+ else {
137
+ console.log(workflowCommand.formatResult(result));
138
+ }
139
+ process.exit(result.success ? 0 : 1);
140
+ });
141
+ workflow
142
+ .command('start')
143
+ .description('Start a new workflow')
144
+ .option('-p, --prompt <text>', 'Workflow prompt')
145
+ .option('-t, --type <type>', 'Workflow type (feature_development, bug_fix, refactoring, emergency_debug)')
146
+ .option('--json', 'Output as JSON')
147
+ .action(async (options) => {
148
+ const result = await workflowCommand.execute({
149
+ action: 'start',
150
+ prompt: options.prompt,
151
+ workflowType: options.type,
152
+ jsonOutput: options.json,
153
+ });
154
+ if (options.json) {
155
+ console.log(JSON.stringify(result, null, 2));
156
+ }
157
+ else {
158
+ console.log(workflowCommand.formatResult(result));
159
+ }
160
+ process.exit(result.success ? 0 : 1);
161
+ });
162
+ workflow
163
+ .command('advance')
164
+ .description('Advance workflow to next phase')
165
+ .option('-w, --workflow-id <id>', 'Workflow ID (defaults to active workflow)')
166
+ .option('-p, --phase <phase>', 'Target phase')
167
+ .option('--json', 'Output as JSON')
168
+ .action(async (options) => {
169
+ const result = await workflowCommand.execute({
170
+ action: 'advance',
171
+ workflowId: options.workflowId,
172
+ targetPhase: options.phase,
173
+ jsonOutput: options.json,
174
+ });
175
+ if (options.json) {
176
+ console.log(JSON.stringify(result, null, 2));
177
+ }
178
+ else {
179
+ console.log(workflowCommand.formatResult(result));
180
+ }
181
+ process.exit(result.success ? 0 : 1);
182
+ });
183
+ // Register: agents command
184
+ const agents = program.command('agents').description('List available agents');
185
+ agents
186
+ .command('list')
187
+ .description('List all available agents')
188
+ .option('--json', 'Output as JSON')
189
+ .action(async (options) => {
190
+ const result = await agentsCommand.execute({ action: 'list', jsonOutput: options.json });
191
+ if (options.json) {
192
+ console.log(JSON.stringify(result, null, 2));
193
+ }
194
+ else {
195
+ console.log(agentsCommand.formatResult(result));
196
+ }
197
+ process.exit(result.success ? 0 : 1);
198
+ });
199
+ agents
200
+ .command('info <agent-name>')
201
+ .description('Show agent information')
202
+ .option('--json', 'Output as JSON')
203
+ .action(async (agentName, options) => {
204
+ const result = await agentsCommand.execute({
205
+ action: 'info',
206
+ agentName,
207
+ jsonOutput: options.json,
208
+ });
209
+ if (options.json) {
210
+ console.log(JSON.stringify(result, null, 2));
211
+ }
212
+ else {
213
+ console.log(agentsCommand.formatResult(result));
214
+ }
215
+ process.exit(result.success ? 0 : 1);
216
+ });
217
+ // Register: migrate command
218
+ program
219
+ .command('migrate <project-path>')
220
+ .description('Migrate existing project to Orchestrator')
221
+ .option('--dry-run', 'Show what would be migrated without making changes')
222
+ .option('--json', 'Output as JSON')
223
+ .action(async (projectPath, options) => {
224
+ const result = await migrateCommand.execute({
225
+ projectPath,
226
+ dryRun: options.dryRun,
227
+ jsonOutput: options.json,
228
+ });
229
+ if (options.json) {
230
+ console.log(JSON.stringify(result, null, 2));
231
+ }
232
+ else {
233
+ console.log(migrateCommand.formatResult(result));
234
+ }
235
+ process.exit(result.success ? 0 : 1);
236
+ });
237
+ // Parse arguments
238
+ await program.parseAsync(process.argv);
239
+ // If no command provided, show help
240
+ if (process.argv.length <= 2) {
241
+ program.help();
242
+ }
243
+ }
244
+ // Run CLI
245
+ main().catch((error) => {
246
+ console.error('Fatal error:', error.message);
247
+ process.exit(1);
248
+ });
249
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Template Engine
3
+ *
4
+ * Renders templates using Handlebars and manages bundled templates.
5
+ * Used by offline commands (init, templates, migrate).
6
+ *
7
+ * @module templates
8
+ */
9
+ /**
10
+ * Template metadata
11
+ */
12
+ export interface TemplateMetadata {
13
+ name: string;
14
+ description: string;
15
+ version: string;
16
+ files: string[];
17
+ }
18
+ /**
19
+ * Template rendering context
20
+ */
21
+ export interface TemplateContext {
22
+ projectName: string;
23
+ orchestratorVersion: string;
24
+ [key: string]: string | number | boolean;
25
+ }
26
+ /**
27
+ * Template Engine
28
+ *
29
+ * Manages bundled templates and renders them with Handlebars.
30
+ */
31
+ export declare class TemplateEngine {
32
+ private readonly templatesPath;
33
+ private readonly templates;
34
+ /**
35
+ * Create template engine
36
+ *
37
+ * @param templatesPath - Path to templates directory (default: bundled templates)
38
+ */
39
+ constructor(templatesPath?: string);
40
+ /**
41
+ * List available templates
42
+ *
43
+ * @returns Array of template metadata
44
+ */
45
+ listTemplates(): TemplateMetadata[];
46
+ /**
47
+ * Get template metadata
48
+ *
49
+ * @param name - Template name
50
+ * @returns Template metadata or undefined
51
+ */
52
+ getTemplate(name: string): TemplateMetadata | undefined;
53
+ /**
54
+ * Render template file
55
+ *
56
+ * @param templateName - Template name
57
+ * @param fileName - File name within template
58
+ * @param context - Rendering context
59
+ * @returns Rendered content
60
+ */
61
+ renderFile(templateName: string, fileName: string, context: TemplateContext): string;
62
+ /**
63
+ * Check if template exists
64
+ *
65
+ * @param name - Template name
66
+ * @returns True if template exists
67
+ */
68
+ hasTemplate(name: string): boolean;
69
+ /**
70
+ * Resolve templates path
71
+ *
72
+ * Finds templates directory relative to this module.
73
+ * In production (bundled), templates are in dist/templates.
74
+ * In development, templates are in packages/cli/templates.
75
+ */
76
+ private resolveTemplatesPath;
77
+ /**
78
+ * Load all templates from templates directory
79
+ */
80
+ private loadTemplates;
81
+ /**
82
+ * Load template metadata
83
+ */
84
+ private loadTemplateMetadata;
85
+ }
86
+ /**
87
+ * Create default template engine
88
+ */
89
+ export declare function createTemplateEngine(): TemplateEngine;
90
+ //# sourceMappingURL=TemplateEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateEngine.d.ts","sourceRoot":"","sources":["../../src/templates/TemplateEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D;;;;OAIG;gBACS,aAAa,CAAC,EAAE,MAAM;IAMlC;;;;OAIG;IACH,aAAa,IAAI,gBAAgB,EAAE;IAInC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIvD;;;;;;;OAOG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM;IAiBpF;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAsB7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}