popeye-cli 1.4.7 → 1.6.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 (214) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +264 -63
  3. package/dist/adapters/gemini.d.ts +1 -0
  4. package/dist/adapters/gemini.d.ts.map +1 -1
  5. package/dist/adapters/gemini.js +9 -4
  6. package/dist/adapters/gemini.js.map +1 -1
  7. package/dist/adapters/grok.d.ts +1 -0
  8. package/dist/adapters/grok.d.ts.map +1 -1
  9. package/dist/adapters/grok.js +9 -4
  10. package/dist/adapters/grok.js.map +1 -1
  11. package/dist/adapters/openai.d.ts +1 -1
  12. package/dist/adapters/openai.d.ts.map +1 -1
  13. package/dist/adapters/openai.js +35 -9
  14. package/dist/adapters/openai.js.map +1 -1
  15. package/dist/cli/commands/create.d.ts.map +1 -1
  16. package/dist/cli/commands/create.js +54 -4
  17. package/dist/cli/commands/create.js.map +1 -1
  18. package/dist/cli/interactive.d.ts +29 -0
  19. package/dist/cli/interactive.d.ts.map +1 -1
  20. package/dist/cli/interactive.js +132 -7
  21. package/dist/cli/interactive.js.map +1 -1
  22. package/dist/generators/all.d.ts +8 -2
  23. package/dist/generators/all.d.ts.map +1 -1
  24. package/dist/generators/all.js +37 -316
  25. package/dist/generators/all.js.map +1 -1
  26. package/dist/generators/doc-parser.d.ts +64 -0
  27. package/dist/generators/doc-parser.d.ts.map +1 -0
  28. package/dist/generators/doc-parser.js +407 -0
  29. package/dist/generators/doc-parser.js.map +1 -0
  30. package/dist/generators/frontend-design-analyzer.d.ts +30 -0
  31. package/dist/generators/frontend-design-analyzer.d.ts.map +1 -0
  32. package/dist/generators/frontend-design-analyzer.js +208 -0
  33. package/dist/generators/frontend-design-analyzer.js.map +1 -0
  34. package/dist/generators/shared-packages.d.ts +45 -0
  35. package/dist/generators/shared-packages.d.ts.map +1 -0
  36. package/dist/generators/shared-packages.js +456 -0
  37. package/dist/generators/shared-packages.js.map +1 -0
  38. package/dist/generators/templates/index.d.ts +8 -0
  39. package/dist/generators/templates/index.d.ts.map +1 -1
  40. package/dist/generators/templates/index.js +8 -0
  41. package/dist/generators/templates/index.js.map +1 -1
  42. package/dist/generators/templates/website-components.d.ts +33 -0
  43. package/dist/generators/templates/website-components.d.ts.map +1 -0
  44. package/dist/generators/templates/website-components.js +303 -0
  45. package/dist/generators/templates/website-components.js.map +1 -0
  46. package/dist/generators/templates/website-config.d.ts +55 -0
  47. package/dist/generators/templates/website-config.d.ts.map +1 -0
  48. package/dist/generators/templates/website-config.js +425 -0
  49. package/dist/generators/templates/website-config.js.map +1 -0
  50. package/dist/generators/templates/website-conversion.d.ts +27 -0
  51. package/dist/generators/templates/website-conversion.d.ts.map +1 -0
  52. package/dist/generators/templates/website-conversion.js +326 -0
  53. package/dist/generators/templates/website-conversion.js.map +1 -0
  54. package/dist/generators/templates/website-landing.d.ts +24 -0
  55. package/dist/generators/templates/website-landing.d.ts.map +1 -0
  56. package/dist/generators/templates/website-landing.js +276 -0
  57. package/dist/generators/templates/website-landing.js.map +1 -0
  58. package/dist/generators/templates/website-layout.d.ts +42 -0
  59. package/dist/generators/templates/website-layout.d.ts.map +1 -0
  60. package/dist/generators/templates/website-layout.js +408 -0
  61. package/dist/generators/templates/website-layout.js.map +1 -0
  62. package/dist/generators/templates/website-pricing.d.ts +11 -0
  63. package/dist/generators/templates/website-pricing.d.ts.map +1 -0
  64. package/dist/generators/templates/website-pricing.js +313 -0
  65. package/dist/generators/templates/website-pricing.js.map +1 -0
  66. package/dist/generators/templates/website-sections.d.ts +102 -0
  67. package/dist/generators/templates/website-sections.d.ts.map +1 -0
  68. package/dist/generators/templates/website-sections.js +444 -0
  69. package/dist/generators/templates/website-sections.js.map +1 -0
  70. package/dist/generators/templates/website-seo.d.ts +76 -0
  71. package/dist/generators/templates/website-seo.d.ts.map +1 -0
  72. package/dist/generators/templates/website-seo.js +326 -0
  73. package/dist/generators/templates/website-seo.js.map +1 -0
  74. package/dist/generators/templates/website.d.ts +10 -83
  75. package/dist/generators/templates/website.d.ts.map +1 -1
  76. package/dist/generators/templates/website.js +12 -875
  77. package/dist/generators/templates/website.js.map +1 -1
  78. package/dist/generators/website-content-scanner.d.ts +37 -0
  79. package/dist/generators/website-content-scanner.d.ts.map +1 -0
  80. package/dist/generators/website-content-scanner.js +165 -0
  81. package/dist/generators/website-content-scanner.js.map +1 -0
  82. package/dist/generators/website-context.d.ts +119 -0
  83. package/dist/generators/website-context.d.ts.map +1 -0
  84. package/dist/generators/website-context.js +350 -0
  85. package/dist/generators/website-context.js.map +1 -0
  86. package/dist/generators/website-debug.d.ts +68 -0
  87. package/dist/generators/website-debug.d.ts.map +1 -0
  88. package/dist/generators/website-debug.js +93 -0
  89. package/dist/generators/website-debug.js.map +1 -0
  90. package/dist/generators/website.d.ts +5 -0
  91. package/dist/generators/website.d.ts.map +1 -1
  92. package/dist/generators/website.js +136 -11
  93. package/dist/generators/website.js.map +1 -1
  94. package/dist/generators/workspace-root.d.ts +27 -0
  95. package/dist/generators/workspace-root.d.ts.map +1 -0
  96. package/dist/generators/workspace-root.js +100 -0
  97. package/dist/generators/workspace-root.js.map +1 -0
  98. package/dist/state/index.d.ts +35 -0
  99. package/dist/state/index.d.ts.map +1 -1
  100. package/dist/state/index.js +40 -0
  101. package/dist/state/index.js.map +1 -1
  102. package/dist/types/consensus.d.ts +3 -0
  103. package/dist/types/consensus.d.ts.map +1 -1
  104. package/dist/types/consensus.js +1 -0
  105. package/dist/types/consensus.js.map +1 -1
  106. package/dist/types/website-strategy.d.ts +263 -0
  107. package/dist/types/website-strategy.d.ts.map +1 -0
  108. package/dist/types/website-strategy.js +105 -0
  109. package/dist/types/website-strategy.js.map +1 -0
  110. package/dist/types/workflow.d.ts +21 -0
  111. package/dist/types/workflow.d.ts.map +1 -1
  112. package/dist/types/workflow.js +8 -0
  113. package/dist/types/workflow.js.map +1 -1
  114. package/dist/upgrade/handlers.d.ts +15 -0
  115. package/dist/upgrade/handlers.d.ts.map +1 -1
  116. package/dist/upgrade/handlers.js +52 -0
  117. package/dist/upgrade/handlers.js.map +1 -1
  118. package/dist/workflow/auto-fix-bundler.d.ts +37 -0
  119. package/dist/workflow/auto-fix-bundler.d.ts.map +1 -0
  120. package/dist/workflow/auto-fix-bundler.js +320 -0
  121. package/dist/workflow/auto-fix-bundler.js.map +1 -0
  122. package/dist/workflow/auto-fix.d.ts.map +1 -1
  123. package/dist/workflow/auto-fix.js +10 -3
  124. package/dist/workflow/auto-fix.js.map +1 -1
  125. package/dist/workflow/consensus.d.ts.map +1 -1
  126. package/dist/workflow/consensus.js +2 -0
  127. package/dist/workflow/consensus.js.map +1 -1
  128. package/dist/workflow/execution-mode.d.ts.map +1 -1
  129. package/dist/workflow/execution-mode.js +18 -0
  130. package/dist/workflow/execution-mode.js.map +1 -1
  131. package/dist/workflow/index.d.ts +4 -0
  132. package/dist/workflow/index.d.ts.map +1 -1
  133. package/dist/workflow/index.js +37 -0
  134. package/dist/workflow/index.js.map +1 -1
  135. package/dist/workflow/overview.d.ts +89 -0
  136. package/dist/workflow/overview.d.ts.map +1 -0
  137. package/dist/workflow/overview.js +358 -0
  138. package/dist/workflow/overview.js.map +1 -0
  139. package/dist/workflow/plan-mode.d.ts +6 -4
  140. package/dist/workflow/plan-mode.d.ts.map +1 -1
  141. package/dist/workflow/plan-mode.js +148 -6
  142. package/dist/workflow/plan-mode.js.map +1 -1
  143. package/dist/workflow/website-strategy.d.ts +79 -0
  144. package/dist/workflow/website-strategy.d.ts.map +1 -0
  145. package/dist/workflow/website-strategy.js +310 -0
  146. package/dist/workflow/website-strategy.js.map +1 -0
  147. package/dist/workflow/website-updater.d.ts +17 -0
  148. package/dist/workflow/website-updater.d.ts.map +1 -0
  149. package/dist/workflow/website-updater.js +116 -0
  150. package/dist/workflow/website-updater.js.map +1 -0
  151. package/dist/workflow/workflow-logger.d.ts +1 -1
  152. package/dist/workflow/workflow-logger.d.ts.map +1 -1
  153. package/dist/workflow/workflow-logger.js.map +1 -1
  154. package/package.json +1 -1
  155. package/src/adapters/gemini.ts +10 -4
  156. package/src/adapters/grok.ts +10 -4
  157. package/src/adapters/openai.ts +38 -6
  158. package/src/cli/commands/create.ts +58 -4
  159. package/src/cli/interactive.ts +143 -7
  160. package/src/generators/all.ts +49 -332
  161. package/src/generators/doc-parser.ts +449 -0
  162. package/src/generators/frontend-design-analyzer.ts +261 -0
  163. package/src/generators/shared-packages.ts +500 -0
  164. package/src/generators/templates/index.ts +8 -0
  165. package/src/generators/templates/website-components.ts +330 -0
  166. package/src/generators/templates/website-config.ts +444 -0
  167. package/src/generators/templates/website-conversion.ts +341 -0
  168. package/src/generators/templates/website-landing.ts +331 -0
  169. package/src/generators/templates/website-layout.ts +443 -0
  170. package/src/generators/templates/website-pricing.ts +330 -0
  171. package/src/generators/templates/website-sections.ts +541 -0
  172. package/src/generators/templates/website-seo.ts +370 -0
  173. package/src/generators/templates/website.ts +38 -905
  174. package/src/generators/website-content-scanner.ts +208 -0
  175. package/src/generators/website-context.ts +493 -0
  176. package/src/generators/website-debug.ts +130 -0
  177. package/src/generators/website.ts +178 -20
  178. package/src/generators/workspace-root.ts +113 -0
  179. package/src/state/index.ts +56 -0
  180. package/src/types/consensus.ts +3 -0
  181. package/src/types/website-strategy.ts +243 -0
  182. package/src/types/workflow.ts +21 -0
  183. package/src/upgrade/handlers.ts +65 -0
  184. package/src/workflow/auto-fix-bundler.ts +392 -0
  185. package/src/workflow/auto-fix.ts +11 -3
  186. package/src/workflow/consensus.ts +2 -0
  187. package/src/workflow/execution-mode.ts +21 -0
  188. package/src/workflow/index.ts +37 -0
  189. package/src/workflow/overview.ts +475 -0
  190. package/src/workflow/plan-mode.ts +193 -8
  191. package/src/workflow/website-strategy.ts +379 -0
  192. package/src/workflow/website-updater.ts +142 -0
  193. package/src/workflow/workflow-logger.ts +1 -0
  194. package/tests/adapters/persona-switching.test.ts +63 -0
  195. package/tests/cli/project-naming.test.ts +136 -0
  196. package/tests/generators/doc-parser.test.ts +121 -0
  197. package/tests/generators/frontend-design-analyzer.test.ts +90 -0
  198. package/tests/generators/quality-gate.test.ts +183 -0
  199. package/tests/generators/shared-packages.test.ts +83 -0
  200. package/tests/generators/website-components.test.ts +159 -0
  201. package/tests/generators/website-config.test.ts +84 -0
  202. package/tests/generators/website-content-scanner.test.ts +181 -0
  203. package/tests/generators/website-context.test.ts +331 -0
  204. package/tests/generators/website-debug.test.ts +77 -0
  205. package/tests/generators/website-landing.test.ts +188 -0
  206. package/tests/generators/website-pricing.test.ts +98 -0
  207. package/tests/generators/website-sections.test.ts +245 -0
  208. package/tests/generators/website-seo-quality.test.ts +246 -0
  209. package/tests/generators/workspace-root.test.ts +105 -0
  210. package/tests/upgrade/handlers.test.ts +162 -0
  211. package/tests/workflow/auto-fix-bundler.test.ts +242 -0
  212. package/tests/workflow/overview.test.ts +392 -0
  213. package/tests/workflow/plan-mode.test.ts +111 -1
  214. package/tests/workflow/website-strategy.test.ts +246 -0
