@auto-engineer/frontend-generator-react-graphql 1.8.0 → 1.9.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @auto-engineer/frontend-react-graphql-generator
2
2
 
3
+ ## 1.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`9cca67b`](https://github.com/BeOnAuto/auto-engineer/commit/9cca67b7c85953d297a632a268829cc18a168e3a) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **cli**: implement delegation pattern for FileSyncer reset
8
+ - **global**: version packages
9
+ - **global**: add changeset
10
+ - **global**: update ketchup settings
11
+ - **cli**: update ketchup plan with completed burst
12
+
13
+ - [#43](https://github.com/BeOnAuto/auto-engineer/pull/43) [`af76242`](https://github.com/BeOnAuto/auto-engineer/commit/af762423f8adfad0796f2f3a6483fb931c7b0bf1) Thanks [@osamanar](https://github.com/osamanar)! - - Added template generation capability to frontend app generation in the information architect package
14
+
15
+ ### Patch Changes
16
+
17
+ - [#43](https://github.com/BeOnAuto/auto-engineer/pull/43) [`31aab4f`](https://github.com/BeOnAuto/auto-engineer/commit/31aab4f3114d6fd8f60fa2239fff9d567a78e321) Thanks [@osamanar](https://github.com/osamanar)! - - Fixed package manager lock file to ensure consistent dependency installation
18
+
19
+ - Updated dependencies [[`31aab4f`](https://github.com/BeOnAuto/auto-engineer/commit/31aab4f3114d6fd8f60fa2239fff9d567a78e321), [`9cca67b`](https://github.com/BeOnAuto/auto-engineer/commit/9cca67b7c85953d297a632a268829cc18a168e3a), [`af76242`](https://github.com/BeOnAuto/auto-engineer/commit/af762423f8adfad0796f2f3a6483fb931c7b0bf1)]:
20
+ - @auto-engineer/ai-gateway@1.9.0
21
+ - @auto-engineer/message-bus@1.9.0
22
+
3
23
  ## 1.8.0
4
24
 
5
25
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"generateComponents.d.ts","sourceRoot":"","sources":["../../../src/generator/generateComponents.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAiPxD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAc/G"}
1
+ {"version":3,"file":"generateComponents.d.ts","sourceRoot":"","sources":["../../../src/generator/generateComponents.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAmTxD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAc/G"}
@@ -21,6 +21,14 @@ function extractOrganismSpecs(spec, organismNames) {
21
21
  }
22
22
  return organismSpecs;
23
23
  }
24
+ function getOrganismsFromTemplate(spec, templateName) {
25
+ const templateDef = spec.templates?.items?.[templateName];
26
+ if (templateDef === undefined) {
27
+ debug('Template %s not found in IA schema', templateName);
28
+ return [];
29
+ }
30
+ return templateDef.layout?.organisms ?? [];
31
+ }
24
32
  function generateMolecules(spec, componentTemplate, typeMappings, files) {
25
33
  debug('Generating %d molecule components', Object.keys(spec.molecules.items).length);
26
34
  for (const [name, def] of Object.entries(spec.molecules.items)) {
@@ -79,15 +87,48 @@ function generateOrganisms(spec, componentTemplate, typeMappings, files) {
79
87
  });
80
88
  }
81
89
  }
90
+ function generateTemplates(spec, templateEjsTemplate, typeMappings, files) {
91
+ if (!spec.templates?.items) {
92
+ debug('No templates found in IA schema');
93
+ return;
94
+ }
95
+ debug('Generating %d template components', Object.keys(spec.templates.items).length);
96
+ for (const [name, def] of Object.entries(spec.templates.items)) {
97
+ debugOutput('Generating template: %s', name);
98
+ const organisms = def.layout?.organisms ?? [];
99
+ const organismSpecs = extractOrganismSpecs(spec, organisms);
100
+ // Aggregate type guidance from all organisms in the template
101
+ const typeGuidance = typeMappings
102
+ ? aggregateOrganismGuidance(name, organisms, spec, typeMappings)
103
+ : { imports: [], queryGuidance: [], mutationGuidance: [], enumGuidance: [], typeFieldGuidance: [] };
104
+ debugTypes('%s (template): %d imports, %d query guidance, %d mutation guidance, %d enum guidance', name, typeGuidance.imports.length, typeGuidance.queryGuidance.length, typeGuidance.mutationGuidance.length, typeGuidance.enumGuidance.length);
105
+ const content = ejs.render(templateEjsTemplate, {
106
+ name,
107
+ description: def.description,
108
+ organisms,
109
+ specs: def.specs ?? [],
110
+ typeGuidance,
111
+ organismSpecs,
112
+ });
113
+ files.push({
114
+ path: `output/components/templates/${name}.tsx`,
115
+ content,
116
+ type: 'template',
117
+ });
118
+ }
119
+ }
82
120
  function generatePages(spec, pageTemplate, typeMappings, files) {
83
121
  debug('Generating %d page components', Object.keys(spec.pages.items).length);
84
122
  for (const [name, def] of Object.entries(spec.pages.items)) {
85
- debugOutput('Generating page: %s with route: %s', name, def.route);
123
+ debugOutput('Generating page: %s with route: %s, template: %s', name, def.route, def.template);
124
+ // Get organisms from the referenced template
125
+ const organisms = getOrganismsFromTemplate(spec, def.template);
126
+ const templateDef = spec.templates?.items?.[def.template];
86
127
  const pageTypeGuidance = typeMappings
87
128
  ? buildTypeGuidance(name, def, typeMappings)
88
129
  : { imports: [], queryGuidance: [], mutationGuidance: [], enumGuidance: [] };
89
130
  const organismTypeGuidance = typeMappings
90
- ? aggregateOrganismGuidance(name, def, spec, typeMappings)
131
+ ? aggregateOrganismGuidance(name, organisms, spec, typeMappings)
91
132
  : { imports: [], queryGuidance: [], mutationGuidance: [], enumGuidance: [] };
92
133
  const mergedImports = Array.from(new Set([...pageTypeGuidance.imports, ...organismTypeGuidance.imports]));
93
134
  const mergedQueryGuidance = [...pageTypeGuidance.queryGuidance, ...organismTypeGuidance.queryGuidance];
@@ -100,16 +141,18 @@ function generatePages(spec, pageTemplate, typeMappings, files) {
100
141
  enumGuidance: mergedEnumGuidance,
101
142
  };
102
143
  debugTypes('%s: %d imports (%d page + %d organisms), %d query guidance (%d page + %d organisms), %d mutation guidance (%d page + %d organisms), %d enum guidance', name, typeGuidance.imports.length, pageTypeGuidance.imports.length, organismTypeGuidance.imports.length, typeGuidance.queryGuidance.length, pageTypeGuidance.queryGuidance.length, organismTypeGuidance.queryGuidance.length, typeGuidance.mutationGuidance.length, pageTypeGuidance.mutationGuidance.length, organismTypeGuidance.mutationGuidance.length, typeGuidance.enumGuidance.length);
103
- const organismSpecs = extractOrganismSpecs(spec, def.layout.organisms);
144
+ const organismSpecs = extractOrganismSpecs(spec, organisms);
104
145
  const content = ejs.render(pageTemplate, {
105
146
  name,
106
147
  description: def.description,
107
- organisms: def.layout.organisms,
148
+ organisms,
108
149
  route: def.route,
109
150
  navigation: def.navigation ?? [],
110
151
  specs: def.specs ?? [],
111
152
  dataRequirements: def.data_requirements ?? [],
112
153
  template: def.template,
154
+ templateDescription: templateDef?.description ?? '',
155
+ templateSpecs: templateDef?.specs ?? [],
113
156
  typeGuidance,
114
157
  organismSpecs,
115
158
  });
@@ -134,11 +177,13 @@ function generate(spec, gqlSchemaContent) {
134
177
  }
135
178
  debugTemplates('Loading templates from: %s/templates', __dirname);
136
179
  const componentTemplate = fs.readFileSync(path.resolve(__dirname, 'templates/component.ejs'), 'utf-8');
180
+ const templateEjsTemplate = fs.readFileSync(path.resolve(__dirname, 'templates/template.ejs'), 'utf-8');
137
181
  const pageTemplate = fs.readFileSync(path.resolve(__dirname, 'templates/page.ejs'), 'utf-8');
138
182
  const appTemplate = fs.readFileSync(path.resolve(__dirname, 'templates/app.ejs'), 'utf-8');
139
183
  debugTemplates('Templates loaded successfully');
140
184
  generateMolecules(spec, componentTemplate, typeMappings, files);
141
185
  generateOrganisms(spec, componentTemplate, typeMappings, files);
186
+ generateTemplates(spec, templateEjsTemplate, typeMappings, files);
142
187
  generatePages(spec, pageTemplate, typeMappings, files);
143
188
  debug('Generating App.tsx with %d pages', Object.keys(spec.pages.items).length);
144
189
  const appContent = ejs.render(appTemplate, {
@@ -1 +1 @@
1
- {"version":3,"file":"generateComponents.js","sourceRoot":"","sources":["../../../src/generator/generateComponents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateComponents.js","sourceRoot":"","sources":["../../../src/generator/generateComponents.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  <% if (atoms && atoms.length > 0) { -%>
2
- // 🎨 REQUIRED ATOM COMPONENTS:
2
+ // REQUIRED ATOM COMPONENTS:
3
3
  // <%= atoms.join(', ') %>
4
4
  //
5
5
  // Atom source code is provided in the "Available Dependencies" section below.
@@ -78,7 +78,9 @@ import { <%= typeGuidance.imports.join(', ') %> } from '@/gql/graphql';
78
78
  <% } -%>
79
79
  <% if (molecules && molecules.length > 0) { -%>
80
80
  //
81
+ // ------------------------------------------------------------------------------
81
82
  // IMPLEMENTATION GUIDE (Priority: Read this immediately before coding)
83
+ // ------------------------------------------------------------------------------
82
84
  //
83
85
  <% if (specs && specs.length > 0) { -%>
84
86
  // Spec Coverage:
@@ -110,7 +112,7 @@ const hasComprehensive = comprehensiveMolecules.length > 0;
110
112
  //
111
113
  // Code structure:
112
114
  // return (
113
- // <div className="space-y-4 sm:space-y-6 p-4 sm:p-6">
115
+ // <div> {/* Add vertical spacing and padding */}
114
116
  <% molecules.forEach(mol => { -%>
115
117
  // <<%= mol %> />
116
118
  <% }); -%>
@@ -127,12 +129,79 @@ const hasComprehensive = comprehensiveMolecules.length > 0;
127
129
  <% }); -%>
128
130
  //
129
131
  // Layout guidance:
130
- // Vertical: space-y-4 sm:space-y-6
131
- // Padding: p-4 sm:p-6
132
- // Grids for data: grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3
133
- // Responsive: Start mobile-first, add sm:/lg: breakpoints
132
+ // Vertical: Consistent vertical spacing between elements
133
+ // Padding: Generous padding that scales with viewport
134
+ // Grids for data: Responsive grid (1 col mobile, 2-3 cols larger screens)
135
+ // Responsive: Mobile-first approach, adapt layout at breakpoints
134
136
  <% } -%>
135
137
  //
138
+ // ------------------------------------------------------------------------------
139
+ // VISUAL DESIGN PRINCIPLES
140
+ // ------------------------------------------------------------------------------
141
+ //
142
+ // TYPOGRAPHY HIERARCHY (create clear visual importance):
143
+ // Headlines: Large size, bold weight, tight letter-spacing
144
+ // Subheadings: Medium-large size, semi-bold weight
145
+ // Body: Comfortable reading size, relaxed line-height, muted color
146
+ // Labels: Smaller size, medium weight
147
+ //
148
+ // SPACING RHYTHM (consistent breathing room):
149
+ // Section gaps: Large vertical spacing between major sections
150
+ // Content groups: Medium spacing within related content
151
+ // Element pairs: Small spacing for tightly coupled elements
152
+ // Card padding: Generous internal padding that scales with viewport
153
+ //
154
+ // INTERACTIVE STATES (MANDATORY for all clickable elements):
155
+ // Hover: Visible feedback (shadow elevation, background shift, subtle scale)
156
+ // Focus: Clear focus ring for accessibility
157
+ // Active: Tactile feedback (slight scale down)
158
+ // Transitions: Smooth 200ms transitions for state changes
159
+ //
160
+ // CARD STYLING (for contained content):
161
+ // Base: Rounded corners, subtle border, card background, soft shadow
162
+ // Interactive: Shadow elevation on hover, pointer cursor
163
+ // Header/Footer: Border separation, consistent padding
164
+ //
165
+ // LOADING & EMPTY STATES:
166
+ // Loading: Skeleton placeholders with subtle animation
167
+ // Empty: Centered layout with icon, descriptive message, and action button
168
+ // Error: Error-themed background with clear message and recovery action
169
+ //
170
+ // COLOR USAGE:
171
+ // Primary actions: Use primary color for main CTAs
172
+ // Secondary surfaces: Muted/subtle backgrounds for secondary content
173
+ // Semantic colors: Green (success), Amber (warning), Red (error), Blue (info)
174
+ // Avoid: Large solid color blocks - prefer subtle backgrounds
175
+ //
176
+ // ------------------------------------------------------------------------------
177
+ // DESIGN CHECKLIST (Apply to your implementation)
178
+ // ------------------------------------------------------------------------------
179
+ //
180
+ // REQUIRED FOR ALL COMPONENTS:
181
+ // - Consistent spacing using your design system's scale
182
+ // - Rounded corners on containers and cards
183
+ // - Smooth transitions on interactive elements
184
+ // - Hover states for all clickable items
185
+ //
186
+ // FOR LISTS/GRIDS:
187
+ // - Responsive grid: 1 column on mobile, 2-3 on larger screens
188
+ // - Consistent gap spacing between items
189
+ // - Hover states on list/grid items
190
+ //
191
+ // FOR CARDS:
192
+ // - Rounded corners, border, subtle shadow
193
+ // - Shadow elevation on hover for interactive cards
194
+ // - Generous padding inside
195
+ //
196
+ // FOR EMPTY STATES:
197
+ // - Vertically and horizontally centered
198
+ // - Icon with muted background
199
+ // - Clear call-to-action button
200
+ //
201
+ // FOR LOADING:
202
+ // - Use Skeleton components matching content layout
203
+ // - Prevent layout shift when content loads
204
+ //
136
205
  <% } -%>
137
206
 
138
207
  export function <%= name %>() {
@@ -17,7 +17,7 @@ describe('component.ejs', () => {
17
17
  specs: [],
18
18
  typeGuidance: { imports: [], queryGuidance: [], mutationGuidance: [], enumGuidance: [] },
19
19
  });
20
- expect(content).toContain('// 🎨 REQUIRED ATOM COMPONENTS:');
20
+ expect(content).toContain('// REQUIRED ATOM COMPONENTS:');
21
21
  expect(content).toContain('// Button, Badge');
22
22
  expect(content).toContain('// Card displaying task information');
23
23
  expect(content).toContain('export function TaskCard()');
@@ -52,7 +52,7 @@ describe('component.ejs', () => {
52
52
  });
53
53
  expect(content).toContain('// Molecule with no atoms');
54
54
  expect(content).toContain('export function EmptyMolecule()');
55
- expect(content).not.toContain('🎨 REQUIRED ATOM COMPONENTS');
55
+ expect(content).not.toContain('REQUIRED ATOM COMPONENTS');
56
56
  });
57
57
  });
58
58
  describe('Organisms', () => {
@@ -292,7 +292,7 @@ describe('component.ejs', () => {
292
292
  FilterPanel: ['show filter options'],
293
293
  },
294
294
  });
295
- expect(content).toContain('// 🎨 REQUIRED ATOM COMPONENTS:');
295
+ expect(content).toContain('// REQUIRED ATOM COMPONENTS:');
296
296
  expect(content).toContain('// Input, Button');
297
297
  expect(content).toContain('import { FilterPanel } from "@/components/molecules/FilterPanel";');
298
298
  expect(content).toContain('IMPLEMENTATION GUIDE');
@@ -1 +1 @@
1
- {"version":3,"file":"component.ejs.specs.js","sourceRoot":"","sources":["../../../../src/generator/templates/component.ejs.specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.ejs.specs.js","sourceRoot":"","sources":["../../../../src/generator/templates/component.ejs.specs.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ describe('component.ejs', () => {
21
21
  typeGuidance: { imports: [], queryGuidance: [], mutationGuidance: [], enumGuidance: [] },
22
22
  });
23
23
 
24
- expect(content).toContain('// 🎨 REQUIRED ATOM COMPONENTS:');
24
+ expect(content).toContain('// REQUIRED ATOM COMPONENTS:');
25
25
  expect(content).toContain('// Button, Badge');
26
26
  expect(content).toContain('// Card displaying task information');
27
27
  expect(content).toContain('export function TaskCard()');
@@ -60,7 +60,7 @@ describe('component.ejs', () => {
60
60
 
61
61
  expect(content).toContain('// Molecule with no atoms');
62
62
  expect(content).toContain('export function EmptyMolecule()');
63
- expect(content).not.toContain('🎨 REQUIRED ATOM COMPONENTS');
63
+ expect(content).not.toContain('REQUIRED ATOM COMPONENTS');
64
64
  });
65
65
  });
66
66
 
@@ -322,7 +322,7 @@ describe('component.ejs', () => {
322
322
  },
323
323
  });
324
324
 
325
- expect(content).toContain('// 🎨 REQUIRED ATOM COMPONENTS:');
325
+ expect(content).toContain('// REQUIRED ATOM COMPONENTS:');
326
326
  expect(content).toContain('// Input, Button');
327
327
  expect(content).toContain('import { FilterPanel } from "@/components/molecules/FilterPanel";');
328
328
  expect(content).toContain('IMPLEMENTATION GUIDE');
@@ -1,16 +1,30 @@
1
- <% organisms.forEach(org => { -%>
2
- import { <%= org %> } from "@/components/organisms/<%= org %>";
3
- <% }) -%>
1
+ <%
2
+ // Convert template name to PascalCase for import (define at top for use throughout)
3
+ const templateComponentName = template ? template.split(/[-_\s]+/).map(w => w.charAt(0).toUpperCase() + w.slice(1)).join('') : 'div';
4
+ -%>
4
5
  <% if (template) { -%>
5
- import { <%= template.split(/[-_\s]+/).map(w => w.charAt(0).toUpperCase() + w.slice(1)).join('') %> } from "@/components/templates/<%= template %>";
6
+ import { <%= templateComponentName %> } from "@/components/templates/<%= template %>";
6
7
  <% } -%>
7
8
  <% if (typeGuidance && typeGuidance.imports && typeGuidance.imports.length > 0) { -%>
8
9
  import { <%= typeGuidance.imports.join(', ') %> } from '@/gql/graphql';
9
10
  <% } -%>
10
11
 
12
+ // PAGE: <%= name %>
13
+ // Route: <%= route %>
11
14
  // <%= description %>
15
+ //
16
+ // Pages are specific instances of templates with real representative content.
17
+ // They populate the template's layout structure with actual data and behavior.
18
+ //
19
+ <% if (template) { -%>
20
+ // Template: <%= template %>
21
+ <% if (templateDescription) { -%>
22
+ // Template Purpose: <%= templateDescription %>
23
+ <% } -%>
24
+ <% } -%>
12
25
  <% if (specs && specs.length) { -%>
13
- // Specs:
26
+ //
27
+ // Page Specs:
14
28
  <% specs.forEach(spec => { -%>
15
29
  // - <%- spec %>
16
30
  <% }) -%>
@@ -21,6 +35,11 @@ import { <%= typeGuidance.imports.join(', ') %> } from '@/gql/graphql';
21
35
  // PAGE COMPOSITION - Spec Coverage Analysis
22
36
  // ──────────────────────────────────────────────────────────────────────────────
23
37
  //
38
+ // This page uses the "<%= template %>" template which contains:
39
+ <% organisms.forEach(org => { -%>
40
+ // - <%= org %>
41
+ <% }) -%>
42
+ //
24
43
  <% if (specs && specs.length > 0) { -%>
25
44
  // YOUR SPECS (what this page must accomplish):
26
45
  //
@@ -28,39 +47,59 @@ import { <%= typeGuidance.imports.join(', ') %> } from '@/gql/graphql';
28
47
  <% const coveredBy = organisms.find(org => organismSpecs[org]?.includes(spec)); -%>
29
48
  // [<%= coveredBy ? '✓' : ' ' %>] <%= spec %>
30
49
  <% if (coveredBy) { -%>
31
- // └─ Implemented by <%= coveredBy %>
50
+ // └─ Implemented by <%= coveredBy %> (via template)
32
51
  <% } -%>
33
52
  <% }); -%>
34
53
  //
35
54
  <% } -%>
36
- // Available Organisms:
55
+ <% if (templateSpecs && templateSpecs.length > 0) { -%>
56
+ // TEMPLATE LAYOUT SPECS (handled by template):
57
+ //
58
+ <% templateSpecs.forEach(spec => { -%>
59
+ // • <%= spec %>
60
+ <% }); -%>
61
+ //
62
+ <% } -%>
63
+ // Available Organisms (via template):
37
64
  //
38
65
  <% organisms.forEach(org => { -%>
39
66
  <% const orgSpecs = organismSpecs[org]; -%>
40
67
  <% if (orgSpecs && orgSpecs.length > 0) { -%>
41
68
  // **<%= org %>** capabilities:
42
- <% orgSpecs.forEach(spec => { -%>
69
+ <% orgSpecs.slice(0, 5).forEach(spec => { -%>
43
70
  // • <%= spec %>
44
71
  <% }); -%>
72
+ <% if (orgSpecs.length > 5) { -%>
73
+ // • ... and <%= orgSpecs.length - 5 %> more specs
74
+ <% } -%>
45
75
  //
46
76
  <% } else { -%>
47
77
  // **<%= org %>**
48
- // (Organism with specific purpose - compose as needed)
78
+ // (Organism with specific purpose)
49
79
  //
50
80
  <% } -%>
51
81
  <% }); -%>
52
- // Composition Rules:
82
+ // Page Responsibilities:
53
83
  //
54
- // 1. ✓ Checked specs = already implemented by organism
55
- // 2. [ ] Unchecked specs = your responsibility
56
- // 3. Your job: compose organisms into page layout
84
+ // 1. ✓ Checked specs = implemented by organism in template
85
+ // 2. [ ] Unchecked specs = your responsibility to implement
86
+ // 3. Pages provide real data to populate template structure
87
+ // 4. Handle page-level navigation and routing
88
+ // 5. Manage page-specific state if needed
57
89
  //
58
90
  <% } -%>
91
+ <% if (navigation && navigation.length > 0) { -%>
92
+ //
93
+ // NAVIGATION:
94
+ <% navigation.forEach(nav => { -%>
95
+ // - On "<%= nav.on %>" → Navigate to <%= nav.to %>
96
+ <% }) -%>
97
+ <% } -%>
59
98
  <% if (typeGuidance && (typeGuidance.queryGuidance.length > 0 || typeGuidance.mutationGuidance.length > 0 || typeGuidance.enumGuidance.length > 0)) { -%>
60
99
  //
61
- // CRITICAL - TYPE GUIDANCE - Child organism data requirements
100
+ // CRITICAL - TYPE GUIDANCE - Data requirements for this page
62
101
  //
63
- // The following operations are used by child organisms.
102
+ // The following operations are used by organisms in this page's template.
64
103
  // You can either:
65
104
  // A) Fetch here and pass as props (recommended for shared data/mutations)
66
105
  // B) Let each organism fetch its own data (simpler, but may duplicate queries)
@@ -81,35 +120,60 @@ import { <%= typeGuidance.imports.join(', ') %> } from '@/gql/graphql';
81
120
  <% }) -%>
82
121
  <% } -%>
83
122
  //
84
- // CRITICAL - CONTAINER-AWARE RESPONSIVE DESIGN:
85
- //
86
- // THIS COMPONENT WILL BE USED IN UNPREDICTABLE CONTAINER SIZES:
87
- // - Narrow sidebars: 300-400px
88
- // - Medium containers: 500-800px
89
- // - Wide layouts: 800px+
90
- // - Mobile viewports: 320-640px
91
- // - Flex layouts where space is shared with siblings (flex-1)
92
- //
93
- // 🎯 MANDATORY RESPONSIVE PATTERNS:
94
- //
95
- // 1. GRIDS: Always start mobile-first, progressively enhance
96
- // WRONG: grid grid-cols-3
97
- // RIGHT: grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3
98
- //
99
- // 2. TEXT SIZING: Use responsive classes, never fixed large sizes
100
- // WRONG: text-5xl (too big for narrow containers)
101
- // RIGHT: text-2xl sm:text-3xl lg:text-4xl
102
- //
103
- // 3. FLEX LAYOUTS: Prefer flex-col with responsive row breakpoints
104
- // RIGHT: flex flex-col lg:flex-row gap-4
105
- //
106
- // 4. PREVENT OVERFLOW: Use min-w-0 and truncation
107
- // RIGHT: min-w-0 truncate OR overflow-hidden
108
- //
109
- // 5. MENTAL TEST: Would this work in a 320px wide container?
110
- // If no make it responsive!
123
+ // ------------------------------------------------------------------------------
124
+ // PAGE-LEVEL CONSIDERATIONS & VISUAL REQUIREMENTS
125
+ // ------------------------------------------------------------------------------
126
+ //
127
+ // As a PAGE (not a template or component), this component:
128
+ // - Is the entry point for route "<%= route %>"
129
+ // - Should handle route parameters if needed
130
+ // - May coordinate data fetching for child organisms
131
+ // - Should handle page-level loading and error states
132
+ //
133
+ // VISUAL REQUIREMENTS FOR PAGES:
134
+ //
135
+ // LOADING STATES (use beautiful skeletons, not spinners):
136
+ // - Use Skeleton components that match the layout of actual content
137
+ // - Include skeletons for title, grid items, and other key elements
138
+ // - Maintain the same spacing and structure as loaded state
139
+ // - Example pattern:
140
+ // if (loading) return (
141
+ // <<%= template ? templateComponentName : 'div' %>>
142
+ // {/* Skeleton layout matching content structure */}
143
+ // </<%= template ? templateComponentName : 'div' %>>
144
+ // );
145
+ //
146
+ // ERROR STATES (user-friendly, not technical):
147
+ // - Center the error message vertically and horizontally
148
+ // - Include an error icon with appropriate styling
149
+ // - Use clear, non-technical language
150
+ // - Provide a recovery action (refresh, go back, etc.)
151
+ // - Example pattern:
152
+ // if (error) return (
153
+ // <<%= template ? templateComponentName : 'div' %>>
154
+ // {/* Centered error with icon, message, and action button */}
155
+ // </<%= template ? templateComponentName : 'div' %>>
156
+ // );
157
+ //
158
+ // IMPLEMENTATION PATTERN:
159
+ //
160
+ // 1. SIMPLE PAGE (template handles everything):
161
+ // return <<%= template ? templateComponentName : 'div' %> />;
162
+ //
163
+ // 2. PAGE WITH PROPS/CHILDREN (pass additional content):
164
+ // return (
165
+ // <<%= template ? templateComponentName : 'div' %>>
166
+ // {/* Additional page-specific content */}
167
+ // </<%= template ? templateComponentName : 'div' %>>
168
+ // );
169
+ //
170
+ // 3. PAGE WITH DATA FETCHING (with beautiful loading/error states):
171
+ // const { data, loading, error } = useQuery(SomeQuery);
172
+ // if (loading) return <PageSkeleton />; // Custom skeleton component
173
+ // if (error) return <PageError error={error} />; // Custom error component
174
+ // return <<%= template ? templateComponentName : 'div' %> data={data} />;
111
175
  //
112
176
 
113
177
  export function <%= name %>() {
114
- return <div />;
115
- }
178
+ return <<%= templateComponentName %> />;
179
+ }