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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend-design-analyzer.js","sourceRoot":"","sources":["../../src/generators/frontend-design-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Shared package generators for monorepo workspaces
3
+ * Generates design-tokens and UI component packages
4
+ * with support for brand-specific color palettes
5
+ */
6
+ /**
7
+ * Brand color options for design tokens
8
+ */
9
+ export interface BrandColorOptions {
10
+ primaryColor?: string;
11
+ }
12
+ /**
13
+ * Generate a color scale from a single hex color
14
+ * Converts hex to HSL and varies lightness across 10 stops (50-900)
15
+ *
16
+ * @param hex - Primary hex color (e.g., "#2563EB")
17
+ * @returns Record of color stops (50-900) with hex values
18
+ */
19
+ export declare function generateColorScale(hex: string): Record<string, string>;
20
+ /**
21
+ * Generate design tokens package with optional brand colors
22
+ *
23
+ * @param projectName - Project name for package naming
24
+ * @param brandColors - Optional brand color configuration
25
+ * @returns Package files array
26
+ */
27
+ export declare function generateDesignTokensPackage(projectName: string, brandColors?: BrandColorOptions): {
28
+ files: Array<{
29
+ path: string;
30
+ content: string;
31
+ }>;
32
+ };
33
+ /**
34
+ * Generate UI components package
35
+ *
36
+ * @param projectName - Project name for package naming
37
+ * @returns Package files array
38
+ */
39
+ export declare function generateUiPackage(projectName: string): {
40
+ files: Array<{
41
+ path: string;
42
+ content: string;
43
+ }>;
44
+ };
45
+ //# sourceMappingURL=shared-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-packages.d.ts","sourceRoot":"","sources":["../../src/generators/shared-packages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BtE;AAoBD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,iBAAiB,GAC9B;IACD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAwHA;AAqCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAuLA"}
@@ -0,0 +1,456 @@
1
+ /**
2
+ * Shared package generators for monorepo workspaces
3
+ * Generates design-tokens and UI component packages
4
+ * with support for brand-specific color palettes
5
+ */
6
+ /**
7
+ * Generate a color scale from a single hex color
8
+ * Converts hex to HSL and varies lightness across 10 stops (50-900)
9
+ *
10
+ * @param hex - Primary hex color (e.g., "#2563EB")
11
+ * @returns Record of color stops (50-900) with hex values
12
+ */
13
+ export function generateColorScale(hex) {
14
+ const rgb = hexToRgb(hex);
15
+ if (!rgb) {
16
+ // Fallback to default sky-blue on parse failure
17
+ return getDefaultPrimaryScale();
18
+ }
19
+ const hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);
20
+ const stops = [
21
+ { key: '50', lightness: 0.95 },
22
+ { key: '100', lightness: 0.90 },
23
+ { key: '200', lightness: 0.80 },
24
+ { key: '300', lightness: 0.68 },
25
+ { key: '400', lightness: 0.56 },
26
+ { key: '500', lightness: 0.48 },
27
+ { key: '600', lightness: 0.40 },
28
+ { key: '700', lightness: 0.32 },
29
+ { key: '800', lightness: 0.24 },
30
+ { key: '900', lightness: 0.15 },
31
+ ];
32
+ const scale = {};
33
+ for (const stop of stops) {
34
+ scale[stop.key] = hslToHex(hsl.h, hsl.s, stop.lightness);
35
+ }
36
+ return scale;
37
+ }
38
+ /**
39
+ * Default sky-blue primary color scale (backward compatible)
40
+ */
41
+ function getDefaultPrimaryScale() {
42
+ return {
43
+ 50: '#f0f9ff',
44
+ 100: '#e0f2fe',
45
+ 200: '#bae6fd',
46
+ 300: '#7dd3fc',
47
+ 400: '#38bdf8',
48
+ 500: '#0ea5e9',
49
+ 600: '#0284c7',
50
+ 700: '#0369a1',
51
+ 800: '#075985',
52
+ 900: '#0c4a6e',
53
+ };
54
+ }
55
+ /**
56
+ * Generate design tokens package with optional brand colors
57
+ *
58
+ * @param projectName - Project name for package naming
59
+ * @param brandColors - Optional brand color configuration
60
+ * @returns Package files array
61
+ */
62
+ export function generateDesignTokensPackage(projectName, brandColors) {
63
+ const primaryScale = brandColors?.primaryColor
64
+ ? generateColorScale(brandColors.primaryColor)
65
+ : getDefaultPrimaryScale();
66
+ const colorsContent = generateColorsModule(primaryScale);
67
+ return {
68
+ files: [
69
+ {
70
+ path: 'package.json',
71
+ content: JSON.stringify({
72
+ name: `@${projectName}/design-tokens`,
73
+ version: '1.0.0',
74
+ type: 'module',
75
+ main: './dist/index.js',
76
+ types: './dist/index.d.ts',
77
+ exports: {
78
+ '.': './dist/index.js',
79
+ './tailwind': './dist/tailwind-preset.js',
80
+ },
81
+ scripts: {
82
+ build: 'tsc',
83
+ dev: 'tsc --watch',
84
+ },
85
+ devDependencies: {
86
+ typescript: '^5.3.3',
87
+ },
88
+ }, null, 2),
89
+ },
90
+ {
91
+ path: 'tsconfig.json',
92
+ content: JSON.stringify({
93
+ compilerOptions: {
94
+ target: 'ES2020',
95
+ module: 'ESNext',
96
+ moduleResolution: 'bundler',
97
+ declaration: true,
98
+ outDir: './dist',
99
+ strict: true,
100
+ esModuleInterop: true,
101
+ skipLibCheck: true,
102
+ },
103
+ include: ['src'],
104
+ }, null, 2),
105
+ },
106
+ {
107
+ path: 'src/index.ts',
108
+ content: `/**
109
+ * Design tokens for ${projectName}
110
+ */
111
+
112
+ export * from './colors.js';
113
+ export * from './typography.js';
114
+ `,
115
+ },
116
+ {
117
+ path: 'src/colors.ts',
118
+ content: colorsContent,
119
+ },
120
+ {
121
+ path: 'src/typography.ts',
122
+ content: `/**
123
+ * Typography settings
124
+ */
125
+
126
+ export const typography = {
127
+ fontFamily: {
128
+ sans: ['Inter', 'system-ui', 'sans-serif'],
129
+ mono: ['JetBrains Mono', 'Fira Code', 'monospace'],
130
+ },
131
+ fontSize: {
132
+ xs: ['0.75rem', { lineHeight: '1rem' }],
133
+ sm: ['0.875rem', { lineHeight: '1.25rem' }],
134
+ base: ['1rem', { lineHeight: '1.5rem' }],
135
+ lg: ['1.125rem', { lineHeight: '1.75rem' }],
136
+ xl: ['1.25rem', { lineHeight: '1.75rem' }],
137
+ '2xl': ['1.5rem', { lineHeight: '2rem' }],
138
+ '3xl': ['1.875rem', { lineHeight: '2.25rem' }],
139
+ '4xl': ['2.25rem', { lineHeight: '2.5rem' }],
140
+ '5xl': ['3rem', { lineHeight: '1' }],
141
+ '6xl': ['3.75rem', { lineHeight: '1' }],
142
+ },
143
+ } as const;
144
+
145
+ export type Typography = typeof typography;
146
+ `,
147
+ },
148
+ {
149
+ path: 'src/tailwind-preset.ts',
150
+ content: `/**
151
+ * Tailwind CSS preset with design tokens
152
+ */
153
+
154
+ import { colors } from './colors.js';
155
+ import { typography } from './typography.js';
156
+
157
+ export const preset = {
158
+ theme: {
159
+ extend: {
160
+ colors,
161
+ fontFamily: typography.fontFamily,
162
+ fontSize: typography.fontSize,
163
+ },
164
+ },
165
+ };
166
+
167
+ export default preset;
168
+ `,
169
+ },
170
+ ],
171
+ };
172
+ }
173
+ /**
174
+ * Generate the colors.ts module content with given primary scale
175
+ */
176
+ function generateColorsModule(primaryScale) {
177
+ const entries = Object.entries(primaryScale)
178
+ .map(([key, value]) => ` ${key}: '${value}',`)
179
+ .join('\n');
180
+ return `/**
181
+ * Color palette
182
+ */
183
+
184
+ export const colors = {
185
+ primary: {
186
+ ${entries}
187
+ },
188
+ secondary: {
189
+ 50: '#f8fafc',
190
+ 100: '#f1f5f9',
191
+ 200: '#e2e8f0',
192
+ 300: '#cbd5e1',
193
+ 400: '#94a3b8',
194
+ 500: '#64748b',
195
+ 600: '#475569',
196
+ 700: '#334155',
197
+ 800: '#1e293b',
198
+ 900: '#0f172a',
199
+ },
200
+ } as const;
201
+
202
+ export type ColorScale = typeof colors.primary;
203
+ export type Colors = typeof colors;
204
+ `;
205
+ }
206
+ /**
207
+ * Generate UI components package
208
+ *
209
+ * @param projectName - Project name for package naming
210
+ * @returns Package files array
211
+ */
212
+ export function generateUiPackage(projectName) {
213
+ return {
214
+ files: [
215
+ {
216
+ path: 'package.json',
217
+ content: JSON.stringify({
218
+ name: `@${projectName}/ui`,
219
+ version: '1.0.0',
220
+ type: 'module',
221
+ main: './dist/index.js',
222
+ types: './dist/index.d.ts',
223
+ exports: {
224
+ '.': './dist/index.js',
225
+ './button': './dist/button.js',
226
+ './card': './dist/card.js',
227
+ },
228
+ scripts: {
229
+ build: 'tsc',
230
+ dev: 'tsc --watch',
231
+ },
232
+ dependencies: {
233
+ clsx: '^2.1.0',
234
+ 'tailwind-merge': '^2.2.0',
235
+ },
236
+ peerDependencies: {
237
+ react: '>=18.0.0',
238
+ 'react-dom': '>=18.0.0',
239
+ },
240
+ devDependencies: {
241
+ '@types/react': '^18.2.0',
242
+ '@types/react-dom': '^18.2.0',
243
+ typescript: '^5.3.3',
244
+ },
245
+ }, null, 2),
246
+ },
247
+ {
248
+ path: 'tsconfig.json',
249
+ content: JSON.stringify({
250
+ compilerOptions: {
251
+ target: 'ES2020',
252
+ module: 'ESNext',
253
+ moduleResolution: 'bundler',
254
+ declaration: true,
255
+ outDir: './dist',
256
+ strict: true,
257
+ esModuleInterop: true,
258
+ skipLibCheck: true,
259
+ jsx: 'react-jsx',
260
+ },
261
+ include: ['src'],
262
+ }, null, 2),
263
+ },
264
+ {
265
+ path: 'src/index.ts',
266
+ content: `/**
267
+ * Shared UI components for ${projectName}
268
+ */
269
+
270
+ export * from './button.js';
271
+ export * from './card.js';
272
+ export * from './utils.js';
273
+ `,
274
+ },
275
+ {
276
+ path: 'src/utils.ts',
277
+ content: `import { clsx, type ClassValue } from 'clsx';
278
+ import { twMerge } from 'tailwind-merge';
279
+
280
+ export function cn(...inputs: ClassValue[]) {
281
+ return twMerge(clsx(inputs));
282
+ }
283
+ `,
284
+ },
285
+ {
286
+ path: 'src/button.tsx',
287
+ content: `import * as React from 'react';
288
+ import { cn } from './utils.js';
289
+
290
+ export interface ButtonProps
291
+ extends React.ButtonHTMLAttributes<HTMLButtonElement> {
292
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost';
293
+ size?: 'sm' | 'md' | 'lg';
294
+ }
295
+
296
+ export const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
297
+ ({ className, variant = 'primary', size = 'md', ...props }, ref) => {
298
+ return (
299
+ <button
300
+ className={cn(
301
+ 'inline-flex items-center justify-center rounded-md font-medium transition-colors',
302
+ 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2',
303
+ 'disabled:pointer-events-none disabled:opacity-50',
304
+ {
305
+ // Variants
306
+ 'bg-primary-600 text-white hover:bg-primary-500': variant === 'primary',
307
+ 'bg-secondary-100 text-secondary-900 hover:bg-secondary-200': variant === 'secondary',
308
+ 'border border-secondary-300 bg-transparent hover:bg-secondary-50': variant === 'outline',
309
+ 'bg-transparent hover:bg-secondary-100': variant === 'ghost',
310
+ // Sizes
311
+ 'h-8 px-3 text-sm': size === 'sm',
312
+ 'h-10 px-4 text-sm': size === 'md',
313
+ 'h-12 px-6 text-base': size === 'lg',
314
+ },
315
+ className
316
+ )}
317
+ ref={ref}
318
+ {...props}
319
+ />
320
+ );
321
+ }
322
+ );
323
+
324
+ Button.displayName = 'Button';
325
+ `,
326
+ },
327
+ {
328
+ path: 'src/card.tsx',
329
+ content: `import * as React from 'react';
330
+ import { cn } from './utils.js';
331
+
332
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {}
333
+
334
+ export const Card = React.forwardRef<HTMLDivElement, CardProps>(
335
+ ({ className, ...props }, ref) => (
336
+ <div
337
+ ref={ref}
338
+ className={cn(
339
+ 'rounded-lg border border-secondary-200 bg-white shadow-sm',
340
+ className
341
+ )}
342
+ {...props}
343
+ />
344
+ )
345
+ );
346
+
347
+ Card.displayName = 'Card';
348
+
349
+ export const CardHeader = React.forwardRef<
350
+ HTMLDivElement,
351
+ React.HTMLAttributes<HTMLDivElement>
352
+ >(({ className, ...props }, ref) => (
353
+ <div
354
+ ref={ref}
355
+ className={cn('flex flex-col space-y-1.5 p-6', className)}
356
+ {...props}
357
+ />
358
+ ));
359
+
360
+ CardHeader.displayName = 'CardHeader';
361
+
362
+ export const CardTitle = React.forwardRef<
363
+ HTMLParagraphElement,
364
+ React.HTMLAttributes<HTMLHeadingElement>
365
+ >(({ className, ...props }, ref) => (
366
+ <h3
367
+ ref={ref}
368
+ className={cn('text-lg font-semibold leading-none tracking-tight', className)}
369
+ {...props}
370
+ />
371
+ ));
372
+
373
+ CardTitle.displayName = 'CardTitle';
374
+
375
+ export const CardContent = React.forwardRef<
376
+ HTMLDivElement,
377
+ React.HTMLAttributes<HTMLDivElement>
378
+ >(({ className, ...props }, ref) => (
379
+ <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />
380
+ ));
381
+
382
+ CardContent.displayName = 'CardContent';
383
+ `,
384
+ },
385
+ ],
386
+ };
387
+ }
388
+ // --- Color conversion helpers ---
389
+ function hexToRgb(hex) {
390
+ const cleaned = hex.replace(/^#/, '');
391
+ if (cleaned.length !== 6)
392
+ return null;
393
+ const r = parseInt(cleaned.substring(0, 2), 16);
394
+ const g = parseInt(cleaned.substring(2, 4), 16);
395
+ const b = parseInt(cleaned.substring(4, 6), 16);
396
+ if (isNaN(r) || isNaN(g) || isNaN(b))
397
+ return null;
398
+ return { r, g, b };
399
+ }
400
+ function rgbToHsl(r, g, b) {
401
+ const rn = r / 255;
402
+ const gn = g / 255;
403
+ const bn = b / 255;
404
+ const max = Math.max(rn, gn, bn);
405
+ const min = Math.min(rn, gn, bn);
406
+ const l = (max + min) / 2;
407
+ let h = 0;
408
+ let s = 0;
409
+ if (max !== min) {
410
+ const d = max - min;
411
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
412
+ if (max === rn) {
413
+ h = ((gn - bn) / d + (gn < bn ? 6 : 0)) / 6;
414
+ }
415
+ else if (max === gn) {
416
+ h = ((bn - rn) / d + 2) / 6;
417
+ }
418
+ else {
419
+ h = ((rn - gn) / d + 4) / 6;
420
+ }
421
+ }
422
+ return { h, s, l };
423
+ }
424
+ function hslToHex(h, s, l) {
425
+ const hue2rgb = (p, q, t) => {
426
+ let tn = t;
427
+ if (tn < 0)
428
+ tn += 1;
429
+ if (tn > 1)
430
+ tn -= 1;
431
+ if (tn < 1 / 6)
432
+ return p + (q - p) * 6 * tn;
433
+ if (tn < 1 / 2)
434
+ return q;
435
+ if (tn < 2 / 3)
436
+ return p + (q - p) * (2 / 3 - tn) * 6;
437
+ return p;
438
+ };
439
+ let r, g, b;
440
+ if (s === 0) {
441
+ r = g = b = l;
442
+ }
443
+ else {
444
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
445
+ const p = 2 * l - q;
446
+ r = hue2rgb(p, q, h + 1 / 3);
447
+ g = hue2rgb(p, q, h);
448
+ b = hue2rgb(p, q, h - 1 / 3);
449
+ }
450
+ const toHex = (n) => {
451
+ const hex = Math.round(n * 255).toString(16);
452
+ return hex.length === 1 ? '0' + hex : hex;
453
+ };
454
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
455
+ }
456
+ //# sourceMappingURL=shared-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-packages.js","sourceRoot":"","sources":["../../src/generators/shared-packages.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,12 @@ export * as pythonTemplates from './python.js';
5
5
  export * as typescriptTemplates from './typescript.js';
6
6
  export * as fullstackTemplates from './fullstack.js';
7
7
  export * as websiteTemplates from './website.js';
8
+ export * as websiteConfigTemplates from './website-config.js';
9
+ export * as websiteComponentTemplates from './website-components.js';
10
+ export * as websiteSeoTemplates from './website-seo.js';
11
+ export * as websiteConversionTemplates from './website-conversion.js';
12
+ export * as websiteLandingTemplates from './website-landing.js';
13
+ export * as websitePricingTemplates from './website-pricing.js';
14
+ export * as websiteLayoutTemplates from './website-layout.js';
15
+ export * as websiteSectionTemplates from './website-sections.js';
8
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,kBAAkB,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,kBAAkB,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,sBAAsB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,yBAAyB,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,0BAA0B,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,uBAAuB,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,uBAAuB,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,sBAAsB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,uBAAuB,MAAM,uBAAuB,CAAC"}
@@ -5,4 +5,12 @@ export * as pythonTemplates from './python.js';
5
5
  export * as typescriptTemplates from './typescript.js';
6
6
  export * as fullstackTemplates from './fullstack.js';
7
7
  export * as websiteTemplates from './website.js';
8
+ export * as websiteConfigTemplates from './website-config.js';
9
+ export * as websiteComponentTemplates from './website-components.js';
10
+ export * as websiteSeoTemplates from './website-seo.js';
11
+ export * as websiteConversionTemplates from './website-conversion.js';
12
+ export * as websiteLandingTemplates from './website-landing.js';
13
+ export * as websitePricingTemplates from './website-pricing.js';
14
+ export * as websiteLayoutTemplates from './website-layout.js';
15
+ export * as websiteSectionTemplates from './website-sections.js';
8
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,kBAAkB,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,kBAAkB,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,sBAAsB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,yBAAyB,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,mBAAmB,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,0BAA0B,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,uBAAuB,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,uBAAuB,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,sBAAsB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,uBAAuB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Shared website component templates
3
+ * Generates Header, Footer, and Navigation components with
4
+ * strategy-driven content, logo support, and mobile responsiveness
5
+ */
6
+ import type { WebsiteContentContext } from '../website-context.js';
7
+ import type { WebsiteStrategyDocument } from '../../types/website-strategy.js';
8
+ /**
9
+ * Generate website header component with logo, navigation, and CTA
10
+ *
11
+ * @param projectName - Project name for fallback display
12
+ * @param context - Optional content context
13
+ * @param strategy - Optional strategy for navigation and CTA
14
+ * @returns Header component source code
15
+ */
16
+ export declare function generateWebsiteHeader(projectName: string, context?: WebsiteContentContext, strategy?: WebsiteStrategyDocument): string;
17
+ /**
18
+ * Generate website footer component with multi-column sections
19
+ *
20
+ * @param projectName - Project name for copyright
21
+ * @param context - Optional content context
22
+ * @param strategy - Optional strategy for footer sections
23
+ * @returns Footer component source code
24
+ */
25
+ export declare function generateWebsiteFooter(projectName: string, context?: WebsiteContentContext, strategy?: WebsiteStrategyDocument): string;
26
+ /**
27
+ * Generate navigation config module
28
+ *
29
+ * @param strategy - Optional strategy for navigation items
30
+ * @returns Navigation config source code
31
+ */
32
+ export declare function generateWebsiteNavigation(strategy?: WebsiteStrategyDocument): string;
33
+ //# sourceMappingURL=website-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website-components.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/website-components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAA0B,MAAM,iCAAiC,CAAC;AAavG;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,qBAAqB,EAC/B,QAAQ,CAAC,EAAE,uBAAuB,GACjC,MAAM,CA8HR;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,qBAAqB,EAC/B,QAAQ,CAAC,EAAE,uBAAuB,GACjC,MAAM,CAmHR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,CAAC,EAAE,uBAAuB,GACjC,MAAM,CAgCR"}