popeye-cli 1.2.1 → 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 (114) hide show
  1. package/.env.example +4 -1
  2. package/CONTRIBUTING.md +10 -0
  3. package/README.md +111 -2
  4. package/dist/adapters/claude.d.ts +3 -2
  5. package/dist/adapters/claude.d.ts.map +1 -1
  6. package/dist/adapters/claude.js +214 -0
  7. package/dist/adapters/claude.js.map +1 -1
  8. package/dist/adapters/grok.d.ts +2 -1
  9. package/dist/adapters/grok.d.ts.map +1 -1
  10. package/dist/adapters/grok.js.map +1 -1
  11. package/dist/adapters/index.d.ts +8 -0
  12. package/dist/adapters/index.d.ts.map +1 -0
  13. package/dist/adapters/index.js +12 -0
  14. package/dist/adapters/index.js.map +1 -0
  15. package/dist/adapters/openai.d.ts +2 -2
  16. package/dist/adapters/openai.d.ts.map +1 -1
  17. package/dist/adapters/openai.js.map +1 -1
  18. package/dist/cli/commands/create.d.ts.map +1 -1
  19. package/dist/cli/commands/create.js +25 -5
  20. package/dist/cli/commands/create.js.map +1 -1
  21. package/dist/cli/interactive.d.ts.map +1 -1
  22. package/dist/cli/interactive.js +47 -6
  23. package/dist/cli/interactive.js.map +1 -1
  24. package/dist/generators/all.d.ts +40 -0
  25. package/dist/generators/all.d.ts.map +1 -0
  26. package/dist/generators/all.js +826 -0
  27. package/dist/generators/all.js.map +1 -0
  28. package/dist/generators/fullstack.d.ts +9 -0
  29. package/dist/generators/fullstack.d.ts.map +1 -1
  30. package/dist/generators/fullstack.js.map +1 -1
  31. package/dist/generators/index.d.ts +3 -1
  32. package/dist/generators/index.d.ts.map +1 -1
  33. package/dist/generators/index.js +33 -0
  34. package/dist/generators/index.js.map +1 -1
  35. package/dist/generators/templates/index.d.ts +2 -0
  36. package/dist/generators/templates/index.d.ts.map +1 -1
  37. package/dist/generators/templates/index.js +2 -0
  38. package/dist/generators/templates/index.js.map +1 -1
  39. package/dist/generators/templates/website.d.ts +85 -0
  40. package/dist/generators/templates/website.d.ts.map +1 -0
  41. package/dist/generators/templates/website.js +877 -0
  42. package/dist/generators/templates/website.js.map +1 -0
  43. package/dist/generators/website.d.ts +56 -0
  44. package/dist/generators/website.d.ts.map +1 -0
  45. package/dist/generators/website.js +269 -0
  46. package/dist/generators/website.js.map +1 -0
  47. package/dist/types/consensus.d.ts +8 -3
  48. package/dist/types/consensus.d.ts.map +1 -1
  49. package/dist/types/index.d.ts +2 -2
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/dist/types/index.js +2 -2
  52. package/dist/types/index.js.map +1 -1
  53. package/dist/types/project.d.ts +115 -1
  54. package/dist/types/project.d.ts.map +1 -1
  55. package/dist/types/project.js +41 -1
  56. package/dist/types/project.js.map +1 -1
  57. package/dist/workflow/consensus.d.ts +2 -1
  58. package/dist/workflow/consensus.d.ts.map +1 -1
  59. package/dist/workflow/consensus.js.map +1 -1
  60. package/dist/workflow/index.d.ts +6 -0
  61. package/dist/workflow/index.d.ts.map +1 -1
  62. package/dist/workflow/index.js +8 -0
  63. package/dist/workflow/index.js.map +1 -1
  64. package/dist/workflow/plan-mode.d.ts +3 -3
  65. package/dist/workflow/plan-mode.d.ts.map +1 -1
  66. package/dist/workflow/plan-mode.js.map +1 -1
  67. package/dist/workflow/plan-parser.d.ts +97 -0
  68. package/dist/workflow/plan-parser.d.ts.map +1 -0
  69. package/dist/workflow/plan-parser.js +235 -0
  70. package/dist/workflow/plan-parser.js.map +1 -0
  71. package/dist/workflow/plan-storage.d.ts +40 -12
  72. package/dist/workflow/plan-storage.d.ts.map +1 -1
  73. package/dist/workflow/plan-storage.js +47 -20
  74. package/dist/workflow/plan-storage.js.map +1 -1
  75. package/dist/workflow/seo-tests.d.ts +43 -0
  76. package/dist/workflow/seo-tests.d.ts.map +1 -0
  77. package/dist/workflow/seo-tests.js +192 -0
  78. package/dist/workflow/seo-tests.js.map +1 -0
  79. package/dist/workflow/separation-guard.d.ts +35 -0
  80. package/dist/workflow/separation-guard.d.ts.map +1 -0
  81. package/dist/workflow/separation-guard.js +154 -0
  82. package/dist/workflow/separation-guard.js.map +1 -0
  83. package/dist/workflow/test-runner.d.ts.map +1 -1
  84. package/dist/workflow/test-runner.js +128 -0
  85. package/dist/workflow/test-runner.js.map +1 -1
  86. package/dist/workflow/workspace-manager.d.ts +31 -20
  87. package/dist/workflow/workspace-manager.d.ts.map +1 -1
  88. package/dist/workflow/workspace-manager.js +38 -9
  89. package/dist/workflow/workspace-manager.js.map +1 -1
  90. package/package.json +1 -1
  91. package/src/adapters/claude.ts +221 -4
  92. package/src/adapters/grok.ts +2 -1
  93. package/src/adapters/index.ts +15 -0
  94. package/src/adapters/openai.ts +2 -2
  95. package/src/cli/commands/create.ts +25 -5
  96. package/src/cli/interactive.ts +47 -6
  97. package/src/generators/all.ts +897 -0
  98. package/src/generators/fullstack.ts +10 -0
  99. package/src/generators/index.ts +54 -0
  100. package/src/generators/templates/index.ts +2 -0
  101. package/src/generators/templates/website.ts +906 -0
  102. package/src/generators/website.ts +350 -0
  103. package/src/types/consensus.ts +9 -3
  104. package/src/types/index.ts +33 -0
  105. package/src/types/project.ts +139 -2
  106. package/src/workflow/consensus.ts +3 -2
  107. package/src/workflow/index.ts +8 -0
  108. package/src/workflow/plan-mode.ts +3 -3
  109. package/src/workflow/plan-parser.ts +317 -0
  110. package/src/workflow/plan-storage.ts +69 -30
  111. package/src/workflow/seo-tests.ts +246 -0
  112. package/src/workflow/separation-guard.ts +200 -0
  113. package/src/workflow/test-runner.ts +149 -0
  114. package/src/workflow/workspace-manager.ts +68 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website.js","sourceRoot":"","sources":["../../../src/generators/templates/website.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Website project generator