@@ -18,6 +18,7 @@ export * from './ui-designer.js';
18
18
  export * from './ui-verification.js';
19
19
  export * from './project-verification.js';
20
20
  export * from './auto-fix.js';
21
+ export * from './auto-fix-bundler.js';
21
22
  export * from './project-structure.js';
22
23
  // Note: plan-parser.js exports are accessible but have naming conflicts with plan-mode.js
23
24
  // Import directly from './plan-parser.js' if you need the extended TaskAppTag type (includes 'WEB')
@@ -27,6 +28,9 @@ export * from './task-workflow.js';
27
28
  export * from './milestone-workflow.js';
28
29
  export * from './plan-storage.js';
29
30
  export * from './workspace-manager.js';
31
+ export * from './website-updater.js';
32
+ export * from './website-strategy.js';
33
+ export * from './overview.js';
30
34
  /**
31
35
  * Run the complete workflow from idea to deployed code
32
36
  *
@@ -60,6 +64,17 @@ export async function runWorkflow(spec, options) {
60
64
  error: planResult.error || 'Plan mode failed to reach consensus',
61
65
  };
62
66
  }
67
+ // Post-plan: Update website content with project context
68
+ if (spec.language === 'website' || spec.language === 'all' || spec.language === 'fullstack') {
69
+ try {
70
+ onProgress?.('website-update', 'Updating website with project context...');
71
+ const { updateWebsiteContent } = await import('./website-updater.js');
72
+ await updateWebsiteContent(projectDir, planResult.state, spec.language, (msg) => onProgress?.('website-update', msg));
73
+ }
74
+ catch {
75
+ // Non-blocking: website content update failure should not stop workflow
76
+ }
77
+ }
63
78
  // Phase 2: Execution Mode
64
79
  onProgress?.('workflow', 'Starting Execution Mode...');
65
80
  const executionResult = await runExecutionMode({
@@ -147,6 +162,17 @@ export async function resumeWorkflow(projectDir, options) {
147
162
  error: planResult.error || 'Plan mode failed to reach consensus',
148
163
  };
149
164
  }
165
+ // Post-plan: Update website content with project context
166
+ if (state.language === 'website' || state.language === 'all' || state.language === 'fullstack') {
167
+ try {
168
+ onProgress?.('website-update', 'Updating website with project context...');
169
+ const { updateWebsiteContent } = await import('./website-updater.js');
170
+ await updateWebsiteContent(projectDir, planResult.state, state.language, (msg) => onProgress?.('website-update', msg));
171
+ }
172
+ catch {
173
+ // Non-blocking
174
+ }
175
+ }
150
176
  // Continue to execution
151
177
  onProgress?.('workflow', 'Starting Execution Mode...');
152
178
  const executionResult = await runExecutionMode({
@@ -164,6 +190,17 @@ export async function resumeWorkflow(projectDir, options) {
164
190
  };
165
191
  }
166
192
  case 'execution': {
193
+ // Update website content before resuming execution
194
+ if (state.language === 'website' || state.language === 'all' || state.language === 'fullstack') {
195
+ try {
196
+ onProgress?.('website-update', 'Updating website with project context before execution resume...');
197
+ const { updateWebsiteContent } = await import('./website-updater.js');
198
+ await updateWebsiteContent(projectDir, state, state.language, (msg) => onProgress?.('website-update', msg));
199
+ }
200
+ catch {
201
+ // Non-blocking: website content update failure should not stop workflow
202
+ }
203
+ }
167
204
  onProgress?.('workflow', 'Resuming Execution Mode...');
168
205
  const executionResult = await resumeExecutionMode({
169
206
  projectDir,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Project overview generator
3
+ * Provides a comprehensive view of project state, plan, and progress
4
+ * with analysis of issues and ability to fix them
5
+ */
6
+ /**
7
+ * Detected issue in project analysis
8
+ */
9
+ export interface OverviewIssue {
10
+ severity: 'warning' | 'error';
11
+ category: string;
12
+ message: string;
13
+ fix?: string;
14
+ }
15
+ /**
16
+ * Structured project overview
17
+ */
18
+ export interface ProjectOverview {
19
+ name: string;
20
+ idea: string;
21
+ language: string;
22
+ phase: string;
23
+ status: string;
24
+ specification: {
25
+ summary: string;
26
+ keyFeatures: string[];
27
+ };
28
+ plan: {
29
+ totalMilestones: number;
30
+ totalTasks: number;
31
+ milestones: Array<{
32
+ name: string;
33
+ status: string;
34
+ taskCount: number;
35
+ completedTasks: number;
36
+ tasks: Array<{
37
+ name: string;
38
+ status: string;
39
+ }>;
40
+ }>;
41
+ };
42
+ progress: {
43
+ completedMilestones: number;
44
+ completedTasks: number;
45
+ percentComplete: number;
46
+ };
47
+ userDocs?: string[];
48
+ brandContext?: {
49
+ logoPath?: string;
50
+ primaryColor?: string;
51
+ };
52
+ /** Detected issues and recommendations */
53
+ issues: OverviewIssue[];
54
+ /** Available docs in CWD that are not yet discovered */
55
+ availableDocs: string[];
56
+ }
57
+ /**
58
+ * Result of an overview fix operation
59
+ */
60
+ export interface OverviewFixResult {
61
+ docsDiscovered: number;
62
+ docsStored: boolean;
63
+ brandFound: boolean;
64
+ websiteUpdated: boolean;
65
+ messages: string[];
66
+ }
67
+ /**
68
+ * Generate a complete project overview from state
69
+ *
70
+ * @param projectDir - The project directory
71
+ * @returns Structured project overview with analysis
72
+ */
73
+ export declare function generateOverview(projectDir: string): Promise<ProjectOverview>;
74
+ /**
75
+ * Fix detected issues by re-discovering docs and updating website content
76
+ *
77
+ * @param projectDir - The project directory
78
+ * @param onProgress - Optional progress callback
79
+ * @returns Fix result with summary of actions taken
80
+ */
81
+ export declare function fixOverviewIssues(projectDir: string, onProgress?: (message: string) => void): Promise<OverviewFixResult>;
82
+ /**
83
+ * Format a project overview for terminal display
84
+ *
85
+ * @param overview - The project overview to format
86
+ * @returns Formatted string for terminal output
87
+ */
88
+ export declare function formatOverview(overview: ProjectOverview): string;
89
+ //# sourceMappingURL=overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../src/workflow/overview.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACJ,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;YACvB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAChD,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,EAAE;QACR,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,0CAA0C;IAC1C,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,wDAAwD;IACxD,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CA0D1B;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAiF5B;AAyDD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CA8DhE"}
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Project overview generator
3
+ * Provides a comprehensive view of project state, plan, and progress
4
+ * with analysis of issues and ability to fix them
5
+ */
6
+ import path from 'node:path';
7
+ import { loadProject, getProgress, storeUserDocs, storeBrandContext } from '../state/index.js';
8
+ import { discoverProjectDocs, readProjectDocs, findBrandAssets, } from '../generators/website-context.js';
9
+ import { updateWebsiteContent } from './website-updater.js';
10
+ /**
11
+ * Generate a complete project overview from state
12
+ *
13
+ * @param projectDir - The project directory
14
+ * @returns Structured project overview with analysis
15
+ */
16
+ export async function generateOverview(projectDir) {
17
+ const state = await loadProject(projectDir);
18
+ const progress = await getProgress(projectDir);
19
+ // Extract specification summary
20
+ const specSummary = extractSpecSummary(state);
21
+ const keyFeatures = extractKeyFeatures(state);
22
+ // Build milestone details
23
+ const milestones = state.milestones.map((m) => ({
24
+ name: m.name,
25
+ status: m.status,
26
+ taskCount: m.tasks.length,
27
+ completedTasks: m.tasks.filter((t) => t.status === 'complete').length,
28
+ tasks: m.tasks.map((t) => ({
29
+ name: t.name,
30
+ status: t.status,
31
+ })),
32
+ }));
33
+ // Extract user doc file names if available
34
+ const userDocs = state.userDocs
35
+ ? extractDocNames(state.userDocs)
36
+ : undefined;
37
+ // Check for available docs in CWD that haven't been discovered
38
+ const parentDir = path.dirname(projectDir);
39
+ const availableDocPaths = await discoverProjectDocs(parentDir);
40
+ const availableDocs = availableDocPaths.map((p) => path.basename(p));
41
+ // Run analysis to detect issues
42
+ const issues = analyzeProject(state, availableDocs, progress);
43
+ return {
44
+ name: state.name,
45
+ idea: state.idea,
46
+ language: state.language,
47
+ phase: state.phase,
48
+ status: state.status,
49
+ specification: {
50
+ summary: specSummary,
51
+ keyFeatures,
52
+ },
53
+ plan: {
54
+ totalMilestones: state.milestones.length,
55
+ totalTasks: state.milestones.reduce((sum, m) => sum + m.tasks.length, 0),
56
+ milestones,
57
+ },
58
+ progress: {
59
+ completedMilestones: progress.completedMilestones,
60
+ completedTasks: progress.completedTasks,
61
+ percentComplete: progress.percentComplete,
62
+ },
63
+ userDocs,
64
+ brandContext: state.brandContext,
65
+ issues,
66
+ availableDocs,
67
+ };
68
+ }
69
+ /**
70
+ * Fix detected issues by re-discovering docs and updating website content
71
+ *
72
+ * @param projectDir - The project directory
73
+ * @param onProgress - Optional progress callback
74
+ * @returns Fix result with summary of actions taken
75
+ */
76
+ export async function fixOverviewIssues(projectDir, onProgress) {
77
+ const result = {
78
+ docsDiscovered: 0,
79
+ docsStored: false,
80
+ brandFound: false,
81
+ websiteUpdated: false,
82
+ messages: [],
83
+ };
84
+ let state = await loadProject(projectDir);
85
+ const parentDir = path.dirname(projectDir);
86
+ // Step 1: Re-discover project documentation
87
+ onProgress?.('Scanning for project documentation...');
88
+ const docPaths = await discoverProjectDocs(parentDir);
89
+ if (docPaths.length > 0) {
90
+ const userDocs = await readProjectDocs(docPaths);
91
+ state = await storeUserDocs(projectDir, userDocs);
92
+ result.docsDiscovered = docPaths.length;
93
+ result.docsStored = true;
94
+ const docNames = docPaths.map((p) => path.basename(p)).join(', ');
95
+ result.messages.push(`Discovered ${docPaths.length} doc(s): ${docNames}`);
96
+ onProgress?.(`Found ${docPaths.length} doc(s): ${docNames}`);
97
+ }
98
+ else {
99
+ result.messages.push('No project documentation found in parent directory');
100
+ onProgress?.('No project documentation found in parent directory');
101
+ }
102
+ // Step 2: Find brand assets
103
+ onProgress?.('Scanning for brand assets...');
104
+ const brandAssets = await findBrandAssets(parentDir);
105
+ if (brandAssets.logoPath) {
106
+ state = await storeBrandContext(projectDir, {
107
+ ...state.brandContext,
108
+ logoPath: brandAssets.logoPath,
109
+ });
110
+ result.brandFound = true;
111
+ result.messages.push(`Found logo: ${path.basename(brandAssets.logoPath)}`);
112
+ onProgress?.(`Found logo: ${path.basename(brandAssets.logoPath)}`);
113
+ }
114
+ // Extract primary/accent color from docs if not already set
115
+ // Use smart extraction: look for accent/primary CTA color tokens first,
116
+ // then fall back to brightness-filtered colors (skip very dark/light)
117
+ if (!state.brandContext?.primaryColor && state.userDocs) {
118
+ const accentMatch = state.userDocs.match(/accent[_-]?primary[^#]{0,40}(#[0-9a-fA-F]{6})/i)
119
+ || state.userDocs.match(/(?:primary\s+(?:brand\s+)?(?:accent|color|CTA))[^#]{0,40}(#[0-9a-fA-F]{6})/i);
120
+ const color = accentMatch ? accentMatch[1] : findBrightColor(state.userDocs);
121
+ if (color) {
122
+ state = await storeBrandContext(projectDir, {
123
+ ...state.brandContext,
124
+ primaryColor: color,
125
+ });
126
+ result.messages.push(`Extracted brand color: ${color}`);
127
+ onProgress?.(`Extracted brand color: ${color}`);
128
+ }
129
+ }
130
+ // Step 3: Update website content if applicable
131
+ const language = state.language;
132
+ if (language === 'website' || language === 'all' || language === 'fullstack') {
133
+ onProgress?.('Updating website content with discovered context...');
134
+ try {
135
+ await updateWebsiteContent(projectDir, state, language, onProgress);
136
+ result.websiteUpdated = true;
137
+ result.messages.push('Website content files updated with project context');
138
+ }
139
+ catch (err) {
140
+ result.messages.push(`Website update failed: ${err instanceof Error ? err.message : 'Unknown error'}`);
141
+ }
142
+ }
143
+ // Summary
144
+ if (result.docsDiscovered === 0 && !result.brandFound) {
145
+ result.messages.push('Tip: Place project docs (spec, pricing, color-scheme, etc.) as .md files in the parent directory, then run /overview fix again');
146
+ }
147
+ return result;
148
+ }
149
+ /** Analyze project state and detect issues */
150
+ function analyzeProject(state, availableDocs, progress) {
151
+ const issues = [];
152
+ const push = (severity, category, message, fix) => issues.push({ severity, category, message, fix });
153
+ if (!state.userDocs && availableDocs.length > 0) {
154
+ push('warning', 'docs', `Found ${availableDocs.length} doc(s) in CWD (${availableDocs.join(', ')}) but project has no user docs stored`, 'Run /overview fix to discover and apply project documentation');
155
+ }
156
+ if (!state.userDocs && availableDocs.length === 0) {
157
+ push('warning', 'docs', 'No project documentation found. Website will use generic placeholder content.', 'Add .md files (spec, pricing, brand, etc.) to the project parent directory, then run /overview fix');
158
+ }
159
+ if (progress.totalTasks > 0 && progress.totalTasks <= 3) {
160
+ push('warning', 'plan', `Project has only ${progress.totalTasks} task(s) - this may indicate an incomplete or oversimplified plan`, 'Consider resetting to plan phase with richer specification');
161
+ }
162
+ if (!state.brandContext?.primaryColor && !state.brandContext?.logoPath) {
163
+ push('warning', 'brand', 'No brand context (colors, logo) detected. Website uses default styling.', 'Add a color-scheme.md or logo file to the project parent directory, then run /overview fix');
164
+ }
165
+ if (state.specification) {
166
+ const specStart = state.specification.trim().slice(0, 200).toLowerCase();
167
+ const genericPats = ["here's a comprehensive", "here is a comprehensive",
168
+ "here's a detailed", "here is a detailed", 'based on your idea', 'based on the idea'];
169
+ if (genericPats.some((p) => specStart.includes(p))) {
170
+ push('warning', 'spec', 'Specification appears to be generic AI-generated content without project-specific documentation input', 'Add project docs to CWD and run /overview fix to re-enrich. For a full re-spec, reset to plan phase.');
171
+ }
172
+ }
173
+ const hasWebsite = state.language === 'website' || state.language === 'all' || state.language === 'fullstack';
174
+ if (hasWebsite && !state.userDocs && state.phase === 'complete') {
175
+ push('error', 'website', 'Project includes a website but was completed without any user documentation. Website likely has placeholder content.', 'Run /overview fix to discover docs and update website template files');
176
+ }
177
+ // Show strategy error if present
178
+ if (state.strategyError) {
179
+ push('error', 'strategy', `Website strategy generation failed: ${state.strategyError}`, 'Ensure OpenAI API key is set and product docs are available, then re-run planning');
180
+ }
181
+ return issues;
182
+ }
183
+ /**
184
+ * Format a project overview for terminal display
185
+ *
186
+ * @param overview - The project overview to format
187
+ * @returns Formatted string for terminal output
188
+ */
189
+ export function formatOverview(overview) {
190
+ const l = [''];
191
+ l.push(` PROJECT OVERVIEW: ${overview.name}`);
192
+ l.push(` ${'='.repeat(40 + overview.name.length)}`, '');
193
+ l.push(` Language: ${overview.language}`);
194
+ l.push(` Phase: ${overview.phase}`);
195
+ l.push(` Status: ${overview.status}`, '');
196
+ if (overview.specification.summary) {
197
+ l.push(' SPECIFICATION', ` ${overview.specification.summary}`);
198
+ if (overview.specification.keyFeatures.length > 0) {
199
+ l.push('', ' Key Features:');
200
+ for (const f of overview.specification.keyFeatures.slice(0, 8))
201
+ l.push(` - ${f}`);
202
+ }
203
+ l.push('');
204
+ }
205
+ const barWidth = 30;
206
+ const filled = Math.round((overview.progress.percentComplete / 100) * barWidth);
207
+ const bar = `[${'='.repeat(filled)}${filled < barWidth ? '>' : ''}${' '.repeat(Math.max(0, barWidth - filled - 1))}]`;
208
+ l.push(` Progress: ${bar} ${overview.progress.percentComplete}% (${overview.progress.completedTasks}/${overview.plan.totalTasks} tasks)`, '');
209
+ if (overview.plan.milestones.length > 0) {
210
+ l.push(' MILESTONES', ` ${'-'.repeat(50)}`);
211
+ for (const m of overview.plan.milestones) {
212
+ l.push(` ${getStatusIcon(m.status)} ${m.name} (${m.completedTasks}/${m.taskCount} tasks)`);
213
+ for (const t of m.tasks)
214
+ l.push(` ${getStatusIcon(t.status)} ${t.name}`);
215
+ l.push('');
216
+ }
217
+ }
218
+ else {
219
+ l.push(' No milestones defined yet.', '');
220
+ }
221
+ if (overview.userDocs && overview.userDocs.length > 0) {
222
+ l.push(' DISCOVERED DOCS');
223
+ for (const doc of overview.userDocs)
224
+ l.push(` - ${doc}`);
225
+ l.push('');
226
+ }
227
+ if (overview.brandContext) {
228
+ l.push(' BRAND CONTEXT');
229
+ if (overview.brandContext.primaryColor)
230
+ l.push(` Primary Color: ${overview.brandContext.primaryColor}`);
231
+ if (overview.brandContext.logoPath)
232
+ l.push(` Logo: ${path.basename(overview.brandContext.logoPath)}`);
233
+ l.push('');
234
+ }
235
+ if (overview.issues.length > 0) {
236
+ l.push(' ANALYSIS', ` ${'-'.repeat(50)}`);
237
+ for (const issue of overview.issues) {
238
+ const icon = issue.severity === 'error' ? '[!!]' : '[!]';
239
+ l.push(` ${icon} ${issue.category.toUpperCase()}: ${issue.message}`);
240
+ if (issue.fix)
241
+ l.push(` -> ${issue.fix}`);
242
+ }
243
+ l.push('');
244
+ }
245
+ if (overview.availableDocs.length > 0 && !overview.userDocs) {
246
+ l.push(' AVAILABLE DOCS (not yet imported)');
247
+ for (const doc of overview.availableDocs)
248
+ l.push(` - ${doc}`);
249
+ l.push('');
250
+ }
251
+ if (overview.issues.length > 0) {
252
+ l.push(' Run /overview fix to auto-discover docs, detect brand assets, and update website content.', '');
253
+ }
254
+ return l.join('\n');
255
+ }
256
+ /**
257
+ * Extract a summary from the specification
258
+ */
259
+ function extractSpecSummary(state) {
260
+ if (!state.specification)
261
+ return '';
262
+ const lines = state.specification.split('\n');
263
+ // Find first non-empty, non-heading line that isn't a generic AI preamble
264
+ const genericPrefixes = [
265
+ "here's a comprehensive",
266
+ "here is a comprehensive",
267
+ "here's a detailed",
268
+ 'based on your idea',
269
+ ];
270
+ for (const line of lines) {
271
+ const trimmed = line.trim();
272
+ if (trimmed && !trimmed.startsWith('#') && trimmed.length > 20) {
273
+ const lower = trimmed.toLowerCase();
274
+ if (!genericPrefixes.some((p) => lower.startsWith(p))) {
275
+ return trimmed.slice(0, 500);
276
+ }
277
+ }
278
+ }
279
+ return state.specification.slice(0, 500);
280
+ }
281
+ /**
282
+ * Extract key features from specification
283
+ */
284
+ function extractKeyFeatures(state) {
285
+ if (!state.specification)
286
+ return [];
287
+ const features = [];
288
+ const lines = state.specification.split('\n');
289
+ let inFeatures = false;
290
+ for (const line of lines) {
291
+ const trimmed = line.trim();
292
+ // Detect feature section headers
293
+ if (/^#{1,3}\s*(core\s+)?features/i.test(trimmed)) {
294
+ inFeatures = true;
295
+ continue;
296
+ }
297
+ // Stop at next heading
298
+ if (inFeatures && /^#{1,3}\s/.test(trimmed) && !/feature/i.test(trimmed)) {
299
+ break;
300
+ }
301
+ // Collect bullet points in feature section
302
+ if (inFeatures && /^[-*+]\s+/.test(trimmed)) {
303
+ const feature = trimmed.replace(/^[-*+]\s+/, '').replace(/^\*\*(.+?)\*\*:?\s*/, '$1: ');
304
+ if (feature.length > 5) {
305
+ features.push(feature.slice(0, 100));
306
+ }
307
+ }
308
+ }
309
+ return features.slice(0, 10);
310
+ }
311
+ /**
312
+ * Extract doc file names from raw docs string
313
+ */
314
+ function extractDocNames(rawDocs) {
315
+ const names = [];
316
+ const headerPattern = /^--- (.+) ---$/gm;
317
+ let match;
318
+ while ((match = headerPattern.exec(rawDocs)) !== null) {
319
+ names.push(match[1]);
320
+ }
321
+ return names;
322
+ }
323
+ /**
324
+ * Get a status icon for terminal display
325
+ */
326
+ function getStatusIcon(status) {
327
+ switch (status) {
328
+ case 'complete':
329
+ return '[x]';
330
+ case 'in-progress':
331
+ return '[~]';
332
+ case 'failed':
333
+ return '[!]';
334
+ case 'paused':
335
+ return '[-]';
336
+ default:
337
+ return '[ ]';
338
+ }
339
+ }
340
+ /**
341
+ * Find first hex color that isn't very dark or very light
342
+ * Skips background/neutral colors to find a reasonable brand accent
343
+ */
344
+ function findBrightColor(text) {
345
+ const allColors = [...text.matchAll(/#([0-9a-fA-F]{6})/g)];
346
+ for (const match of allColors) {
347
+ const hex = match[1];
348
+ const r = parseInt(hex.substring(0, 2), 16);
349
+ const g = parseInt(hex.substring(2, 4), 16);
350
+ const b = parseInt(hex.substring(4, 6), 16);
351
+ const brightness = (r * 299 + g * 587 + b * 114) / 1000;
352
+ if (brightness > 60 && brightness < 210) {
353
+ return '#' + hex;
354
+ }
355
+ }
356
+ return undefined;
357
+ }
358
+ //# sourceMappingURL=overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/workflow/overview.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,10 @@ export interface PlanModeResult {
30
30
  * @param idea - The brief project idea
31
31
  * @param language - Target programming language
32
32
  * @param onProgress - Progress callback
33
+ * @param userDocs - Optional user documentation for context
33
34
  * @returns Expanded specification
34
35
  */
35
- export declare function expandIdea(idea: string, language: OutputLanguage, onProgress?: (message: string) => void): Promise<string>;
36
+ export declare function expandIdea(idea: string, language: OutputLanguage, onProgress?: (message: string) => void, userDocs?: string): Promise<string>;
36
37
  /**
37
38
  * Create a development plan from a specification
38
39
  *
@@ -62,7 +63,7 @@ export declare function documentPlan(projectDir: string, plan: string, filename?
62
63
  /**
63
64
  * Task app tag for fullstack projects
64
65
  */
65
- export type TaskAppTag = 'FE' | 'BE' | 'INT';
66
+ export type TaskAppTag = 'FE' | 'BE' | 'INT' | 'WEB';
66
67
  /**
67
68
  * Task with app targeting information for fullstack projects
68
69
  */
@@ -70,7 +71,7 @@ export interface ParsedFullstackTask {
70
71
  name: string;
71
72
  description: string;
72
73
  appTag?: TaskAppTag;
73
- appTarget?: 'frontend' | 'backend' | 'unified';
74
+ appTarget?: 'frontend' | 'backend' | 'unified' | 'website';
74
75
  files?: string[];
75
76
  dependencies?: string[];
76
77
  acceptanceCriteria?: string[];
@@ -90,7 +91,7 @@ export declare function parseTaskTag(taskName: string): TaskAppTag | undefined;
90
91
  * @param tag - The task tag
91
92
  * @returns The app target
92
93
  */
93
- export declare function tagToAppTarget(tag: TaskAppTag): 'frontend' | 'backend' | 'unified';
94
+ export declare function tagToAppTarget(tag: TaskAppTag): 'frontend' | 'backend' | 'unified' | 'website';
94
95
  /**
95
96
  * Validation result for fullstack task
96
97
  */
@@ -119,6 +120,7 @@ export declare function validateFullstackPlan(plan: string): {
119
120
  feTasks: number;
120
121
  beTasks: number;
121
122
  intTasks: number;
123
+ webTasks: number;
122
124
  untaggedTasks: number;
123
125
  };
124
126
  };