appiq-solution 1.6.4 → 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.
@@ -0,0 +1,278 @@
1
+ # Livestream Feature PRD
2
+
3
+ ## Overview
4
+ Implementierung einer Live-Streaming-Funktionalität in die bestehende Flutter-App mit intelligenter Integration in vorhandene Komponenten.
5
+
6
+ ## Implementation Paths
7
+ > Spezifische Pfade für optimale Integration
8
+
9
+ ### Suggested File Structure
10
+ ```
11
+ lib/
12
+ ├── features/
13
+ │ └── livestream/ # ← Neues Feature
14
+ │ ├── data/
15
+ │ │ ├── datasources/
16
+ │ │ │ ├── livestream_remote_datasource.dart
17
+ │ │ │ └── livestream_local_datasource.dart
18
+ │ │ ├── models/
19
+ │ │ │ ├── stream_model.dart
20
+ │ │ │ └── stream_chat_model.dart
21
+ │ │ └── repositories/
22
+ │ │ └── livestream_repository_impl.dart
23
+ │ ├── domain/
24
+ │ │ ├── entities/
25
+ │ │ │ ├── stream_entity.dart
26
+ │ │ │ └── stream_message_entity.dart
27
+ │ │ ├── repositories/
28
+ │ │ │ └── livestream_repository.dart
29
+ │ │ └── usecases/
30
+ │ │ ├── start_stream_usecase.dart
31
+ │ │ ├── join_stream_usecase.dart
32
+ │ │ └── send_chat_message_usecase.dart
33
+ │ └── presentation/
34
+ │ ├── cubit/
35
+ │ │ ├── livestream_cubit.dart
36
+ │ │ ├── livestream_state.dart
37
+ │ │ ├── stream_chat_cubit.dart
38
+ │ │ └── stream_chat_state.dart
39
+ │ ├── pages/
40
+ │ │ ├── stream_list_page.dart
41
+ │ │ ├── stream_viewer_page.dart
42
+ │ │ └── stream_creator_page.dart
43
+ │ └── widgets/
44
+ │ ├── stream_player_widget.dart
45
+ │ ├── stream_controls_widget.dart
46
+ │ └── stream_chat_widget.dart
47
+ ```
48
+
49
+ ### Integration Points
50
+ > Bestehende Dateien/Klassen für Integration:
51
+
52
+ - **Main Navigation**: `lib/features/home/presentation/pages/home_page.dart`
53
+ - Füge "Go Live" Button in AppBar hinzu
54
+ - Integriere Stream-Liste in Home-Feed
55
+
56
+ - **Existing API Service**: `lib/shared/services/api_service.dart`
57
+ - Erweitere für WebRTC-Endpoints
58
+ - Nutze bestehende Auth-Header
59
+
60
+ - **Video Player Base**: `lib/features/media/presentation/widgets/video_player_widget.dart`
61
+ - Erweitere für Live-Stream-Funktionalität
62
+ - Nutze bestehende Player-Controls
63
+
64
+ - **Chat System**: `lib/features/chat/presentation/widgets/chat_widget.dart`
65
+ - Adaptiere für Live-Stream-Chat
66
+ - Nutze bestehende Message-Patterns
67
+
68
+ - **User Profile Integration**: `lib/features/user/presentation/pages/profile_page.dart`
69
+ - Füge "My Streams" Sektion hinzu
70
+ - Zeige Stream-History
71
+
72
+ ### Code Reuse Analysis
73
+ > Bestehende Komponenten prüfen und wiederverwenden:
74
+
75
+ #### Existing Similar Features (PRÜFEN ZUERST!)
76
+ - [ ] **Video Feature**: `lib/features/video/` - Für Player-Logik
77
+ - [ ] **Chat Feature**: `lib/features/chat/` - Für Chat-Implementation
78
+ - [ ] **Camera Feature**: `lib/features/camera/` - Für Stream-Aufnahme
79
+ - [ ] **Notification Feature**: `lib/features/notifications/` - Für Stream-Alerts
80
+
81
+ #### Shared Components to Reuse (VERWENDEN STATT NEU ERSTELLEN!)
82
+ - [ ] `lib/shared/widgets/loading_widget.dart` - Für Stream-Loading
83
+ - [ ] `lib/shared/widgets/error_widget.dart` - Für Stream-Errors
84
+ - [ ] `lib/shared/widgets/custom_button.dart` - Für Stream-Controls
85
+ - [ ] `lib/shared/widgets/user_avatar.dart` - Für Streamer-Avatar
86
+ - [ ] `lib/shared/widgets/bottom_sheet_widget.dart` - Für Stream-Settings
87
+ - [ ] `lib/shared/services/navigation_service.dart` - Für Stream-Navigation
88
+ - [ ] `lib/shared/services/websocket_service.dart` - Für Real-time Chat
89
+ - [ ] `lib/shared/utils/validators.dart` - Für Stream-Input-Validation
90
+ - [ ] `lib/shared/utils/permission_handler.dart` - Für Camera/Mic-Permissions
91
+
92
+ #### Common Patterns to Follow (BESTEHENDE PATTERNS BEFOLGEN!)
93
+ - [ ] **Cubit Naming**: `LivestreamCubit`, `LivestreamState` (wie `AuthCubit`)
94
+ - [ ] **Error Handling**: `StreamFailure` extends `Failure` (wie `AuthFailure`)
95
+ - [ ] **API Patterns**: `ApiResponse<StreamModel>` (wie bestehende APIs)
96
+ - [ ] **Repository Pattern**: Folge `UserRepository` Struktur
97
+ - [ ] **DI Pattern**: Registrierung wie in `injection_container.dart`
98
+
99
+ ## UI References
100
+ > Mockups und Referenz-Bilder für Development
101
+
102
+ ### Design Assets Location
103
+ ```
104
+ assets/
105
+ ├── images/
106
+ │ └── livestream/
107
+ │ ├── mockup_stream_list.png # ← Haupt-Stream-Liste
108
+ │ ├── mockup_stream_viewer.png # ← Stream-Viewer mit Chat
109
+ │ ├── mockup_stream_creator.png # ← Stream-Erstellung
110
+ │ ├── wireframe_stream_flow.png # ← User-Flow Diagramm
111
+ │ └── ui_components_reference.png # ← UI-Komponenten Guide
112
+ └── icons/
113
+ └── livestream/
114
+ ├── stream_icon.svg # ← Live-Stream Icon
115
+ ├── camera_icon.svg # ← Kamera Icon
116
+ ├── chat_icon.svg # ← Chat Icon
117
+ └── viewer_count_icon.svg # ← Viewer-Anzahl Icon
118
+ ```
119
+
120
+ ### UI Reference Links
121
+ - **Figma Design**: https://figma.com/livestream-feature-v2
122
+ - **Design System**: `lib/shared/theme/app_theme.dart` - Folge bestehende Patterns
123
+ - **Similar UI Reference**:
124
+ - `lib/features/video/presentation/pages/video_player_page.dart` - Für Player-Layout
125
+ - `lib/features/chat/presentation/widgets/chat_list_widget.dart` - Für Chat-UI
126
+
127
+ ### Visual Guidelines (BESTEHENDE PATTERNS VERWENDEN!)
128
+ - **Theme**: Erweitere `lib/shared/theme/app_theme.dart`
129
+ - Füge `livestreamColors` zu `AppColors` hinzu
130
+ - Nutze bestehende `primaryColor` für Live-Indicator
131
+ - **Typography**: Verwende `AppTextStyles.headline1` für Stream-Titel
132
+ - **Spacing**: Nutze `AppSpacing.medium` für konsistente Abstände
133
+ - **Components**: Erweitere `lib/shared/widgets/` statt neue zu erstellen
134
+
135
+ ## Features
136
+ - **Live Stream Starten**: Integration mit bestehender Camera-Feature
137
+ - **Stream Discovery**: Erweitere Home-Feed um Stream-Liste
138
+ - **Real-time Chat**: Nutze bestehende Chat-Infrastruktur
139
+ - **Stream Controls**: Erweitere bestehende Video-Controls
140
+ - **Viewer Analytics**: Integration in bestehende Analytics
141
+
142
+ ## Acceptance Criteria
143
+
144
+ ### Live Stream Starten
145
+ - [ ] **Reuse Camera Permission**: Nutze `lib/shared/utils/permission_handler.dart`
146
+ - [ ] **Extend Navigation**: Füge zu `lib/core/routing/app_router.dart` hinzu
147
+ - [ ] **Follow Button Pattern**: Nutze `lib/shared/widgets/custom_button.dart`
148
+
149
+ ### Stream Viewer
150
+ - [ ] **Extend Video Player**: Erweitere `lib/features/video/presentation/widgets/video_player_widget.dart`
151
+ - [ ] **Reuse Loading States**: Nutze `lib/shared/widgets/loading_widget.dart`
152
+ - [ ] **Follow Page Structure**: Wie `lib/features/video/presentation/pages/video_player_page.dart`
153
+
154
+ ### Chat Integration
155
+ - [ ] **Extend Chat Widget**: Adaptiere `lib/features/chat/presentation/widgets/chat_widget.dart`
156
+ - [ ] **Reuse WebSocket**: Nutze `lib/shared/services/websocket_service.dart`
157
+ - [ ] **Follow Message Pattern**: Wie `lib/features/chat/domain/entities/message_entity.dart`
158
+
159
+ ## Technical Requirements
160
+
161
+ ### Architecture Compliance (BESTEHENDE PATTERNS BEFOLGEN!)
162
+ - [ ] **Clean Architecture**: Folge `lib/features/user/` Struktur
163
+ - [ ] **Cubit State Management**: Wie `lib/features/auth/presentation/cubit/auth_cubit.dart`
164
+ - [ ] **Repository Pattern**: Wie `lib/features/user/data/repositories/user_repository_impl.dart`
165
+ - [ ] **Dependency Injection**: Registrierung in `lib/core/di/injection_container.dart`
166
+
167
+ ### Code Integration Requirements (ZUERST PRÜFEN!)
168
+ - [ ] **Before New API Client**: Erweitere `lib/shared/services/api_service.dart`
169
+ - [ ] **Before New WebSocket**: Prüfe `lib/shared/services/websocket_service.dart`
170
+ - [ ] **Before New Widgets**: Prüfe `lib/shared/widgets/` für ähnliche Komponenten
171
+ - [ ] **Before New Utils**: Prüfe `lib/shared/utils/` für Helper-Functions
172
+ - [ ] **Before New Services**: Prüfe `lib/shared/services/` für ähnliche Services
173
+
174
+ ### Performance Requirements (BESTEHENDE OPTIMIERUNGEN NUTZEN!)
175
+ - [ ] **Image Caching**: Nutze bestehende `lib/shared/services/image_cache_service.dart`
176
+ - [ ] **Network Optimization**: Folge bestehende API-Caching-Patterns
177
+ - [ ] **Memory Management**: Wie in `lib/features/video/` implementiert
178
+
179
+ ## Auto-Analysis Instructions
180
+ > Für das smart-auto-detect System
181
+
182
+ ### Code Analysis Tasks
183
+ 1. **Scan Similar Features**:
184
+ ```bash
185
+ # Prüfe Video-Feature für Player-Patterns
186
+ find lib/features/video/ -name "*.dart" | head -10
187
+
188
+ # Prüfe Chat-Feature für Message-Patterns
189
+ find lib/features/chat/ -name "*.dart" | head -10
190
+
191
+ # Prüfe Camera-Feature für Aufnahme-Patterns
192
+ find lib/features/camera/ -name "*.dart" | head -10
193
+ ```
194
+
195
+ 2. **Shared Component Analysis**:
196
+ ```bash
197
+ # Prüfe verfügbare Widgets
198
+ ls -la lib/shared/widgets/ | grep -E "(video|chat|button|loading)"
199
+
200
+ # Prüfe verfügbare Services
201
+ ls -la lib/shared/services/ | grep -E "(api|websocket|navigation)"
202
+
203
+ # Prüfe verfügbare Utils
204
+ ls -la lib/shared/utils/ | grep -E "(validator|permission|formatter)"
205
+ ```
206
+
207
+ ### Architect Fallback Rules
208
+ > Wenn Pfade nicht spezifiziert sind:
209
+
210
+ 1. **Feature Complexity**: HOCH → Eigenes Feature-Verzeichnis
211
+ 2. **Dependencies**: Video + Chat + Camera → Nutze bestehende Integration-Patterns
212
+ 3. **UI Complexity**: Multiple Screens → Folge `lib/features/video/` Struktur
213
+
214
+ ## User Stories
215
+
216
+ ### Epic: Live Streaming Infrastructure
217
+ - Als Entwickler möchte ich bestehende Video-Player-Komponenten erweitern, damit ich keine redundante Player-Logik erstelle
218
+ - Als Entwickler möchte ich bestehende Chat-Infrastruktur nutzen, damit Real-time-Messaging bereits funktioniert
219
+ - Als Entwickler möchte ich bestehende Camera-Services verwenden, damit Permissions bereits verwaltet sind
220
+
221
+ ### Epic: Stream Creation & Management
222
+ - Als Content Creator möchte ich den vertrauten Camera-Button verwenden, damit die Stream-Erstellung intuitiv ist
223
+ - Als Content Creator möchte ich bestehende Navigation-Patterns nutzen, damit die App konsistent bleibt
224
+ - Als Content Creator möchte ich bekannte UI-Komponenten sehen, damit die Bedienung vertraut ist
225
+
226
+ ### Epic: Stream Consumption
227
+ - Als Viewer möchte ich den gewohnten Video-Player sehen, damit die Bedienung vertraut ist
228
+ - Als Viewer möchte ich das bekannte Chat-Interface nutzen, damit ich sofort weiß, wie ich interagiere
229
+ - Als Viewer möchte ich konsistente Loading-States sehen, damit die App professionell wirkt
230
+
231
+ ## Dependencies
232
+
233
+ ### Existing Code Dependencies (WIEDERVERWENDEN!)
234
+ - `lib/features/video/` - Video Player Base-Funktionalität
235
+ - `lib/features/chat/` - Real-time Chat Infrastructure
236
+ - `lib/features/camera/` - Camera Access & Permissions
237
+ - `lib/shared/services/api_service.dart` - HTTP Client für Stream-APIs
238
+ - `lib/shared/services/websocket_service.dart` - Real-time Communication
239
+ - `lib/shared/widgets/` - UI Components (Button, Loading, Error)
240
+
241
+ ### New External Dependencies
242
+ - `webrtc_interface: ^1.0.0` - Für Live-Streaming
243
+ - `agora_rtc_engine: ^6.0.0` - Stream Infrastructure (falls nicht WebRTC)
244
+
245
+ ### Backend Dependencies
246
+ - WebRTC Signaling Server
247
+ - Stream Media Server (RTMP/HLS)
248
+ - Chat WebSocket Endpoints (erweitere bestehende)
249
+
250
+ ## Migration/Integration Notes
251
+
252
+ ### Existing Feature Integration
253
+ - [ ] **Video Feature**: Erweitere Player für Live-Streams
254
+ - [ ] **Chat Feature**: Adaptiere für Stream-spezifische Messages
255
+ - [ ] **Home Feature**: Integriere Stream-Liste in Feed
256
+ - [ ] **Profile Feature**: Füge Stream-History hinzu
257
+
258
+ ### Navigation Integration
259
+ - [ ] Erweitere `lib/core/routing/app_router.dart`:
260
+ ```dart
261
+ GoRoute(
262
+ path: '/livestream',
263
+ builder: (context, state) => const StreamListPage(),
264
+ ),
265
+ GoRoute(
266
+ path: '/livestream/:streamId',
267
+ builder: (context, state) => StreamViewerPage(
268
+ streamId: state.params['streamId']!,
269
+ ),
270
+ ),
271
+ ```
272
+
273
+ ### State Management Integration
274
+ - [ ] Erweitere globale App-State falls nötig
275
+ - [ ] Integration mit bestehenden User-State für Streamer-Info
276
+ - [ ] Benachrichtigungs-State für Stream-Alerts
277
+
278
+ Das ist ein intelligentes PRD, das maximale Code-Wiederverwendung sicherstellt! 🧠✨
@@ -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)
@@ -111,12 +111,38 @@ security_considerations:
111
111
  - Prevent UI-based attacks (like tapjacking)