3
+ * Creates SEO-ready Next.js marketing website
4
+ */
5
+ import type { ProjectSpec } from '../types/project.js';
6
+ /**
7
+ * Project generation result
8
+ */
9
+ export interface GenerationResult {
10
+ success: boolean;
11
+ projectDir: string;
12
+ filesCreated: string[];
13
+ error?: string;
14
+ }
15
+ /**
16
+ * Website generator options for workspace/monorepo support
17
+ */
18
+ export interface WebsiteGeneratorOptions {
19
+ /** Base directory for project (defaults to outputDir/projectName) */
20
+ baseDir?: string;
21
+ /** Override auto-derived package name */
22
+ packageName?: string;
23
+ /** Adjust paths for monorepo structure */
24
+ workspaceMode?: boolean;
25
+ /** Skip Docker files (fullstack uses root docker-compose) */
26
+ skipDocker?: boolean;
27
+ /** Skip README (fullstack has root README) */
28
+ skipReadme?: boolean;
29
+ }
30
+ /**
31
+ * Generate a complete Next.js website project
32
+ *
33
+ * @param spec - Project specification
34
+ * @param outputDir - Output directory
35
+ * @param options - Generator options for workspace/monorepo support
36
+ * @returns Generation result
37
+ */
38
+ export declare function generateWebsiteProject(spec: ProjectSpec, outputDir: string, options?: WebsiteGeneratorOptions): Promise<GenerationResult>;
39
+ /**
40
+ * Get the list of files that would be generated for a website project
41
+ *
42
+ * @param _projectName - Project name
43
+ * @returns List of relative file paths
44
+ */
45
+ export declare function getWebsiteProjectFiles(_projectName: string): string[];
46
+ /**
47
+ * Validate a website project structure
48
+ *
49
+ * @param projectDir - Project directory
50
+ * @returns Validation result
51
+ */
52
+ export declare function validateWebsiteProject(projectDir: string): Promise<{
53
+ valid: boolean;
54
+ missingFiles: string[];
55
+ }>;
56
+ //# sourceMappingURL=website.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/generators/website.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAwBvD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgBD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CA6L3B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAgCrE;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACxE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC,CA0BD"}
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Website project generator
3
+ * Creates SEO-ready Next.js marketing website
4
+ */
5
+ import { promises as fs } from 'node:fs';
6
+ import path from 'node:path';
7
+ import { generateWebsitePackageJson, generateNextConfig, generateWebsiteTsconfig, generateWebsiteTailwindConfig, generateWebsitePostcssConfig, generateWebsiteLayout, generateWebsiteGlobalsCss, generateWebsiteLandingPage, generateWebsitePricingPage, generateWebsiteSitemap, generateWebsiteRobots, generateWebsiteDockerfile, generateWebsiteReadme, generateWebsiteSpec, generateWebsiteVitestConfig, generateWebsiteVitestSetup, generateWebsiteTest, generateWebsiteDocsPage, generateWebsiteBlogPage, generateWebsiteNextEnv, } from './templates/website.js';
8
+ /**
9
+ * Create a directory if it doesn't exist
10
+ */
11
+ async function ensureDir(dirPath) {
12
+ await fs.mkdir(dirPath, { recursive: true });
13
+ }
14
+ /**
15
+ * Write a file with content
16
+ */
17
+ async function writeFile(filePath, content) {
18
+ await fs.writeFile(filePath, content, 'utf-8');
19
+ }
20
+ /**
21
+ * Generate a complete Next.js website project
22
+ *
23
+ * @param spec - Project specification
24
+ * @param outputDir - Output directory
25
+ * @param options - Generator options for workspace/monorepo support
26
+ * @returns Generation result
27
+ */
28
+ export async function generateWebsiteProject(spec, outputDir, options = {}) {
29
+ const { baseDir,
30
+ // packageName reserved for future use
31
+ workspaceMode = false, skipDocker = false, skipReadme = false, } = options;
32
+ const projectName = spec.name || 'my-project';
33
+ // In workspace mode with baseDir, use it directly; otherwise create subdirectory
34
+ const projectDir = baseDir || path.join(outputDir, projectName);
35
+ const filesCreated = [];
36
+ try {
37
+ // Create project directory structure
38
+ await ensureDir(projectDir);
39
+ await ensureDir(path.join(projectDir, 'src', 'app'));
40
+ await ensureDir(path.join(projectDir, 'src', 'app', 'pricing'));
41
+ await ensureDir(path.join(projectDir, 'src', 'app', 'docs'));
42
+ await ensureDir(path.join(projectDir, 'src', 'app', 'blog'));
43
+ await ensureDir(path.join(projectDir, 'src', 'components'));
44
+ await ensureDir(path.join(projectDir, 'src', 'lib'));
45
+ await ensureDir(path.join(projectDir, 'content', 'blog'));
46
+ await ensureDir(path.join(projectDir, 'content', 'docs'));
47
+ await ensureDir(path.join(projectDir, 'public'));
48
+ await ensureDir(path.join(projectDir, 'tests'));
49
+ // Only create .popeye dir in standalone mode
50
+ if (!workspaceMode) {
51
+ await ensureDir(path.join(projectDir, '.popeye'));
52
+ }
53
+ // Generate and write files
54
+ const files = [
55
+ // Config files
56
+ {
57
+ path: path.join(projectDir, 'package.json'),
58
+ content: generateWebsitePackageJson(projectName),
59
+ },
60
+ {
61
+ path: path.join(projectDir, 'next.config.mjs'),
62
+ content: generateNextConfig(),
63
+ },
64
+ {
65
+ path: path.join(projectDir, 'tsconfig.json'),
66
+ content: generateWebsiteTsconfig(),
67
+ },
68
+ {
69
+ path: path.join(projectDir, 'tailwind.config.ts'),
70
+ content: generateWebsiteTailwindConfig(),
71
+ },
72
+ {
73
+ path: path.join(projectDir, 'postcss.config.js'),
74
+ content: generateWebsitePostcssConfig(),
75
+ },
76
+ {
77
+ path: path.join(projectDir, 'vitest.config.ts'),
78
+ content: generateWebsiteVitestConfig(),
79
+ },
80
+ {
81
+ path: path.join(projectDir, 'next-env.d.ts'),
82
+ content: generateWebsiteNextEnv(),
83
+ },
84
+ // App Router files
85
+ {
86
+ path: path.join(projectDir, 'src', 'app', 'layout.tsx'),
87
+ content: generateWebsiteLayout(projectName),
88
+ },
89
+ {
90
+ path: path.join(projectDir, 'src', 'app', 'globals.css'),
91
+ content: generateWebsiteGlobalsCss(),
92
+ },
93
+ {
94
+ path: path.join(projectDir, 'src', 'app', 'page.tsx'),
95
+ content: generateWebsiteLandingPage(projectName),
96
+ },
97
+ {
98
+ path: path.join(projectDir, 'src', 'app', 'pricing', 'page.tsx'),
99
+ content: generateWebsitePricingPage(projectName),
100
+ },
101
+ {
102
+ path: path.join(projectDir, 'src', 'app', 'docs', 'page.tsx'),
103
+ content: generateWebsiteDocsPage(),
104
+ },
105
+ {
106
+ path: path.join(projectDir, 'src', 'app', 'blog', 'page.tsx'),
107
+ content: generateWebsiteBlogPage(),
108
+ },
109
+ // SEO files
110
+ {
111
+ path: path.join(projectDir, 'src', 'app', 'sitemap.ts'),
112
+ content: generateWebsiteSitemap(projectName),
113
+ },
114
+ {
115
+ path: path.join(projectDir, 'src', 'app', 'robots.ts'),
116
+ content: generateWebsiteRobots(projectName),
117
+ },
118
+ // Test files
119
+ {
120
+ path: path.join(projectDir, 'tests', 'setup.ts'),
121
+ content: generateWebsiteVitestSetup(),
122
+ },
123
+ {
124
+ path: path.join(projectDir, 'tests', 'page.test.tsx'),
125
+ content: generateWebsiteTest(projectName),
126
+ },
127
+ // Placeholder files
128
+ {
129
+ path: path.join(projectDir, 'public', '.gitkeep'),
130
+ content: '',
131
+ },
132
+ {
133
+ path: path.join(projectDir, 'content', 'blog', '.gitkeep'),
134
+ content: '',
135
+ },
136
+ {
137
+ path: path.join(projectDir, 'content', 'docs', '.gitkeep'),
138
+ content: '',
139
+ },
140
+ {
141
+ path: path.join(projectDir, 'src', 'components', '.gitkeep'),
142
+ content: '',
143
+ },
144
+ {
145
+ path: path.join(projectDir, 'src', 'lib', '.gitkeep'),
146
+ content: '',
147
+ },
148
+ // Environment
149
+ {
150
+ path: path.join(projectDir, '.env.example'),
151
+ content: 'NEXT_PUBLIC_SITE_URL=http://localhost:3001\nNEXT_PUBLIC_APP_URL=http://localhost:3000\n',
152
+ },
153
+ {
154
+ path: path.join(projectDir, '.gitignore'),
155
+ content: 'node_modules/\n.next/\nout/\n.env\n.env.local\n.env.*.local\ncoverage/\n*.log\n.DS_Store\n',
156
+ },
157
+ ];
158
+ // Add website spec in standalone mode
159
+ if (!workspaceMode) {
160
+ files.push({
161
+ path: path.join(projectDir, '.popeye', 'website-spec.json'),
162
+ content: generateWebsiteSpec(projectName),
163
+ });
164
+ }
165
+ // Add README if not skipped
166
+ if (!skipReadme) {
167
+ files.push({
168
+ path: path.join(projectDir, 'README.md'),
169
+ content: generateWebsiteReadme(projectName),
170
+ });
171
+ }
172
+ // Add Docker files if not skipped
173
+ if (!skipDocker) {
174
+ files.push({
175
+ path: path.join(projectDir, 'Dockerfile'),
176
+ content: generateWebsiteDockerfile(),
177
+ });
178
+ }
179
+ // Write all files
180
+ for (const file of files) {
181
+ await writeFile(file.path, file.content);
182
+ filesCreated.push(file.path);
183
+ }
184
+ return {
185
+ success: true,
186
+ projectDir,
187
+ filesCreated,
188
+ };
189
+ }
190
+ catch (error) {
191
+ return {
192
+ success: false,
193
+ projectDir,
194
+ filesCreated,
195
+ error: error instanceof Error ? error.message : 'Unknown error',
196
+ };
197
+ }
198
+ }
199
+ /**
200
+ * Get the list of files that would be generated for a website project
201
+ *
202
+ * @param _projectName - Project name
203
+ * @returns List of relative file paths
204
+ */
205
+ export function getWebsiteProjectFiles(_projectName) {
206
+ return [
207
+ // Config
208
+ 'package.json',
209
+ 'next.config.mjs',
210
+ 'tsconfig.json',
211
+ 'tailwind.config.ts',
212
+ 'postcss.config.js',
213
+ 'vitest.config.ts',
214
+ 'next-env.d.ts',
215
+ '.gitignore',
216
+ '.env.example',
217
+ 'README.md',
218
+ 'Dockerfile',
219
+ // App Router
220
+ 'src/app/layout.tsx',
221
+ 'src/app/globals.css',
222
+ 'src/app/page.tsx',
223
+ 'src/app/pricing/page.tsx',
224
+ 'src/app/docs/page.tsx',
225
+ 'src/app/blog/page.tsx',
226
+ 'src/app/sitemap.ts',
227
+ 'src/app/robots.ts',
228
+ // Tests
229
+ 'tests/setup.ts',
230
+ 'tests/page.test.tsx',
231
+ // Content
232
+ 'content/blog/.gitkeep',
233
+ 'content/docs/.gitkeep',
234
+ // Spec
235
+ '.popeye/website-spec.json',
236
+ ];
237
+ }
238
+ /**
239
+ * Validate a website project structure
240
+ *
241
+ * @param projectDir - Project directory
242
+ * @returns Validation result
243
+ */
244
+ export async function validateWebsiteProject(projectDir) {
245
+ const missingFiles = [];
246
+ const requiredFiles = [
247
+ 'package.json',
248
+ 'next.config.mjs',
249
+ 'tsconfig.json',
250
+ 'src/app/layout.tsx',
251
+ 'src/app/page.tsx',
252
+ 'src/app/sitemap.ts',
253
+ 'src/app/robots.ts',
254
+ ];
255
+ for (const file of requiredFiles) {
256
+ const filePath = path.join(projectDir, file);
257
+ try {
258
+ await fs.access(filePath);
259
+ }
260
+ catch {
261
+ missingFiles.push(file);
262
+ }
263
+ }
264
+ return {
265
+ valid: missingFiles.length === 0,
266
+ missingFiles,
267
+ };
268
+ }
269
+ //# sourceMappingURL=website.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/generators/website.ts"],"names":[],"mappings":"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"}
@@ -193,9 +193,9 @@ export interface EscalationDetails {
193
193
  suggestedActions: string[];
194
194
  }
