appiq-solution 1.4.3 → 1.4.4
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/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +1 -1
- package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +1 -1
- package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +1 -1
- package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +1 -1
- package/#Tools/APPIQ-METHOD/bmad-core/agents/init-flow-po.md +219 -0
- package/#Tools/APPIQ-METHOD/commands/analyze.md +1 -1
- package/#Tools/APPIQ-METHOD/commands/appiq.md +1 -1
- package/#Tools/APPIQ-METHOD/commands/help.md +1 -1
- package/#Tools/APPIQ-METHOD/commands/story.md +1 -1
- package/#Tools/APPIQ-METHOD/package.json +1 -1
- package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +40 -37
- package/#Tools/APPIQ-METHOD/tools/smart-installer.js +16 -13
- package/bmad-core/agent-teams/team-all.yaml +14 -0
- package/bmad-core/agent-teams/team-flutter-mobile.yaml +114 -0
- package/bmad-core/agent-teams/team-fullstack.yaml +28 -0
- package/bmad-core/agent-teams/team-ide-minimal.yaml +10 -0
- package/bmad-core/agent-teams/team-no-ui.yaml +13 -0
- package/bmad-core/agents/analyst.md +85 -0
- package/bmad-core/agents/architect.md +90 -0
- package/bmad-core/agents/bmad-master.md +108 -0
- package/bmad-core/agents/bmad-orchestrator.md +150 -0
- package/bmad-core/agents/bmad-smart-launcher.md +170 -0
- package/bmad-core/agents/dev.md +95 -0
- package/bmad-core/agents/init-flow-po.md +219 -0
- package/bmad-core/agents/pm.md +85 -0
- package/bmad-core/agents/po.md +76 -0
- package/bmad-core/agents/qa.md +86 -0
- package/bmad-core/agents/sm.md +67 -0
- package/bmad-core/agents/ux-expert.md +71 -0
- package/bmad-core/bmad-core/user-guide.md +0 -0
- package/bmad-core/checklists/architect-checklist.md +443 -0
- package/bmad-core/checklists/change-checklist.md +182 -0
- package/bmad-core/checklists/pm-checklist.md +375 -0
- package/bmad-core/checklists/po-master-checklist.md +441 -0
- package/bmad-core/checklists/security-validation-checklist.md +332 -0
- package/bmad-core/checklists/story-dod-checklist.md +101 -0
- package/bmad-core/checklists/story-draft-checklist.md +156 -0
- package/bmad-core/core-config.yaml +20 -0
- package/bmad-core/core-config.yaml.bak +20 -0
- package/bmad-core/data/backend-services-integration.md +686 -0
- package/bmad-core/data/bmad-kb.md +803 -0
- package/bmad-core/data/brainstorming-techniques.md +36 -0
- package/bmad-core/data/elicitation-methods.md +134 -0
- package/bmad-core/data/shadcn-ui-integration.md +388 -0
- package/bmad-core/data/technical-preferences.md +149 -0
- package/bmad-core/enhanced-ide-development-workflow.md +43 -0
- package/bmad-core/tasks/advanced-elicitation.md +117 -0
- package/bmad-core/tasks/brownfield-create-epic.md +160 -0
- package/bmad-core/tasks/brownfield-create-story.md +147 -0
- package/bmad-core/tasks/correct-course.md +70 -0
- package/bmad-core/tasks/create-brownfield-story.md +304 -0
- package/bmad-core/tasks/create-deep-research-prompt.md +289 -0
- package/bmad-core/tasks/create-flutter-story.md +197 -0
- package/bmad-core/tasks/create-next-story.md +112 -0
- package/bmad-core/tasks/document-project.md +341 -0
- package/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +51 -0
- package/bmad-core/tasks/index-docs.md +179 -0
- package/bmad-core/tasks/intelligent-epic-creation.md +234 -0
- package/bmad-core/tasks/kb-mode-interaction.md +75 -0
- package/bmad-core/tasks/review-story.md +145 -0
- package/bmad-core/tasks/shard-doc.md +187 -0
- package/bmad-core/tasks/smart-project-analysis.md +289 -0
- package/bmad-core/tasks/validate-next-story.md +134 -0
- package/bmad-core/templates/architecture-tmpl.yaml +650 -0
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
- package/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +330 -0
- package/bmad-core/templates/flutter-story-tmpl.yaml +376 -0
- package/bmad-core/templates/flutter-ui-spec-tmpl.yaml +415 -0
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
- package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +812 -0
- package/bmad-core/templates/market-research-tmpl.yaml +252 -0
- package/bmad-core/templates/prd-tmpl.yaml +202 -0
- package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
- package/bmad-core/templates/story-tmpl.yaml +137 -0
- package/bmad-core/user-guide.md +251 -0
- package/bmad-core/workflows/brownfield-fullstack.yaml +311 -0
- package/bmad-core/workflows/brownfield-service.yaml +187 -0
- package/bmad-core/workflows/brownfield-ui.yaml +197 -0
- package/bmad-core/workflows/greenfield-fullstack.yaml +284 -0
- package/bmad-core/workflows/greenfield-service.yaml +206 -0
- package/bmad-core/workflows/greenfield-ui.yaml +235 -0
- package/bmad-core/working-in-the-brownfield.md +373 -0
- package/package.json +1 -1
- package/tools/setup-ide-commands.js +40 -37
- package/tools/smart-installer.js +16 -13
@@ -0,0 +1,415 @@
|
|
1
|
+
document:
|
2
|
+
type: Flutter UI/UX Specification
|
3
|
+
version: 1.0
|
4
|
+
output_file: flutter-ui-spec.md
|
5
|
+
|
6
|
+
metadata:
|
7
|
+
project_name: "[Project Name]"
|
8
|
+
feature_name: "[Feature Name]"
|
9
|
+
version: "[UI Spec Version]"
|
10
|
+
created_date: "[Date]"
|
11
|
+
designer: "[UX Designer Name]"
|
12
|
+
flutter_version: "[Flutter Version]"
|
13
|
+
material_design_version: "Material Design 3"
|
14
|
+
platforms:
|
15
|
+
- iOS
|
16
|
+
- Android
|
17
|
+
|
18
|
+
sections:
|
19
|
+
- name: design_overview
|
20
|
+
title: "🎨 Design Overview"
|
21
|
+
prompt: |
|
22
|
+
Provide comprehensive UI/UX overview:
|
23
|
+
|
24
|
+
**Design Philosophy:**
|
25
|
+
- Material Design 3 implementation approach
|
26
|
+
- Brand integration with Material You principles
|
27
|
+
- User-centered design considerations
|
28
|
+
- Mobile-first responsive strategy
|
29
|
+
|
30
|
+
**Target Platforms:**
|
31
|
+
- iOS specific design adaptations
|
32
|
+
- Android Material Design compliance
|
33
|
+
- Cross-platform consistency requirements
|
34
|
+
- Platform-specific interaction patterns
|
35
|
+
|
36
|
+
- name: user_flows
|
37
|
+
title: "🔄 User Flows & Navigation"
|
38
|
+
prompt: |
|
39
|
+
Define user journey and navigation patterns:
|
40
|
+
|
41
|
+
**Primary User Flows:**
|
42
|
+
[For each major user flow, define:]
|
43
|
+
- Entry points and triggers
|
44
|
+
- Step-by-step navigation path
|
45
|
+
- Decision points and branching
|
46
|
+
- Success and error scenarios
|
47
|
+
- Exit points and completion states
|
48
|
+
|
49
|
+
**Navigation Architecture:**
|
50
|
+
- App navigation structure (tabs, drawer, etc.)
|
51
|
+
- Deep linking and routing patterns
|
52
|
+
- Back navigation and gesture handling
|
53
|
+
- Navigation state management
|
54
|
+
|
55
|
+
**Micro-interactions:**
|
56
|
+
- Button press feedback
|
57
|
+
- Loading state transitions
|
58
|
+
- Form validation feedback
|
59
|
+
- Success/error message patterns
|
60
|
+
|
61
|
+
- name: responsive_layout
|
62
|
+
title: "📱 Responsive Layout Design"
|
63
|
+
prompt: |
|
64
|
+
Define responsive design for different screen sizes:
|
65
|
+
|
66
|
+
**Phone Layouts (Small Screens):**
|
67
|
+
- Portrait mode layouts (320-414px width)
|
68
|
+
- Landscape mode adaptations
|
69
|
+
- Single-column content arrangement
|
70
|
+
- Bottom navigation implementation
|
71
|
+
|
72
|
+
**Tablet Layouts (Large Screens):**
|
73
|
+
- Portrait tablet layouts (768px+ width)
|
74
|
+
- Landscape tablet layouts
|
75
|
+
- Multi-column content arrangements
|
76
|
+
- Navigation rail implementation
|
77
|
+
|
78
|
+
**Adaptive Components:**
|
79
|
+
- Responsive grid systems
|
80
|
+
- Flexible typography scaling
|
81
|
+
- Adaptive spacing and padding
|
82
|
+
- Context-aware component behavior
|
83
|
+
|
84
|
+
- name: material_design_system
|
85
|
+
title: "🎯 Material Design 3 System"
|
86
|
+
prompt: |
|
87
|
+
Define Material Design 3 implementation:
|
88
|
+
|
89
|
+
**Color System:**
|
90
|
+
- Primary color palette (Material You)
|
91
|
+
- Secondary and tertiary colors
|
92
|
+
- Surface and background colors
|
93
|
+
- Error, warning, and success colors
|
94
|
+
- Dark and light theme variants
|
95
|
+
|
96
|
+
**Typography Scale:**
|
97
|
+
- Display styles (Large, Medium, Small)
|
98
|
+
- Headline styles (Large, Medium, Small)
|
99
|
+
- Title styles (Large, Medium, Small)
|
100
|
+
- Body styles (Large, Medium, Small)
|
101
|
+
- Label styles (Large, Medium, Small)
|
102
|
+
|
103
|
+
**Component Specifications:**
|
104
|
+
[For each component, define:]
|
105
|
+
- Material 3 implementation
|
106
|
+
- State variations (enabled, disabled, hover, pressed)
|
107
|
+
- Size variants and responsive behavior
|
108
|
+
- Custom styling requirements
|
109
|
+
- Animation and transition specifications
|
110
|
+
|
111
|
+
- name: feature_screens
|
112
|
+
title: "📋 Feature Screens Specification"
|
113
|
+
prompt: |
|
114
|
+
Define each screen in the Flutter feature:
|
115
|
+
|
116
|
+
## [Feature Name] Screens
|
117
|
+
|
118
|
+
### [Screen Name] Screen
|
119
|
+
**Purpose:** [Screen function and user goal]
|
120
|
+
|
121
|
+
**Layout Structure:**
|
122
|
+
- AppBar configuration
|
123
|
+
- Body content arrangement
|
124
|
+
- Bottom navigation/FAB placement
|
125
|
+
- Safe area considerations
|
126
|
+
|
127
|
+
**Widget Hierarchy:**
|
128
|
+
```
|
129
|
+
Scaffold
|
130
|
+
├── AppBar
|
131
|
+
│ ├── Leading widget
|
132
|
+
│ ├── Title widget
|
133
|
+
│ └── Actions widgets
|
134
|
+
├── Body
|
135
|
+
│ └── [Define widget tree structure]
|
136
|
+
├── BottomNavigationBar (if applicable)
|
137
|
+
└── FloatingActionButton (if applicable)
|
138
|
+
```
|
139
|
+
|
140
|
+
**State Management:**
|
141
|
+
- Initial loading state UI
|
142
|
+
- Success state content
|
143
|
+
- Error state handling
|
144
|
+
- Empty state design
|
145
|
+
- Loading indicators and progress
|
146
|
+
|
147
|
+
**Responsive Behavior:**
|
148
|
+
- Phone layout adaptations
|
149
|
+
- Tablet layout changes
|
150
|
+
- Orientation handling
|
151
|
+
|
152
|
+
**Localization Requirements:**
|
153
|
+
- Text content keys
|
154
|
+
- Right-to-left (RTL) support
|
155
|
+
- Cultural adaptations
|
156
|
+
|
157
|
+
**Accessibility:**
|
158
|
+
- Semantic labels and hints
|
159
|
+
- Focus management
|
160
|
+
- Screen reader support
|
161
|
+
- High contrast support
|
162
|
+
|
163
|
+
- name: custom_widgets
|
164
|
+
title: "🧩 Custom Widget Specifications"
|
165
|
+
prompt: |
|
166
|
+
Define reusable custom widgets:
|
167
|
+
|
168
|
+
### [Widget Name] Widget
|
169
|
+
**Purpose:** [Widget function and reusability scope]
|
170
|
+
|
171
|
+
**API Design:**
|
172
|
+
```dart
|
173
|
+
class [WidgetName] extends StatelessWidget {
|
174
|
+
const [WidgetName]({
|
175
|
+
Key? key,
|
176
|
+
required this.property1,
|
177
|
+
this.property2,
|
178
|
+
// Define all required and optional properties
|
179
|
+
}) : super(key: key);
|
180
|
+
|
181
|
+
final String property1;
|
182
|
+
final int? property2;
|
183
|
+
}
|
184
|
+
```
|
185
|
+
|
186
|
+
**Visual Specifications:**
|
187
|
+
- Default appearance and styling
|
188
|
+
- State variations (normal, pressed, disabled)
|
189
|
+
- Size and spacing requirements
|
190
|
+
- Animation and transition behavior
|
191
|
+
|
192
|
+
**Responsive Behavior:**
|
193
|
+
- Adaptation to different screen sizes
|
194
|
+
- Content overflow handling
|
195
|
+
- Breakpoint-specific changes
|
196
|
+
|
197
|
+
**Theming Integration:**
|
198
|
+
- Theme property usage
|
199
|
+
- Dark/light mode support
|
200
|
+
- Material 3 compliance
|
201
|
+
|
202
|
+
- name: animations_interactions
|
203
|
+
title: "✨ Animations & Interactions"
|
204
|
+
prompt: |
|
205
|
+
Define animation and interaction patterns:
|
206
|
+
|
207
|
+
**Screen Transitions:**
|
208
|
+
- Page route animations
|
209
|
+
- Hero animations between screens
|
210
|
+
- Shared element transitions
|
211
|
+
- Custom transition specifications
|
212
|
+
|
213
|
+
**Micro-animations:**
|
214
|
+
- Button press animations
|
215
|
+
- Loading spinner implementations
|
216
|
+
- Progress indicators
|
217
|
+
- Success/error feedback animations
|
218
|
+
|
219
|
+
**Gesture Handling:**
|
220
|
+
- Swipe gestures and directions
|
221
|
+
- Pull-to-refresh implementations
|
222
|
+
- Drag and drop interactions
|
223
|
+
- Pinch-to-zoom (if applicable)
|
224
|
+
|
225
|
+
**Animation Specifications:**
|
226
|
+
- Duration and easing curves
|
227
|
+
- Performance considerations
|
228
|
+
- Accessibility motion preferences
|
229
|
+
- Battery optimization
|
230
|
+
|
231
|
+
- name: theme_customization
|
232
|
+
title: "🎨 Theme & Customization"
|
233
|
+
prompt: |
|
234
|
+
Define theme customization approach:
|
235
|
+
|
236
|
+
**Material Theme Configuration:**
|
237
|
+
```dart
|
238
|
+
ThemeData(
|
239
|
+
useMaterial3: true,
|
240
|
+
colorScheme: ColorScheme.fromSeed(
|
241
|
+
seedColor: [Primary Color],
|
242
|
+
brightness: Brightness.light,
|
243
|
+
),
|
244
|
+
// Define custom theme properties
|
245
|
+
)
|
246
|
+
```
|
247
|
+
|
248
|
+
**Custom Theme Extensions:**
|
249
|
+
- Additional color properties
|
250
|
+
- Custom text styles
|
251
|
+
- Component theme customizations
|
252
|
+
- Platform-specific adaptations
|
253
|
+
|
254
|
+
**Dark Mode Implementation:**
|
255
|
+
- Dark theme color scheme
|
256
|
+
- Component adaptations
|
257
|
+
- System theme following
|
258
|
+
- User preference handling
|
259
|
+
|
260
|
+
- name: accessibility_compliance
|
261
|
+
title: "♿ Accessibility Compliance"
|
262
|
+
prompt: |
|
263
|
+
Define accessibility implementation:
|
264
|
+
|
265
|
+
**WCAG Compliance:**
|
266
|
+
- Color contrast ratios (AA level minimum)
|
267
|
+
- Text size and readability
|
268
|
+
- Touch target sizes (44x44 minimum)
|
269
|
+
- Focus indicators and management
|
270
|
+
|
271
|
+
**Screen Reader Support:**
|
272
|
+
- Semantic markup with Semantics widgets
|
273
|
+
- Content descriptions and labels
|
274
|
+
- Navigation announcements
|
275
|
+
- State change notifications
|
276
|
+
|
277
|
+
**Motor Accessibility:**
|
278
|
+
- Large touch targets
|
279
|
+
- Gesture alternatives
|
280
|
+
- Voice navigation support
|
281
|
+
- Switch control compatibility
|
282
|
+
|
283
|
+
**Cognitive Accessibility:**
|
284
|
+
- Clear navigation patterns
|
285
|
+
- Consistent UI conventions
|
286
|
+
- Error prevention and recovery
|
287
|
+
- Help and documentation access
|
288
|
+
|
289
|
+
- name: localization_design
|
290
|
+
title: "🌍 Localization Design Guidelines"
|
291
|
+
prompt: |
|
292
|
+
Define localization and internationalization:
|
293
|
+
|
294
|
+
**Text Localization:**
|
295
|
+
- Translation key naming conventions
|
296
|
+
- Text expansion/contraction handling
|
297
|
+
- Context-sensitive translations
|
298
|
+
- Placeholder and dynamic content
|
299
|
+
|
300
|
+
**Cultural Adaptations:**
|
301
|
+
- Right-to-left (RTL) layout support
|
302
|
+
- Date and time format variations
|
303
|
+
- Number and currency formatting
|
304
|
+
- Cultural color and symbol considerations
|
305
|
+
|
306
|
+
**Layout Adaptations:**
|
307
|
+
- Text length variations
|
308
|
+
- Font and typography changes
|
309
|
+
- Icon and image localization
|
310
|
+
- Cultural UI pattern preferences
|
311
|
+
|
312
|
+
- name: performance_considerations
|
313
|
+
title: "⚡ Performance & Optimization"
|
314
|
+
prompt: |
|
315
|
+
Define performance optimization requirements:
|
316
|
+
|
317
|
+
**Rendering Performance:**
|
318
|
+
- Widget tree optimization
|
319
|
+
- Build method efficiency
|
320
|
+
- Avoid unnecessary rebuilds
|
321
|
+
- Image optimization and caching
|
322
|
+
|
323
|
+
**Memory Management:**
|
324
|
+
- Large list handling (ListView.builder)
|
325
|
+
- Image memory management
|
326
|
+
- Animation resource cleanup
|
327
|
+
- State management efficiency
|
328
|
+
|
329
|
+
**Battery Optimization:**
|
330
|
+
- Animation frequency limits
|
331
|
+
- Background processing minimization
|
332
|
+
- Location and sensor usage
|
333
|
+
- Network request optimization
|
334
|
+
|
335
|
+
- name: implementation_guidelines
|
336
|
+
title: "🛠️ Implementation Guidelines"
|
337
|
+
prompt: |
|
338
|
+
Provide Flutter-specific implementation guidance:
|
339
|
+
|
340
|
+
**Widget Implementation Patterns:**
|
341
|
+
- StatelessWidget vs StatefulWidget usage
|
342
|
+
- Widget composition best practices
|
343
|
+
- Key usage for performance
|
344
|
+
- Build method optimization
|
345
|
+
|
346
|
+
**State Management Integration:**
|
347
|
+
- BlocBuilder and BlocListener usage
|
348
|
+
- State-dependent UI rendering
|
349
|
+
- Loading and error state handling
|
350
|
+
- State change animations
|
351
|
+
|
352
|
+
**Asset Management:**
|
353
|
+
- Image asset organization
|
354
|
+
- Icon and graphic specifications
|
355
|
+
- Font asset requirements
|
356
|
+
- Platform-specific assets
|
357
|
+
|
358
|
+
**Testing Considerations:**
|
359
|
+
- Widget testability requirements
|
360
|
+
- Key assignment for testing
|
361
|
+
- Semantic testing support
|
362
|
+
- Golden test specifications
|
363
|
+
|
364
|
+
- name: handoff_documentation
|
365
|
+
title: "📋 Developer Handoff"
|
366
|
+
prompt: |
|
367
|
+
Prepare comprehensive developer handoff:
|
368
|
+
|
369
|
+
**Design Assets:**
|
370
|
+
- Figma/Design file links
|
371
|
+
- Exported assets and icons
|
372
|
+
- Color palette specifications
|
373
|
+
- Typography style guide
|
374
|
+
|
375
|
+
**Implementation Priorities:**
|
376
|
+
- Must-have features and requirements
|
377
|
+
- Nice-to-have enhancements
|
378
|
+
- Future iteration considerations
|
379
|
+
- Technical debt considerations
|
380
|
+
|
381
|
+
**Quality Assurance:**
|
382
|
+
- Visual testing requirements
|
383
|
+
- Cross-platform testing needs
|
384
|
+
- Accessibility testing checklist
|
385
|
+
- Performance benchmarking
|
386
|
+
|
387
|
+
instructions:
|
388
|
+
pre_fill: |
|
389
|
+
Before creating this UI specification:
|
390
|
+
1. Review the Flutter PRD and understand feature requirements
|
391
|
+
2. Research Material Design 3 guidelines and best practices
|
392
|
+
3. Consider target audience and usage patterns
|
393
|
+
4. Plan for responsive design across device sizes
|
394
|
+
5. Understand Flutter's widget system and capabilities
|
395
|
+
|
396
|
+
post_completion: |
|
397
|
+
After completing this UI specification:
|
398
|
+
1. Review with stakeholders and development team
|
399
|
+
2. Validate Material Design 3 compliance
|
400
|
+
3. Ensure accessibility requirements are comprehensive
|
401
|
+
4. Verify responsive design coverage
|
402
|
+
5. Prepare for Cubit state management integration
|
403
|
+
6. Save as docs/flutter-ui-spec.md for development reference
|
404
|
+
|
405
|
+
quality_checklist:
|
406
|
+
- "Material Design 3 principles correctly applied"
|
407
|
+
- "Responsive design covers all screen sizes"
|
408
|
+
- "Accessibility compliance thoroughly addressed"
|
409
|
+
- "Localization requirements defined"
|
410
|
+
- "Performance considerations included"
|
411
|
+
- "Animation specifications are clear"
|
412
|
+
- "Custom widget APIs are well-defined"
|
413
|
+
- "Implementation guidelines are Flutter-specific"
|
414
|
+
- "Developer handoff documentation is complete"
|
415
|
+
- "Integration with Cubit state management considered"
|
@@ -0,0 +1,206 @@
|
|
1
|
+
template:
|
2
|
+
id: frontend-architecture-template-v2
|
3
|
+
name: Frontend Architecture Document
|
4
|
+
version: 2.0
|
5
|
+
output:
|
6
|
+
format: markdown
|
7
|
+
filename: docs/ui-architecture.md
|
8
|
+
title: "{{project_name}} Frontend Architecture Document"
|
9
|
+
|
10
|
+
workflow:
|
11
|
+
mode: interactive
|
12
|
+
elicitation: advanced-elicitation
|
13
|
+
|
14
|
+
sections:
|
15
|
+
- id: template-framework-selection
|
16
|
+
title: Template and Framework Selection
|
17
|
+
instruction: |
|
18
|
+
Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on extracting technical implementation details needed for AI frontend tools and developer agents. Ask the user for any of these documents if you are unable to locate and were not provided.
|
19
|
+
|
20
|
+
Before proceeding with frontend architecture design, check if the project is using a frontend starter template or existing codebase:
|
21
|
+
|
22
|
+
1. Review the PRD, main architecture document, and brainstorming brief for mentions of:
|
23
|
+
- Frontend starter templates (e.g., Create React App, Next.js, Vite, Vue CLI, Angular CLI, etc.)
|
24
|
+
- UI kit or component library starters
|
25
|
+
- Existing frontend projects being used as a foundation
|
26
|
+
- Admin dashboard templates or other specialized starters
|
27
|
+
- Design system implementations
|
28
|
+
|
29
|
+
2. If a frontend starter template or existing project is mentioned:
|
30
|
+
- Ask the user to provide access via one of these methods:
|
31
|
+
- Link to the starter template documentation
|
32
|
+
- Upload/attach the project files (for small projects)
|
33
|
+
- Share a link to the project repository
|
34
|
+
- Analyze the starter/existing project to understand:
|
35
|
+
- Pre-installed dependencies and versions
|
36
|
+
- Folder structure and file organization
|
37
|
+
- Built-in components and utilities
|
38
|
+
- Styling approach (CSS modules, styled-components, Tailwind, etc.)
|
39
|
+
- State management setup (if any)
|
40
|
+
- Routing configuration
|
41
|
+
- Testing setup and patterns
|
42
|
+
- Build and development scripts
|
43
|
+
- Use this analysis to ensure your frontend architecture aligns with the starter's patterns
|
44
|
+
|
45
|
+
3. If no frontend starter is mentioned but this is a new UI, ensure we know what the ui language and framework is:
|
46
|
+
- Based on the framework choice, suggest appropriate starters:
|
47
|
+
- React: Create React App, Next.js, Vite + React
|
48
|
+
- Vue: Vue CLI, Nuxt.js, Vite + Vue
|
49
|
+
- Angular: Angular CLI
|
50
|
+
- Or suggest popular UI templates if applicable
|
51
|
+
- Explain benefits specific to frontend development
|
52
|
+
|
53
|
+
4. If the user confirms no starter template will be used:
|
54
|
+
- Note that all tooling, bundling, and configuration will need manual setup
|
55
|
+
- Proceed with frontend architecture from scratch
|
56
|
+
|
57
|
+
Document the starter template decision and any constraints it imposes before proceeding.
|
58
|
+
sections:
|
59
|
+
- id: changelog
|
60
|
+
title: Change Log
|
61
|
+
type: table
|
62
|
+
columns: [Date, Version, Description, Author]
|
63
|
+
instruction: Track document versions and changes
|
64
|
+
|
65
|
+
- id: frontend-tech-stack
|
66
|
+
title: Frontend Tech Stack
|
67
|
+
instruction: Extract from main architecture's Technology Stack Table. This section MUST remain synchronized with the main architecture document.
|
68
|
+
elicit: true
|
69
|
+
sections:
|
70
|
+
- id: tech-stack-table
|
71
|
+
title: Technology Stack Table
|
72
|
+
type: table
|
73
|
+
columns: [Category, Technology, Version, Purpose, Rationale]
|
74
|
+
instruction: Fill in appropriate technology choices based on the selected framework and project requirements.
|
75
|
+
rows:
|
76
|
+
- ["Framework", "{{framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
77
|
+
- ["UI Library", "{{ui_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
78
|
+
- ["State Management", "{{state_management}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
79
|
+
- ["Routing", "{{routing_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
80
|
+
- ["Build Tool", "{{build_tool}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
81
|
+
- ["Styling", "{{styling_solution}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
82
|
+
- ["Testing", "{{test_framework}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
83
|
+
- ["Component Library", "{{component_lib}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
84
|
+
- ["Form Handling", "{{form_library}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
85
|
+
- ["Animation", "{{animation_lib}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
86
|
+
- ["Dev Tools", "{{dev_tools}}", "{{version}}", "{{purpose}}", "{{why_chosen}}"]
|
87
|
+
|
88
|
+
- id: project-structure
|
89
|
+
title: Project Structure
|
90
|
+
instruction: Define exact directory structure for AI tools based on the chosen framework. Be specific about where each type of file goes. Generate a structure that follows the framework's best practices and conventions.
|
91
|
+
elicit: true
|
92
|
+
type: code
|
93
|
+
language: plaintext
|
94
|
+
|
95
|
+
- id: component-standards
|
96
|
+
title: Component Standards
|
97
|
+
instruction: Define exact patterns for component creation based on the chosen framework.
|
98
|
+
elicit: true
|
99
|
+
sections:
|
100
|
+
- id: component-template
|
101
|
+
title: Component Template
|
102
|
+
instruction: Generate a minimal but complete component template following the framework's best practices. Include TypeScript types, proper imports, and basic structure.
|
103
|
+
type: code
|
104
|
+
language: typescript
|
105
|
+
- id: naming-conventions
|
106
|
+
title: Naming Conventions
|
107
|
+
instruction: Provide naming conventions specific to the chosen framework for components, files, services, state management, and other architectural elements.
|
108
|
+
|
109
|
+
- id: state-management
|
110
|
+
title: State Management
|
111
|
+
instruction: Define state management patterns based on the chosen framework.
|
112
|
+
elicit: true
|
113
|
+
sections:
|
114
|
+
- id: store-structure
|
115
|
+
title: Store Structure
|
116
|
+
instruction: Generate the state management directory structure appropriate for the chosen framework and selected state management solution.
|
117
|
+
type: code
|
118
|
+
language: plaintext
|
119
|
+
- id: state-template
|
120
|
+
title: State Management Template
|
121
|
+
instruction: Provide a basic state management template/example following the framework's recommended patterns. Include TypeScript types and common operations like setting, updating, and clearing state.
|
122
|
+
type: code
|
123
|
+
language: typescript
|
124
|
+
|
125
|
+
- id: api-integration
|
126
|
+
title: API Integration
|
127
|
+
instruction: Define API service patterns based on the chosen framework.
|
128
|
+
elicit: true
|
129
|
+
sections:
|
130
|
+
- id: service-template
|
131
|
+
title: Service Template
|
132
|
+
instruction: Provide an API service template that follows the framework's conventions. Include proper TypeScript types, error handling, and async patterns.
|
133
|
+
type: code
|
134
|
+
language: typescript
|
135
|
+
- id: api-client-config
|
136
|
+
title: API Client Configuration
|
137
|
+
instruction: Show how to configure the HTTP client for the chosen framework, including authentication interceptors/middleware and error handling.
|
138
|
+
type: code
|
139
|
+
language: typescript
|
140
|
+
|
141
|
+
- id: routing
|
142
|
+
title: Routing
|
143
|
+
instruction: Define routing structure and patterns based on the chosen framework.
|
144
|
+
elicit: true
|
145
|
+
sections:
|
146
|
+
- id: route-configuration
|
147
|
+
title: Route Configuration
|
148
|
+
instruction: Provide routing configuration appropriate for the chosen framework. Include protected route patterns, lazy loading where applicable, and authentication guards/middleware.
|
149
|
+
type: code
|
150
|
+
language: typescript
|
151
|
+
|
152
|
+
- id: styling-guidelines
|
153
|
+
title: Styling Guidelines
|
154
|
+
instruction: Define styling approach based on the chosen framework.
|
155
|
+
elicit: true
|
156
|
+
sections:
|
157
|
+
- id: styling-approach
|
158
|
+
title: Styling Approach
|
159
|
+
instruction: Describe the styling methodology appropriate for the chosen framework (CSS Modules, Styled Components, Tailwind, etc.) and provide basic patterns.
|
160
|
+
- id: global-theme
|
161
|
+
title: Global Theme Variables
|
162
|
+
instruction: Provide a CSS custom properties (CSS variables) theme system that works across all frameworks. Include colors, spacing, typography, shadows, and dark mode support.
|
163
|
+
type: code
|
164
|
+
language: css
|
165
|
+
|
166
|
+
- id: testing-requirements
|
167
|
+
title: Testing Requirements
|
168
|
+
instruction: Define minimal testing requirements based on the chosen framework.
|
169
|
+
elicit: true
|
170
|
+
sections:
|
171
|
+
- id: component-test-template
|
172
|
+
title: Component Test Template
|
173
|
+
instruction: Provide a basic component test template using the framework's recommended testing library. Include examples of rendering tests, user interaction tests, and mocking.
|
174
|
+
type: code
|
175
|
+
language: typescript
|
176
|
+
- id: testing-best-practices
|
177
|
+
title: Testing Best Practices
|
178
|
+
type: numbered-list
|
179
|
+
items:
|
180
|
+
- "**Unit Tests**: Test individual components in isolation"
|
181
|
+
- "**Integration Tests**: Test component interactions"
|
182
|
+
- "**E2E Tests**: Test critical user flows (using Cypress/Playwright)"
|
183
|
+
- "**Coverage Goals**: Aim for 80% code coverage"
|
184
|
+
- "**Test Structure**: Arrange-Act-Assert pattern"
|
185
|
+
- "**Mock External Dependencies**: API calls, routing, state management"
|
186
|
+
|
187
|
+
- id: environment-configuration
|
188
|
+
title: Environment Configuration
|
189
|
+
instruction: List required environment variables based on the chosen framework. Show the appropriate format and naming conventions for the framework.
|
190
|
+
elicit: true
|
191
|
+
|
192
|
+
- id: frontend-developer-standards
|
193
|
+
title: Frontend Developer Standards
|
194
|
+
sections:
|
195
|
+
- id: critical-coding-rules
|
196
|
+
title: Critical Coding Rules
|
197
|
+
instruction: List essential rules that prevent common AI mistakes, including both universal rules and framework-specific ones.
|
198
|
+
elicit: true
|
199
|
+
- id: quick-reference
|
200
|
+
title: Quick Reference
|
201
|
+
instruction: |
|
202
|
+
Create a framework-specific cheat sheet with:
|
203
|
+
- Common commands (dev server, build, test)
|
204
|
+
- Key import patterns
|
205
|
+
- File naming conventions
|
206
|
+
- Project-specific patterns and utilities
|