112
112
 
113
113
  standard_workflow:
114
- - Think through UI requirements and read existing codebase
115
- - Write implementation plan to tasks/todo.md
116
- - Get plan verified before beginning work
117
- - Implement UI components marking todo items complete
118
- - Provide high-level explanations of changes
119
- - Keep changes simple and focused
120
- - Add review section to todo.md
121
- - Make git commit after completion
114
+ - MANDATORY: Think through UI requirements and read existing codebase FIRST
115
+ - MANDATORY: Write detailed implementation plan to tasks/todo.md with checkable items
116
+ - MANDATORY: Get plan verified before beginning ANY work
117
+ - MANDATORY: Check lib/shared/widgets/ for existing components BEFORE creating new ones
118
+ - MANDATORY: Follow existing UI patterns - NEVER create new patterns without approval
119
+ - MANDATORY: Use AppLocalizations for ALL text - NO static text allowed
120
+ - MANDATORY: Implement UI components marking todo items complete as you go
121
+ - MANDATORY: Provide high-level explanations of changes at every step
122
+ - MANDATORY: Keep changes simple and focused - minimal code impact
123
+ - MANDATORY: Ensure all 5 quality criteria pass (DRY, Readable, Maintainable, Performant, Testable)
124
+ - MANDATORY: Add review section to todo.md with quality validation
125
+ - MANDATORY: Make git commit after completion with proper message
126
+
127
+ mandatory_quality_gates:
128
+ - DRY: No widget duplication - reuse existing shared widgets
129
+ - Readable: Clear widget composition and self-documenting code
130
+ - Maintainable: Modular widget architecture following existing patterns
131
+ - Performant: Optimized widget trees with const constructors
132
+ - Testable: All widgets must have widget tests
133
+
134
+ mandatory_pre_coding_checklist:
135
+ - Check lib/shared/widgets/ for existing similar widgets
136
+ - Review existing page structures in lib/features/*/presentation/pages/
137
+ - Verify theme compliance with lib/shared/theme/app_theme.dart
138
+ - Plan localization keys - NO static text allowed
139
+ - Identify reusable components before creating new ones
140
+ - Follow existing naming conventions exactly
141
+
142
+ mandatory_failure_conditions:
143
+ - Static text in widgets (instant failure)
144
+ - Widget duplication when shared widget exists (instant failure)
145
+ - Breaking existing UI patterns (instant failure)
146
+ - Missing widget tests (instant failure)
147
+ - Theme inconsistencies (instant failure)
122
148
  ```
@@ -1,5 +1,5 @@
1
1
  name: "BMad Flutter Mobile Development"
2
- version: "1.4.0"
2
+ version: "1.5.0"
3
3
  description: "Flutter mobile app development with Clean Architecture, Cubit state management, and best practices"
4
4
  bmad_compatibility: "v4+"
5
5
  author: "BMad Team"
@@ -548,4 +548,70 @@ flutter test integration_test/
548
548
  - Use secure token storage
549
549
  - Handle token refresh properly
550
550
 
551
+ ## 🚨 MANDATORY DEVELOPMENT RULES - ALWAYS FOLLOW!
552
+
553
+ ### CRITICAL: These rules MUST be followed by ALL agents, ALL workflows, ALL IDEs!
554
+
555
+ #### Standard Workflow (NO EXCEPTIONS!)
556
+ 1. **THINK**: Analyze problem and read existing codebase
557
+ 2. **PLAN**: Write detailed plan to `tasks/todo.md` with checkable items
558
+ 3. **VERIFY**: Get plan approved before starting ANY coding
559
+ 4. **WORK**: Execute todo items, marking complete as you go
560
+ 5. **EXPLAIN**: Provide high-level explanations at every step
561
+ 6. **SIMPLE**: Make minimal impact changes - avoid complexity
562
+ 7. **REVIEW**: Add review section to `todo.md` with summary
563
+ 8. **COMMIT**: Make git commit after each completed task
564
+
565
+ #### MANDATORY Quality Gates (ALL 5 MUST PASS!)
566
+ - 🧹 **DRY**: No code duplication - ALWAYS reuse existing code
567
+ - 📖 **Readable**: Self-documenting code with clear naming
568
+ - 🔧 **Maintainable**: Clean Architecture with proper separation
569
+ - ⚡ **Performant**: Efficient algorithms and resource usage
570
+ - 🧪 **Testable**: Comprehensive test coverage
571
+
572
+ #### MANDATORY Pre-Coding Checklist
573
+ - [ ] **Check existing code** for similar functionality FIRST
574
+ - [ ] **Review shared components** in `lib/shared/`
575
+ - [ ] **Follow existing patterns** - NEVER create new patterns
576
+ - [ ] **Plan localization keys** - NO static text allowed
577
+ - [ ] **Verify architecture compliance** with Clean Architecture
578
+ - [ ] **Identify reusable components** before creating new ones
579
+
580
+ #### MANDATORY Flutter Rules
581
+ - ✅ **Clean Architecture**: Presentation → Domain ← Data
582
+ - ✅ **Cubit State Management**: Follow existing Cubit patterns
583
+ - ✅ **Repository Pattern**: Implement like existing repositories
584
+ - ✅ **Dependency Injection**: Use GetIt like existing features
585
+ - ✅ **Localization**: ALL text must use AppLocalizations
586
+ - ✅ **Testing**: Unit tests for business logic, widget tests for UI
587
+
588
+ #### MANDATORY Code Integration Rules
589
+ - ✅ **BEFORE new files**: Check if similar functionality exists
590
+ - ✅ **BEFORE new widgets**: Review `lib/shared/widgets/`
591
+ - ✅ **BEFORE new services**: Check `lib/shared/services/`
592
+ - ✅ **BEFORE new utilities**: Review `lib/shared/utils/`
593
+ - ✅ **EXTEND existing code** instead of duplicating
594
+ - ✅ **FOLLOW existing naming conventions** exactly
595
+
596
+ #### MANDATORY Validation Criteria
597
+ All code MUST pass these criteria:
598
+ 1. **Architecture**: Follows Clean Architecture with proper layer separation
599
+ 2. **Localization**: All text supports multi-language (NO static text!)
600
+ 3. **Quality**: Passes all 5 quality criteria (DRY, Readable, Maintainable, Performant, Testable)
601
+ 4. **Documentation**: Code is properly documented with examples
602
+ 5. **Consistency**: Code style matches existing patterns EXACTLY
603
+
604
+ #### FAILURE CONDITIONS (NEVER ALLOWED!)
605
+ - ❌ Static text in UI (instant failure)
606
+ - ❌ Code duplication (instant failure)
607
+ - ❌ Breaking existing patterns (instant failure)
608
+ - ❌ Missing tests (instant failure)
609
+ - ❌ Architecture violations (instant failure)
610
+
611
+ ### 🎯 REMEMBER: When in doubt, ALWAYS follow existing patterns!
612
+
613
+ **These rules apply to ALL development work - NO EXCEPTIONS!**
614
+
615
+ ---
616
+
551
617
  This guide ensures consistent, high-quality Flutter development that meets professional standards and security requirements.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appiq-solution",
3
- "version": "1.6.4",
3
+ "version": "1.7.0",
4
4
  "description": "APPIQ SOLUTION: Flutter Mobile Development Extension for BMAD Method",
5
5
  "main": "tools/cli.js",
6
6
  "bin": {