195
195
  /**
196
- * App target for fullstack reviews
196
+ * App target for fullstack/all reviews
197
197
  */
198
- export type ReviewAppTarget = 'frontend' | 'backend' | 'unified';
198
+ export type ReviewAppTarget = 'frontend' | 'backend' | 'website' | 'unified';
199
199
  /**
200
200
  * Tagged concern/recommendation with app context
201
201
  */
@@ -204,11 +204,12 @@ export interface TaggedItem {
204
204
  content: string;
205
205
  }
206
206
  /**
207
- * Per-app consensus scores for fullstack projects
207
+ * Per-app consensus scores for fullstack/all projects
208
208
  */
209
209
  export interface AppConsensusScores {
210
210
  frontend?: number;
211
211
  backend?: number;
212
+ website?: number;
212
213
  unified: number;
213
214
  }
214
215
  /**
@@ -246,6 +247,7 @@ export interface FullstackConsensusIteration extends ConsensusIteration {
246
247
  appApproved?: {
247
248
  frontend?: boolean;
248
249
  backend?: boolean;
250
+ website?: boolean;
249
251
  unified: boolean;
250
252
  };
251
253
  }
@@ -282,6 +284,9 @@ export interface ConsensusTrackingRecord {
282
284
  backendScore?: number;
283
285
  backendApproved?: boolean;
284
286
  backendIterations?: number;
287
+ websiteScore?: number;
288
+ websiteApproved?: boolean;
289
+ websiteIterations?: number;
285
290
  /** All corrections/revisions made */
