appiq-solution 1.6.5 → 1.7.1

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 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. Plan Livestream Feature
93
+ ### 3. Start the Master Flutter Workflow
94
94
 
95
- Now the Scrum Master comes into play:
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
- "How should the livestream UI look?"
114
- "Which widgets do we need (Player, Chat, Controls)?"
115
- "Where in existing navigation will it be integrated?"
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
- Maya creates:
119
- - Livestream pages (`livestream_page.dart`, `livestream_detail_page.dart`)
120
- - Custom widgets (`livestream_player_widget.dart`, `chat_widget.dart`)
121
- - Localization keys for all texts
122
- - Integration into your existing navigation
123
-
124
- **Phase 2: State Management (Alex - flutter-cubit-agent)**
125
-
126
- Alex implements:
127
- - `LivestreamCubit` with States (initial, loading, streaming, error)
128
- - `LivestreamState` class with all required data
129
- - Error handling for connection drops
130
- - Integration with your existing state patterns
131
-
132
- **Phase 3: Business Logic (Jordan - flutter-domain-agent)**
133
-
134
- Jordan creates:
135
- - `LivestreamEntity` (Stream-ID, URL, Viewer-Count, etc.)
136
- - `StartLivestreamUseCase`, `StopLivestreamUseCase`
137
- - `LivestreamRepository` Interface
138
- - Business validation (e.g., permission checks)
139
-
140
- **Phase 4: Data Layer (Sam - flutter-data-agent)**
141
-
142
- Sam implements:
143
- - `LivestreamRepositoryImpl`
144
- - `LivestreamRemoteDataSource` (API calls)
145
- - `LivestreamLocalDataSource` (caching)
146
- - `LivestreamModel` with JSON serialization
147
- - WebSocket integration for real-time chat
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 Concrete Workflow
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
- @smart-launcher
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
- slashPrefix: BMad
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appiq-solution",
3
- "version": "1.6.5",
3
+ "version": "1.7.1",
4
4
  "description": "APPIQ SOLUTION: Flutter Mobile Development Extension for BMAD Method",
5
5
  "main": "tools/cli.js",
6
6
  "bin": {
@@ -85,6 +85,15 @@ class IdeSetup extends BaseIdeSetup {
85
85
  }
86
86
 
87
87
  async setupClaudeCode(installDir, selectedAgent) {
88
+ // First try Claude IDE native format
89
+ const claudeNativeSuccess = await this.setupClaudeIdeNative(installDir);
90
+ if (claudeNativeSuccess) {
91
+ return true;
92
+ }
93
+
94
+ // Fallback to legacy format
95
+ console.log(chalk.yellow("⚠️ Claude IDE native agents not found, using legacy format"));
96
+
88
97
  // Setup bmad-core commands
89
98
  const coreSlashPrefix = await this.getCoreSlashPrefix(installDir);
90
99
  const coreAgents = selectedAgent ? [selectedAgent] : await this.getCoreAgentIds(installDir);
@@ -119,6 +128,53 @@ class IdeSetup extends BaseIdeSetup {
119
128
  return true;
120
129
  }
121
130
 
131
+ async setupClaudeIdeNative(installDir) {
132
+ const claudeDir = path.join(installDir, ".claude");
133
+ const agentsDir = path.join(claudeDir, "agents");
134
+
135
+ // Check if we have the converted agents - look in the source directory (where this installer is located)
136
+ const installerDir = path.dirname(path.dirname(path.dirname(__dirname))); // Go up from tools/installer/lib to project root
137
+ const sourceAgentsDir = path.join(installerDir, ".claude", "agents");
138
+
139
+ if (!(await fileManager.pathExists(sourceAgentsDir))) {
140
+ return false; // No native agents found
141
+ }
142
+
143
+ // Ensure .claude/agents directory exists (Claude IDE native format)
144
+ await fileManager.ensureDirectory(claudeDir);
145
+ await fileManager.ensureDirectory(agentsDir);
146
+
147
+ console.log(chalk.blue("🚀 Installing Claude IDE native agents..."));
148
+
149
+ // Copy all converted agents
150
+ const fs = require('fs-extra');
151
+ const agentFiles = await fs.readdir(sourceAgentsDir);
152
+ let installedCount = 0;
153
+
154
+ for (const agentFile of agentFiles) {
155
+ // Skip directories and hidden files, only copy agent files (without .md extension)
156
+ if (agentFile.startsWith('.') || agentFile.includes('.')) {
157
+ continue;
158
+ }
159
+
160
+ const sourcePath = path.join(sourceAgentsDir, agentFile);
161
+ const stats = await fs.stat(sourcePath);
162
+
163
+ if (stats.isFile()) {
164
+ const targetPath = path.join(agentsDir, agentFile);
165
+
166
+ const agentContent = await fileManager.readFile(sourcePath);
167
+ await fileManager.writeFile(targetPath, agentContent);
168
+
169
+ console.log(chalk.green(`✓ Installed Claude IDE agent: ${agentFile}`));
170
+ installedCount++;
171
+ }
172
+ }
173
+
174
+ console.log(chalk.green(`✅ Claude IDE native setup completed (${installedCount} agents installed)`));
175
+ return true;
176
+ }
177
+
122
178
  async setupClaudeCodeForPackage(installDir, packageName, slashPrefix, agentIds, taskIds, rootPath) {
123
179
  const commandsBaseDir = path.join(installDir, ".claude", "commands", slashPrefix);
124
180
  const agentsDir = path.join(commandsBaseDir, "agents");