appiq-solution 1.6.5 → 1.7.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/README.md +109 -63
- package/bmad-core/core-config.yaml +165 -1
- package/docs/onboarding_prd.md +93 -0
- package/package.json +1 -1
package/README.md
CHANGED
@@ -90,61 +90,85 @@ Since you already have documented architecture, this is the perfect starting poi
|
|
90
90
|
- Creates a "Brownfield Analysis" with recommendations
|
91
91
|
- Defines how new features fit into your existing structure
|
92
92
|
|
93
|
-
### 3.
|
93
|
+
### 3. Start the Master Flutter Workflow
|
94
94
|
|
95
|
-
Now the
|
95
|
+
Now use the **Master Flutter Orchestrator** to automatically handle everything:
|
96
96
|
|
97
|
-
```bash
|
98
|
-
@sm
|
99
|
-
```
|
100
|
-
|
101
|
-
**The SM will ask you:**
|
102
|
-
- Which specific livestream functions are needed
|
103
|
-
- Which UI components are required
|
104
|
-
- How the feature integrates into existing navigation
|
105
|
-
- Which backend endpoints are needed
|
106
|
-
|
107
|
-
### 4. Automatic Flutter Workflow Starts
|
108
|
-
|
109
|
-
Once the story is defined, the `flutter-ui-first-development` workflow automatically starts:
|
110
|
-
|
111
|
-
**Phase 1: UI Design (Maya - flutter-ui-agent)**
|
112
97
|
```
|
113
|
-
|
114
|
-
|
115
|
-
|
98
|
+
/flutter-init-agent - Erstelle eine TikTok-ähnliche Livestream-UI mit:
|
99
|
+
- Vertical Video Player (Vollbild)
|
100
|
+
- Like Button mit Animation
|
101
|
+
- Share Button
|
102
|
+
- Kommentar-System (Real-time)
|
103
|
+
- Viewer Counter
|
104
|
+
- Follow Button
|
105
|
+
|
106
|
+
Target Folder: lib/features/livestream/
|
107
|
+
Screenshots: [Optional: Füge Screenshots oder Mockups hinzu]
|
116
108
|
```
|
117
109
|
|
118
|
-
|
119
|
-
|
120
|
-
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
**
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
-
|
137
|
-
-
|
138
|
-
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
-
|
144
|
-
-
|
145
|
-
|
146
|
-
|
147
|
-
-
|
110
|
+
### 4. Automatic End-to-End Workflow
|
111
|
+
|
112
|
+
The `flutter-init-agent` will **automatically orchestrate the complete development process**:
|
113
|
+
|
114
|
+
#### **🎯 Phase 1: Automatic Analysis**
|
115
|
+
- **Scans your existing codebase** using `npx appiq-solution flatten`
|
116
|
+
- **Analyzes architecture patterns** (routing, state management, DI)
|
117
|
+
- **Identifies integration points** with your existing features
|
118
|
+
- **Plans implementation strategy** for the new feature
|
119
|
+
|
120
|
+
#### **🏗️ Phase 2: Team Orchestration**
|
121
|
+
The agent automatically triggers this sequence:
|
122
|
+
|
123
|
+
**2.1 Product Owner (@po)**
|
124
|
+
- Creates user stories, epics, and acceptance criteria
|
125
|
+
- Defines feature breakdown and requirements
|
126
|
+
|
127
|
+
**2.2 Architect (@architect)**
|
128
|
+
- Analyzes existing codebase structure
|
129
|
+
- Plans integration with current architecture
|
130
|
+
- Defines backend requirements (Supabase tables, etc.)
|
131
|
+
- Creates implementation guidelines
|
132
|
+
|
133
|
+
**2.3 UI Development (@flutter-ui-agent)**
|
134
|
+
- Creates pages and navigation integration
|
135
|
+
- Implements custom widgets and animations
|
136
|
+
- Ensures responsive design and accessibility
|
137
|
+
|
138
|
+
**2.4 State Management (@flutter-cubit-agent)**
|
139
|
+
- Implements Cubit/BLoC patterns matching your existing setup
|
140
|
+
- Handles error states and loading management
|
141
|
+
- Integrates with current state management
|
142
|
+
|
143
|
+
**2.5 Business Logic (@flutter-domain-agent)**
|
144
|
+
- Creates entities, use cases, and business rules
|
145
|
+
- Implements validation and business logic
|
146
|
+
- Defines repository interfaces
|
147
|
+
|
148
|
+
**2.6 Data Layer (@flutter-data-agent)**
|
149
|
+
- Implements repository pattern
|
150
|
+
- Creates API integration and caching
|
151
|
+
- Handles data serialization and persistence
|
152
|
+
|
153
|
+
**2.7 Backend Integration (MCP Supabase/Firebase)**
|
154
|
+
- Creates database tables and relationships
|
155
|
+
- Sets up authentication and security rules
|
156
|
+
- Implements real-time features
|
157
|
+
|
158
|
+
**2.8 Quality Assurance (@qa)**
|
159
|
+
- Performs code review against existing patterns
|
160
|
+
- Implements comprehensive testing strategy
|
161
|
+
- Validates architecture consistency
|
162
|
+
|
163
|
+
**2.9 Security Audit (@flutter-security-agent)**
|
164
|
+
- Checks for security vulnerabilities
|
165
|
+
- Validates API key protection
|
166
|
+
- Ensures data privacy compliance
|
167
|
+
|
168
|
+
**2.10 Git Integration**
|
169
|
+
- Commits changes with proper messages
|
170
|
+
- Creates feature branches
|
171
|
+
- Prepares for code review
|
148
172
|
|
149
173
|
### 5. Backend Integration
|
150
174
|
|
@@ -161,27 +185,49 @@ After each phase runs automatically:
|
|
161
185
|
- Testing (Unit, Widget, Integration tests)
|
162
186
|
- Security validation
|
163
187
|
|
164
|
-
## 🔄 Your
|
188
|
+
## 🔄 Your Complete Workflow
|
165
189
|
|
166
|
-
**One-time setup:**
|
190
|
+
### **One-time setup:**
|
167
191
|
```bash
|
168
192
|
npx appiq-solution # Choose appiq-flutter-mobile-dev
|
169
|
-
@architect # Analyze existing architecture
|
193
|
+
@architect # Analyze existing architecture (optional)
|
170
194
|
```
|
171
195
|
|
172
|
-
**For each new feature:**
|
173
|
-
```bash
|
174
|
-
@sm # "Create story for [Feature-Name]"
|
175
|
-
```
|
176
|
-
- System runs automatically through all agents
|
177
|
-
- You provide input/feedback at respective handoff points
|
178
|
-
- At the end you have a fully implemented feature
|
179
|
-
|
180
|
-
**In your IDE (Cursor, Claude, etc.):**
|
196
|
+
### **For each new feature - Just one command:**
|
181
197
|
```
|
182
|
-
|
198
|
+
/flutter-init-agent - Erstelle ein Instagram-ähnliches Story Feature mit:
|
199
|
+
- Vollbild Story Viewer
|
200
|
+
- Progress Indicators
|
201
|
+
- Swipe Navigation
|
202
|
+
- Story Creation (Foto/Video)
|
203
|
+
- Story Archive
|
204
|
+
- View Analytics
|
205
|
+
|
206
|
+
Target Folder: lib/features/stories/
|
207
|
+
Backend: Supabase (stories table, media storage)
|
208
|
+
Integration: Mit bestehendem User System
|
183
209
|
```
|
184
210
|
|
211
|
+
### **What happens automatically:**
|
212
|
+
✅ **Complete codebase analysis** and architecture understanding
|
213
|
+
✅ **Automatic team orchestration** through all specialized agents
|
214
|
+
✅ **End-to-end implementation** from UI to backend
|
215
|
+
✅ **Quality assurance** and security validation
|
216
|
+
✅ **Git integration** with proper commits
|
217
|
+
|
218
|
+
**You only need to:**
|
219
|
+
- Provide the initial feature description
|
220
|
+
- Give feedback when agents ask for clarification
|
221
|
+
- Review and approve the final implementation
|
222
|
+
|
223
|
+
### **Available Flutter Agents:**
|
224
|
+
- `/flutter-init-agent` - Master orchestrator for complete features
|
225
|
+
- `/flutter-ui-agent` - UI components and design
|
226
|
+
- `/flutter-cubit-agent` - State management
|
227
|
+
- `/flutter-domain-agent` - Business logic
|
228
|
+
- `/flutter-data-agent` - Data layer and APIs
|
229
|
+
- `/flutter-security-agent` - Security auditing
|
230
|
+
|
185
231
|
## 🗂️ Codebase Context Management
|
186
232
|
|
187
233
|
Automatic context export after every feature/milestone:
|
@@ -1,20 +1,184 @@
|
|
1
1
|
markdownExploder: true
|
2
|
+
|
3
|
+
# Standard PRD Configuration
|
2
4
|
prd:
|
3
5
|
prdFile: docs/prd.md
|
4
6
|
prdVersion: v4
|
5
7
|
prdSharded: true
|
6
8
|
prdShardedLocation: docs/prd
|
7
9
|
epicFilePattern: epic-{n}*.md
|
10
|
+
|
11
|
+
# Enhanced PRD Pattern Recognition
|
12
|
+
prdFilePattern: "*_prd.md"
|
13
|
+
requirementsFilePattern: "*_requirements.md"
|
14
|
+
featureFilePattern: "*_feature.md"
|
15
|
+
|
16
|
+
# Auto-Detection Settings
|
17
|
+
autoPrdDetection: true
|
18
|
+
autoPrdSharding: true
|
19
|
+
autoPrdWorkflow: true
|
20
|
+
|
8
21
|
architecture:
|
9
22
|
architectureFile: docs/architecture.md
|
10
23
|
architectureVersion: v4
|
11
24
|
architectureSharded: true
|
12
25
|
architectureShardedLocation: docs/architecture
|
26
|
+
|
27
|
+
# Smart Analysis Configuration
|
28
|
+
smartAnalysis:
|
29
|
+
enabled: true
|
30
|
+
|
31
|
+
# Codebase Analysis
|
32
|
+
codebaseAnalysis:
|
33
|
+
enabled: true
|
34
|
+
scanDirectories:
|
35
|
+
- "lib/features/"
|
36
|
+
- "lib/shared/"
|
37
|
+
- "lib/core/"
|
38
|
+
|
39
|
+
# Similarity Detection
|
40
|
+
similarityThreshold: 0.6 # 60% similarity to suggest reuse
|
41
|
+
keywordMatching: true
|
42
|
+
patternMatching: true
|
43
|
+
|
44
|
+
# Code Reuse Detection
|
45
|
+
reuseAnalysis:
|
46
|
+
widgets: "lib/shared/widgets/"
|
47
|
+
services: "lib/shared/services/"
|
48
|
+
utils: "lib/shared/utils/"
|
49
|
+
patterns: "lib/features/*/presentation/"
|
50
|
+
|
51
|
+
# UI Reference Processing
|
52
|
+
uiReferenceProcessing:
|
53
|
+
enabled: true
|
54
|
+
assetDirectories:
|
55
|
+
- "assets/images/"
|
56
|
+
- "assets/icons/"
|
57
|
+
- "assets/mockups/"
|
58
|
+
supportedFormats: ["png", "jpg", "svg", "pdf"]
|
59
|
+
autoCreateDirectories: true
|
60
|
+
|
61
|
+
# Architect Consultation
|
62
|
+
architectConsultation:
|
63
|
+
enabled: true
|
64
|
+
triggers:
|
65
|
+
- complexityThreshold: "high"
|
66
|
+
- conflictingPatterns: true
|
67
|
+
- noExistingPatterns: true
|
68
|
+
- crossFeatureDependencies: true
|
69
|
+
|
70
|
+
analysisDepth: "deep" # shallow, medium, deep
|
71
|
+
|
72
|
+
# Integration Analysis
|
73
|
+
integrationAnalysis:
|
74
|
+
enabled: true
|
75
|
+
checkExistingFiles: true
|
76
|
+
validatePaths: true
|
77
|
+
conflictDetection: true
|
78
|
+
dependencyMapping: true
|
79
|
+
|
80
|
+
# Auto-Workflow Configuration
|
81
|
+
autoWorkflow:
|
82
|
+
enabled: true
|
83
|
+
|
84
|
+
# Scan Configuration
|
85
|
+
scanDirectories:
|
86
|
+
- "docs/"
|
87
|
+
- "features/"
|
88
|
+
- "./"
|
89
|
+
- "requirements/"
|
90
|
+
|
91
|
+
# File Pattern Triggers
|
92
|
+
triggerPatterns:
|
93
|
+
- "*_prd.md"
|
94
|
+
- "*_requirements.md"
|
95
|
+
- "*_feature.md"
|
96
|
+
- "*_spec.md"
|
97
|
+
|
98
|
+
# Workflow Automation
|
99
|
+
autoSharding: true
|
100
|
+
autoStoryGeneration: true
|
101
|
+
autoArchitectConsultation: true
|
102
|
+
|
103
|
+
# Flutter-Specific Settings
|
104
|
+
flutterIntegration:
|
105
|
+
enabled: true
|
106
|
+
autoDetectFlutterProject: true
|
107
|
+
applyFlutterPatterns: true
|
108
|
+
useCleanArchitecture: true
|
109
|
+
defaultStateManagement: "cubit"
|
110
|
+
|
111
|
+
# Development Configuration
|
13
112
|
customTechnicalDocuments: null
|
14
113
|
devLoadAlwaysFiles:
|
15
114
|
- docs/architecture/coding-standards.md
|
16
115
|
- docs/architecture/tech-stack.md
|
17
116
|
- docs/architecture/source-tree.md
|
117
|
+
- bmad-core/data/mandatory-development-rules.md
|
118
|
+
- expansion-packs/appiq-flutter-mobile-dev/data/flutter-development-guidelines.md
|
119
|
+
|
18
120
|
devDebugLog: .ai/debug-log.md
|
19
121
|
devStoryLocation: docs/stories
|
20
|
-
|
122
|
+
|
123
|
+
# Enhanced Development Settings
|
124
|
+
devEnhancements:
|
125
|
+
codeReuseValidation: true
|
126
|
+
existingComponentScan: true
|
127
|
+
architecturalComplianceCheck: true
|
128
|
+
performancePatternValidation: true
|
129
|
+
|
130
|
+
# MANDATORY DEVELOPMENT RULES ENFORCEMENT
|
131
|
+
mandatoryRules:
|
132
|
+
enabled: true
|
133
|
+
enforceStandardWorkflow: true
|
134
|
+
enforceQualityGates: true
|
135
|
+
enforcePreCodingChecklist: true
|
136
|
+
|
137
|
+
# Standard Workflow Enforcement
|
138
|
+
standardWorkflow:
|
139
|
+
requirePlan: true
|
140
|
+
requireVerification: true
|
141
|
+
requireExplanations: true
|
142
|
+
requireSimpleChanges: true
|
143
|
+
requireReview: true
|
144
|
+
requireCommits: true
|
145
|
+
|
146
|
+
# Quality Gates Enforcement (ALL 5 MUST PASS!)
|
147
|
+
qualityGates:
|
148
|
+
DRY: true # No code duplication
|
149
|
+
Readable: true # Self-documenting code
|
150
|
+
Maintainable: true # Clean Architecture
|
151
|
+
Performant: true # Optimized implementation
|
152
|
+
Testable: true # Comprehensive tests
|
153
|
+
|
154
|
+
# Flutter-Specific Rules
|
155
|
+
flutterRules:
|
156
|
+
noStaticText: true # All text must use AppLocalizations
|
157
|
+
cleanArchitecture: true # Presentation → Domain ← Data
|
158
|
+
cubitStateManagement: true # Use Cubit patterns
|
159
|
+
repositoryPattern: true # Implement Repository pattern
|
160
|
+
dependencyInjection: true # Use GetIt
|
161
|
+
|
162
|
+
# Code Integration Rules
|
163
|
+
codeIntegration:
|
164
|
+
checkExistingFirst: true # Always check existing code first
|
165
|
+
reuseComponents: true # Reuse shared components
|
166
|
+
followPatterns: true # Follow existing patterns
|
167
|
+
extendNotDuplicate: true # Extend instead of duplicate
|
168
|
+
|
169
|
+
# Failure Conditions (NEVER ALLOWED!)
|
170
|
+
failureConditions:
|
171
|
+
staticTextInUI: true # Instant failure
|
172
|
+
codeDuplication: true # Instant failure
|
173
|
+
patternBreaking: true # Instant failure
|
174
|
+
missingTests: true # Instant failure
|
175
|
+
architectureViolation: true # Instant failure
|
176
|
+
|
177
|
+
# Reporting Configuration
|
178
|
+
reporting:
|
179
|
+
generateAnalysisReports: true
|
180
|
+
reportLocation: "docs/analysis/"
|
181
|
+
includeReuseRecommendations: true
|
182
|
+
includeArchitecturalSuggestions: true
|
183
|
+
|
184
|
+
slashPrefix: bmad
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# Onboarding Product Requirements Document
|
2
|
+
|
3
|
+
## 1. Overview
|
4
|
+
This document outlines the requirements for the **User Onboarding** feature in our Flutter mobile application. The onboarding flow should guide new users through the app's key features and help them get started quickly.
|
5
|
+
|
6
|
+
## 2. Feature Description
|
7
|
+
A comprehensive onboarding experience consisting of:
|
8
|
+
- Welcome screen with app introduction
|
9
|
+
- Feature highlights (3-4 key screens)
|
10
|
+
- Account setup/login integration
|
11
|
+
- Permissions requests (notifications, location, etc.)
|
12
|
+
- Tutorial completion confirmation
|
13
|
+
|
14
|
+
The onboarding should be skippable and only shown to first-time users.
|
15
|
+
|
16
|
+
## 3. Functional Requirements
|
17
|
+
- FR1: Display welcome screen with app logo and tagline
|
18
|
+
- FR2: Show 3-4 feature highlight screens with illustrations
|
19
|
+
- FR3: Integrate with existing authentication system
|
20
|
+
- FR4: Request necessary permissions (push notifications, location)
|
21
|
+
- FR5: Allow users to skip onboarding at any point
|
22
|
+
- FR6: Remember onboarding completion status
|
23
|
+
- FR7: Provide "Get Started" button to proceed to main app
|
24
|
+
- FR8: Support both light and dark themes
|
25
|
+
|
26
|
+
## 4. Non-Functional Requirements
|
27
|
+
- NFR1: Performance - Smooth page transitions with animations
|
28
|
+
- NFR2: Accessibility - Support for screen readers and large text
|
29
|
+
- NFR3: Localization - Support for all app languages
|
30
|
+
- NFR4: Security - No sensitive data collection during onboarding
|
31
|
+
- NFR5: Analytics - Track onboarding completion rates
|
32
|
+
|
33
|
+
## 5. User Stories
|
34
|
+
- As a new user, I want to understand what the app does so that I can decide to continue using it.
|
35
|
+
- As a new user, I want to see key features highlighted so that I know what's available.
|
36
|
+
- As a new user, I want to quickly set up my account so that I can start using the app.
|
37
|
+
- As a returning user, I want to skip onboarding so that I can access the app immediately.
|
38
|
+
- As a user with accessibility needs, I want the onboarding to be screen reader friendly.
|
39
|
+
|
40
|
+
## 6. Implementation Details (Optional - for Brownfield Projects)
|
41
|
+
**Implementation Path:** `lib/features/onboarding`
|
42
|
+
* **Rationale**: New standalone feature that doesn't interfere with existing authentication flow. Clean separation from other features.
|
43
|
+
* **Integration Points**:
|
44
|
+
- `lib/main.dart` (for routing - add onboarding route)
|
45
|
+
- `lib/core/di/injection_container.dart` (for dependency injection)
|
46
|
+
- `lib/features/auth/presentation/cubit/auth_cubit.dart` (check if user is first-time)
|
47
|
+
- `lib/shared/widgets/base_scaffold.dart` (for consistent styling)
|
48
|
+
- `lib/core/storage/local_storage_service.dart` (store onboarding completion)
|
49
|
+
* **Existing Components to Check for Reuse**:
|
50
|
+
- `lib/shared/widgets/custom_button.dart` (for CTA buttons)
|
51
|
+
- `lib/shared/widgets/loading_widget.dart` (for loading states)
|
52
|
+
- `lib/shared/utils/theme_helper.dart` (for theme-aware styling)
|
53
|
+
- `lib/shared/widgets/animated_page_view.dart` (if exists for page transitions)
|
54
|
+
- `lib/features/auth/data/models/user_model.dart` (for user state)
|
55
|
+
- `lib/core/error/failures.dart` (for error handling)
|
56
|
+
|
57
|
+
## 7. UI Reference (Optional)
|
58
|
+
* **Mockups/Wireframes**:
|
59
|
+
- `docs/ui/mockups/onboarding_welcome_screen.png`
|
60
|
+
- `docs/ui/mockups/onboarding_feature_highlights.png`
|
61
|
+
- `docs/ui/mockups/onboarding_permissions.png`
|
62
|
+
- `docs/ui/mockups/onboarding_completion.png`
|
63
|
+
* **Design Notes**:
|
64
|
+
- Use app's primary brand colors
|
65
|
+
- Consistent with Material 3 design system
|
66
|
+
- Smooth page transitions with fade/slide animations
|
67
|
+
- Minimum 44pt touch targets for accessibility
|
68
|
+
|
69
|
+
## 8. Acceptance Criteria
|
70
|
+
- AC1: New users see onboarding flow on first app launch
|
71
|
+
- AC2: Returning users bypass onboarding and go directly to main app
|
72
|
+
- AC3: Users can skip onboarding at any point using "Skip" button
|
73
|
+
- AC4: All text is localized and supports app's languages
|
74
|
+
- AC5: Onboarding works in both light and dark themes
|
75
|
+
- AC6: Page transitions are smooth with appropriate animations
|
76
|
+
- AC7: Permissions are requested at appropriate moments
|
77
|
+
- AC8: Onboarding completion is persisted locally
|
78
|
+
- AC9: Analytics events are fired for onboarding steps
|
79
|
+
- AC10: Accessibility features work correctly (screen readers, large text)
|
80
|
+
|
81
|
+
## 9. Dependencies
|
82
|
+
- Existing authentication system integration
|
83
|
+
- Local storage service for persistence
|
84
|
+
- Analytics service for tracking
|
85
|
+
- Permission handling service
|
86
|
+
- Theme system integration
|
87
|
+
|
88
|
+
## 10. Future Scope
|
89
|
+
- A/B testing different onboarding flows
|
90
|
+
- Personalized onboarding based on user type
|
91
|
+
- Interactive tutorials for complex features
|
92
|
+
- Video introductions for key features
|
93
|
+
- Progressive onboarding (show features when relevant)
|