286
291
  corrections: CorrectionRecord[];
287
292
  /** Timestamps */
@@ -1 +1 @@
1
- {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../src/types/consensus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../src/types/consensus.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Central type exports for Popeye CLI
3
3
  * Re-exports all types from subdirectories for easy importing
4
4
  */
5
- export { OutputLanguageSchema, OpenAIModelSchema, ProjectSpecSchema, OPENAI_MODELS, type OutputLanguage, type OpenAIModel, type ProjectSpec, type GeneratedProject, type GenerationOptions, } from './project.js';
5
+ export { OutputLanguageSchema, OpenAIModelSchema, ProjectSpecSchema, OPENAI_MODELS, languageToApps, hasApp, type OutputLanguage, type OpenAIModel, type ProjectSpec, type GeneratedProject, type GenerationOptions, type AppType, type WorkspaceApp, type WorkspaceAppCommands, type WorkspaceAppDocker, type WorkspaceShared, type WorkspaceCommands, type WorkspaceDocker, type WorkspaceConfig, type WebsiteSpec, type WebsiteBrandColors, type WebsiteTypography, type WebsiteSeo, type WebsitePage, type WebsiteCta, type WebsiteFeatures, } from './project.js';
6
6
  export { WorkflowPhaseSchema, TaskStatusSchema, ProjectStateSchema, ProjectStatusSchema, TaskSchema, MilestoneSchema, type WorkflowPhase, type ProjectStatus, type TaskStatus, type Task, type Milestone, type ProjectState, type WorkflowEvent, } from './workflow.js';
7
- export { ConsensusConfigSchema, DEFAULT_CONSENSUS_CONFIG, type ConsensusResult, type ConsensusIteration, type ConsensusConfig, type PlanDocument, type ConsensusRequest, type EscalationDetails, } from './consensus.js';
7
+ export { ConsensusConfigSchema, DEFAULT_CONSENSUS_CONFIG, DEFAULT_GROK_MODEL, AIProviderSchema, GeminiModelSchema, GrokModelSchema, type AIProvider, type GeminiModel, type GrokModel, type ConsensusResult, type ConsensusIteration, type ConsensusConfig, type PlanDocument, type ConsensusRequest, type EscalationDetails, type ArbitrationResult, type ReviewAppTarget, type TaggedItem, type AppConsensusScores, type AppFeedback, type FullstackConsensusResult, type FullstackConsensusIteration, type CorrectionRecord, type ConsensusTrackingRecord, } from './consensus.js';
8
8
  export { EXIT_CODES, type GlobalOptions, type CreateOptions, type ResumeOptions, type StatusOptions, type AuthOptions, type ConfigOptions, type AuthStatus, type InteractiveSession, type SlashCommand, type ProgressInfo, type OutputStyles, type BannerConfig, type ExitCode, } from './cli.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,EACN,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,UAAU,CAAC"}
@@ -3,11 +3,11 @@
3
3
  * Re-exports all types from subdirectories for easy importing
4
4
  */
5
5
  // Project types
6
- export { OutputLanguageSchema, OpenAIModelSchema, ProjectSpecSchema, OPENAI_MODELS, } from './project.js';
6
+ export { OutputLanguageSchema, OpenAIModelSchema, ProjectSpecSchema, OPENAI_MODELS, languageToApps, hasApp, } from './project.js';
7
7
  // Workflow types
8
8
  export { WorkflowPhaseSchema, TaskStatusSchema, ProjectStateSchema, ProjectStatusSchema, TaskSchema, MilestoneSchema, } from './workflow.js';
9
9
  // Consensus types
10
- export { ConsensusConfigSchema, DEFAULT_CONSENSUS_CONFIG, } from './consensus.js';
10
+ export { ConsensusConfigSchema, DEFAULT_CONSENSUS_CONFIG, DEFAULT_GROK_MODEL, AIProviderSchema, GeminiModelSchema, GrokModelSchema, } from './consensus.js';
11
11
  // CLI types
12
12
  export { EXIT_CODES, } from './cli.js';
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GAMd,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,GAQhB,MAAM,eAAe,CAAC;AAEvB,kBAAkB;AAClB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GAOzB,MAAM,gBAAgB,CAAC;AAExB,YAAY;AACZ,OAAO,EACL,UAAU,GAcX,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,GAqBP,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,GAQhB,MAAM,eAAe,CAAC;AAEvB,kBAAkB;AAClB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAmBhB,MAAM,gBAAgB,CAAC;AAExB,YAAY;AACZ,OAAO,EACL,UAAU,GAcX,MAAM,UAAU,CAAC"}
@@ -6,12 +6,41 @@ import { z } from 'zod';
6
6
  /**
7
7
  * Supported output languages for generated projects
8
8
  */
9
+ /**
10
+ * Supported output languages for generated projects
11
+ * - python: Backend only (FastAPI)
12
+ * - typescript: Frontend only (React/Vite)
13
+ * - fullstack: FE + BE
14
+ * - website: Website only (Next.js SSG/SSR)
15
+ * - all: FE + BE + Website (everything)
16
+ */
9
17
  export declare const OutputLanguageSchema: z.ZodEnum<{
10
18
  python: "python";
11
19
  typescript: "typescript";
12
20
  fullstack: "fullstack";
21
+ website: "website";
22
+ all: "all";
13
23
  }>;
14
24
  export type OutputLanguage = z.infer<typeof OutputLanguageSchema>;
25
+ /**
26
+ * App types that can be generated
27
+ */
28
+ export type AppType = 'frontend' | 'backend' | 'website';
29
+ /**
30
+ * Maps a language to the apps it will generate
31
+ *
32
+ * @param language - The output language
33
+ * @returns Array of app types to generate
34
+ */
35
+ export declare function languageToApps(language: OutputLanguage): AppType[];
36
+ /**
37
+ * Checks if a language generates a specific app type
38
+ *
39
+ * @param language - The output language
40
+ * @param app - The app type to check
41
+ * @returns True if the language generates the app
42
+ */
43
+ export declare function hasApp(language: OutputLanguage, app: AppType): boolean;
15
44
  /**
16
45
  * Commands configuration for a workspace app
17
46
  */
@@ -54,6 +83,10 @@ export interface WorkspaceShared {
54
83
  contracts?: string;
55
84
  /** Generator command for FE client from OpenAPI */
56
85
  contractsGenerator?: string;
86
+ /** Shared UI components package path */
87
+ ui?: string;
88
+ /** Design tokens package path */
89
+ designTokens?: string;
57
90
  }
58
91
  /**
59
92
  * Repo-level commands for workspace orchestration
@@ -73,19 +106,98 @@ export interface WorkspaceDocker {
73
106
  rootComposeSymlink?: boolean;
74
107
  }
75
108
  /**
76
- * Workspace configuration for fullstack projects
109
+ * Workspace configuration for fullstack/website/all projects
77
110
  */
78
111
  export interface WorkspaceConfig {
79
112
  version: '1.0';
80
113
  apps: {
81
114
  frontend?: WorkspaceApp;
82
115
  backend?: WorkspaceApp;
116
+ website?: WorkspaceApp;
83
117
  };
84
118
  shared?: WorkspaceShared;
85
119
  /** Repo-level commands that orchestrate across apps */
86
120
  commands: WorkspaceCommands;
87
121
  docker: WorkspaceDocker;
88
122
  }
123
+ /**
124
+ * Brand colors for website design
125
+ */
126
+ export interface WebsiteBrandColors {
127
+ primary: string;
128
+ secondary: string;
129
+ accent: string;
130
+ background: string;
131
+ foreground: string;
132
+ }
133
+ /**
134
+ * Typography configuration for website
135
+ */
136
+ export interface WebsiteTypography {
137
+ headingFont: string;
138
+ bodyFont: string;
139
+ }
140
+ /**
141
+ * SEO configuration for website
142
+ */
143
+ export interface WebsiteSeo {
144
+ title: string;
145
+ description: string;
146
+ keywords: string[];
147
+ ogImage?: string;
148
+ twitterHandle?: string;
149
+ locale: string;
150
+ }
151
+ /**
152
+ * Page configuration for website
153
+ */
154
+ export interface WebsitePage {
155
+ name: string;
156
+ path: string;
157
+ type: 'landing' | 'pricing' | 'docs' | 'blog' | 'changelog' | 'legal';
158
+ seo?: {
159
+ title?: string;
160
+ description?: string;
161
+ };
162
+ }
163
+ /**
164
+ * Call-to-action configuration
165
+ */
166
+ export interface WebsiteCta {
167
+ primary: {
168
+ text: string;
169
+ href: string;
170
+ };
171
+ secondary?: {
172
+ text: string;
173
+ href: string;
174
+ };
175
+ }
176
+ /**
177
+ * Feature flags for website
178
+ */
179
+ export interface WebsiteFeatures {
180
+ analytics?: boolean;
181
+ newsletter?: boolean;
182
+ mdxBlog?: boolean;
183
+ docsSearch?: boolean;
184
+ }
185
+ /**
186
+ * Website specification for Next.js marketing sites
187
+ */
188
+ export interface WebsiteSpec {
189
+ version: '1.0';
190
+ brand: {
191
+ name: string;
192
+ tagline?: string;
193
+ colors: WebsiteBrandColors;
194
+ typography: WebsiteTypography;
195
+ };
196
+ seo: WebsiteSeo;
197
+ pages: WebsitePage[];
198
+ cta: WebsiteCta;
199
+ features?: WebsiteFeatures;
200
+ }
89
201
  /**
90
202
  * Supported OpenAI models for consensus reviews
91
203
  */
@@ -107,6 +219,8 @@ export declare const ProjectSpecSchema: z.ZodObject<{
107
219
  python: "python";
108
220
  typescript: "typescript";
109
221
  fullstack: "fullstack";
222
+ website: "website";
223
+ all: "all";
110
224
  }>;
111
225
  openaiModel: z.ZodEnum<{
112
226
  "gpt-4o": "gpt-4o";
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"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"}