appiq-solution 1.6.4 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/bmad-core/core-config-extended.yaml +39 -0
- package/bmad-core/core-config-smart.yaml +184 -0
- package/bmad-core/data/mandatory-development-rules.md +170 -0
- package/bmad-core/tasks/auto-detect-prds.md +162 -0
- package/bmad-core/tasks/smart-auto-detect-prds.md +299 -0
- package/bmad-core/tasks/validate-mandatory-rules.md +322 -0
- package/docs/enhanced_prd_template.md +202 -0
- package/docs/livestream_prd_example.md +93 -0
- package/docs/livestream_prd_smart.md +278 -0
- package/expansion-packs/appiq-flutter-mobile-dev/agents/flutter-ui-agent.md +34 -8
- package/expansion-packs/appiq-flutter-mobile-dev/config.yaml +1 -1
- package/expansion-packs/appiq-flutter-mobile-dev/data/flutter-development-guidelines.md +66 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,65 @@
|
|
1
|
+
# [1.5.0] APPIQ Flutter Mobile Dev Extension (2025-07-30)
|
2
|
+
|
3
|
+
## 🚨 MAJOR FEATURES - MANDATORY DEVELOPMENT RULES
|
4
|
+
|
5
|
+
### ✨ New Features
|
6
|
+
|
7
|
+
* **🔧 Mandatory Development Rules System**: Complete enforcement of development standards
|
8
|
+
- **8-Step Standard Workflow**: THINK → PLAN → VERIFY → WORK → EXPLAIN → SIMPLE → REVIEW → COMMIT
|
9
|
+
- **5 Quality Gates**: DRY, Readable, Maintainable, Performant, Testable (ALL must pass!)
|
10
|
+
- **Automatic Rule Loading**: All agents now automatically load mandatory rules
|
11
|
+
- **Instant Failure Detection**: Static text, code duplication, architecture violations
|
12
|
+
|
13
|
+
* **🤖 Enhanced Flutter Agents**: All agents updated with mandatory workflow enforcement
|
14
|
+
- **flutter-ui-agent**: Enhanced with pre-coding checklist and quality gates
|
15
|
+
- **flutter-cubit-agent**: Mandatory state management patterns
|
16
|
+
- **flutter-domain-agent**: Business logic validation rules
|
17
|
+
- **flutter-data-agent**: Repository pattern enforcement
|
18
|
+
- **shared-components-agent**: Component reuse validation
|
19
|
+
|
20
|
+
* **✅ Automatic Validation System**: `validate-mandatory-rules.md` task
|
21
|
+
- **Script-based validation**: Automatic checks for all quality criteria
|
22
|
+
- **Comprehensive reporting**: Success/failure reports with specific actions
|
23
|
+
- **Pre-commit validation**: Prevents bad code from being committed
|
24
|
+
- **Architecture compliance**: Clean Architecture layer validation
|
25
|
+
|
26
|
+
* **📋 Enhanced Development Guidelines**: `flutter-development-guidelines.md`
|
27
|
+
- **MANDATORY sections**: Critical rules that MUST be followed
|
28
|
+
- **Failure conditions**: Clear instant failure scenarios
|
29
|
+
- **Pre-coding checklists**: What to check before writing any code
|
30
|
+
- **Integration rules**: How to work with existing codebase
|
31
|
+
|
32
|
+
* **⚙️ Core Configuration Enhancement**: `core-config-smart.yaml`
|
33
|
+
- **mandatoryRules enforcement**: Automatic rule application
|
34
|
+
- **devLoadAlwaysFiles**: Rules loaded with every agent
|
35
|
+
- **Quality gates configuration**: All 5 criteria enforced
|
36
|
+
- **Failure condition settings**: Configurable instant failures
|
37
|
+
|
38
|
+
### 🔧 Improvements
|
39
|
+
|
40
|
+
* **Code Reuse Optimization**: Always check existing components before creating new ones
|
41
|
+
* **Pattern Consistency**: Enforce existing architectural patterns
|
42
|
+
* **Localization Enforcement**: NO static text allowed - all text must use AppLocalizations
|
43
|
+
* **Testing Requirements**: Comprehensive test coverage mandatory
|
44
|
+
* **Performance Standards**: Optimized implementations required
|
45
|
+
|
46
|
+
### 💥 Breaking Changes
|
47
|
+
|
48
|
+
* **Static Text**: Now causes instant failure - ALL text must use AppLocalizations
|
49
|
+
* **Code Duplication**: Instant failure when shared components exist
|
50
|
+
* **Pattern Breaking**: Cannot create new patterns without approval
|
51
|
+
* **Missing Tests**: All new features must have comprehensive tests
|
52
|
+
* **Architecture Violations**: Clean Architecture must be followed strictly
|
53
|
+
|
54
|
+
### 🎯 Developer Experience
|
55
|
+
|
56
|
+
* **Consistent Code Quality**: All code looks like it's from a single developer
|
57
|
+
* **Automatic Enforcement**: Rules applied automatically in Cursor, Claude Code, and all IDEs
|
58
|
+
* **Clear Guidelines**: Explicit failure conditions and success criteria
|
59
|
+
* **Validation Feedback**: Detailed reports on what needs to be fixed
|
60
|
+
|
61
|
+
---
|
62
|
+
|
1
63
|
## [4.33.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.33.0...v4.33.1) (2025-07-29)
|
2
64
|
|
3
65
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
markdownExploder: true
|
2
|
+
prd:
|
3
|
+
prdFile: docs/prd.md
|
4
|
+
prdVersion: v4
|
5
|
+
prdSharded: true
|
6
|
+
prdShardedLocation: docs/prd
|
7
|
+
epicFilePattern: epic-{n}*.md
|
8
|
+
# NEUE ERWEITERUNG: PRD Pattern-Erkennung
|
9
|
+
prdFilePattern: "*_prd.md" # Erkennt alle Dateien die mit _prd.md enden
|
10
|
+
autoPrdDetection: true # Aktiviert automatische PRD-Erkennung
|
11
|
+
autoPrdSharding: true # Automatisches Sharding bei Erkennung
|
12
|
+
autoPrdWorkflow: true # Startet automatisch PO → SM → Dev Workflow
|
13
|
+
|
14
|
+
architecture:
|
15
|
+
architectureFile: docs/architecture.md
|
16
|
+
architectureVersion: v4
|
17
|
+
architectureSharded: true
|
18
|
+
architectureShardedLocation: docs/architecture
|
19
|
+
|
20
|
+
# Erweiterte Workflow-Automatisierung
|
21
|
+
autoWorkflow:
|
22
|
+
enabled: true
|
23
|
+
scanDirectories:
|
24
|
+
- "docs/"
|
25
|
+
- "features/"
|
26
|
+
- "./"
|
27
|
+
triggerPatterns:
|
28
|
+
- "*_prd.md"
|
29
|
+
- "*_requirements.md"
|
30
|
+
- "*_feature.md"
|
31
|
+
|
32
|
+
customTechnicalDocuments: null
|
33
|
+
devLoadAlwaysFiles:
|
34
|
+
- docs/architecture/coding-standards.md
|
35
|
+
- docs/architecture/tech-stack.md
|
36
|
+
- docs/architecture/source-tree.md
|
37
|
+
devDebugLog: .ai/debug-log.md
|
38
|
+
devStoryLocation: docs/stories
|
39
|
+
slashPrefix: bmad
|
@@ -0,0 +1,184 @@
|
|
1
|
+
markdownExploder: true
|
2
|
+
|
3
|
+
# Standard PRD Configuration
|
4
|
+
prd:
|
5
|
+
prdFile: docs/prd.md
|
6
|
+
prdVersion: v4
|
7
|
+
prdSharded: true
|
8
|
+
prdShardedLocation: docs/prd
|
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
|
+
|
21
|
+
architecture:
|
22
|
+
architectureFile: docs/architecture.md
|
23
|
+
architectureVersion: v4
|
24
|
+
architectureSharded: true
|
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
|
112
|
+
customTechnicalDocuments: null
|
113
|
+
devLoadAlwaysFiles:
|
114
|
+
- docs/architecture/coding-standards.md
|
115
|
+
- docs/architecture/tech-stack.md
|
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
|
+
|
120
|
+
devDebugLog: .ai/debug-log.md
|
121
|
+
devStoryLocation: docs/stories
|
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,170 @@
|
|
1
|
+
# MANDATORY DEVELOPMENT RULES
|
2
|
+
## THESE RULES MUST ALWAYS BE FOLLOWED - NO EXCEPTIONS!
|
3
|
+
|
4
|
+
This file provides mandatory guidance that MUST be followed by ALL agents when working with code in ANY repository.
|
5
|
+
|
6
|
+
## 🚨 CRITICAL: Standard Workflow (ALWAYS FOLLOW!)
|
7
|
+
|
8
|
+
### MANDATORY 8-Step Process:
|
9
|
+
1. **THINK**: First think through the problem, read the codebase for relevant files
|
10
|
+
2. **PLAN**: Write a detailed plan to `tasks/todo.md` with checkable items
|
11
|
+
3. **VERIFY**: Check in with user - get plan approval before starting
|
12
|
+
4. **WORK**: Work on todo items, marking them complete as you go
|
13
|
+
5. **EXPLAIN**: Give high-level explanation of changes at every step
|
14
|
+
6. **SIMPLE**: Make every change as simple as possible - impact minimal code
|
15
|
+
7. **REVIEW**: Add review section to `todo.md` with summary of changes
|
16
|
+
8. **COMMIT**: After every fully finished task - make git commit with proper message
|
17
|
+
|
18
|
+
### MANDATORY Workflow Rules:
|
19
|
+
- ✅ **NEVER start coding without a verified plan**
|
20
|
+
- ✅ **ALWAYS check existing code before creating new code**
|
21
|
+
- ✅ **ALWAYS extend existing code instead of duplicating**
|
22
|
+
- ✅ **ALWAYS use existing patterns and folder structure**
|
23
|
+
- ✅ **ALWAYS check if functionality already exists**
|
24
|
+
- ✅ **ALWAYS make git commits after completed tasks**
|
25
|
+
|
26
|
+
## 🎯 MANDATORY Quality Criteria (ALL 5 MUST PASS!)
|
27
|
+
|
28
|
+
### 1. 🧹 DRY (Don't Repeat Yourself)
|
29
|
+
- ✅ **NO code duplication allowed**
|
30
|
+
- ✅ **ALWAYS reuse existing functions/classes/components**
|
31
|
+
- ✅ **ALWAYS extract common functionality into shared utilities**
|
32
|
+
- ✅ **ALWAYS check if similar code exists before writing new code**
|
33
|
+
|
34
|
+
### 2. 📖 Readable
|
35
|
+
- ✅ **Code MUST be self-documenting with clear naming**
|
36
|
+
- ✅ **Methods MUST be small and focused (max 20 lines)**
|
37
|
+
- ✅ **Classes MUST have single responsibility**
|
38
|
+
- ✅ **Comments MUST explain WHY, not WHAT**
|
39
|
+
|
40
|
+
### 3. 🔧 Maintainable
|
41
|
+
- ✅ **MUST follow Clean Architecture with proper layer separation**
|
42
|
+
- ✅ **MUST use dependency injection**
|
43
|
+
- ✅ **MUST have modular design**
|
44
|
+
- ✅ **MUST follow existing folder/file structure**
|
45
|
+
|
46
|
+
### 4. ⚡ Performant
|
47
|
+
- ✅ **MUST avoid redundant API calls**
|
48
|
+
- ✅ **MUST use efficient algorithms**
|
49
|
+
- ✅ **MUST optimize resource usage**
|
50
|
+
- ✅ **MUST follow existing performance patterns**
|
51
|
+
|
52
|
+
### 5. 🧪 Testable
|
53
|
+
- ✅ **ALL business logic MUST be unit tested**
|
54
|
+
- ✅ **ALL UI components MUST be widget tested**
|
55
|
+
- ✅ **MUST use dependency injection for testability**
|
56
|
+
- ✅ **MUST follow existing testing patterns**
|
57
|
+
|
58
|
+
## 📱 MANDATORY Flutter-Specific Rules
|
59
|
+
|
60
|
+
### Architecture Compliance (ALWAYS!)
|
61
|
+
- ✅ **MUST follow Clean Architecture (Presentation → Domain ← Data)**
|
62
|
+
- ✅ **MUST use Cubit for state management**
|
63
|
+
- ✅ **MUST implement Repository pattern**
|
64
|
+
- ✅ **MUST use GetIt for dependency injection**
|
65
|
+
|
66
|
+
### Localization (ALWAYS!)
|
67
|
+
- ✅ **NO static text allowed - EVER!**
|
68
|
+
- ✅ **ALL user-facing text MUST use AppLocalizations**
|
69
|
+
- ✅ **ALL localization keys MUST be descriptive**
|
70
|
+
- ✅ **MUST add keys to ALL supported ARB files**
|
71
|
+
|
72
|
+
### Code Structure (ALWAYS!)
|
73
|
+
- ✅ **MUST follow existing folder structure**
|
74
|
+
- ✅ **MUST use snake_case for files**
|
75
|
+
- ✅ **MUST use PascalCase for classes**
|
76
|
+
- ✅ **MUST use camelCase for methods/variables**
|
77
|
+
|
78
|
+
### Integration Rules (ALWAYS!)
|
79
|
+
- ✅ **BEFORE creating new files**: Check if similar exists
|
80
|
+
- ✅ **BEFORE new widgets**: Review `lib/shared/widgets/`
|
81
|
+
- ✅ **BEFORE new services**: Check `lib/shared/services/`
|
82
|
+
- ✅ **BEFORE new utilities**: Review `lib/shared/utils/`
|
83
|
+
|
84
|
+
## 🛠️ MANDATORY MCP Tool Usage
|
85
|
+
|
86
|
+
### When to Use MCPs (ALWAYS check these!):
|
87
|
+
- ✅ **sequential-thinking**: For complex problem analysis
|
88
|
+
- ✅ **context7**: For up-to-date library documentation
|
89
|
+
- ✅ **memory**: For storing important decisions/patterns
|
90
|
+
- ✅ **puppeteer**: For web scraping/testing needs
|
91
|
+
- ✅ **fetcher**: For external API data retrieval
|
92
|
+
|
93
|
+
## 🔍 MANDATORY Pre-Development Checklist
|
94
|
+
|
95
|
+
### Before ANY coding (ALWAYS!):
|
96
|
+
- [ ] **Read existing codebase** for similar functionality
|
97
|
+
- [ ] **Check shared components** for reusable parts
|
98
|
+
- [ ] **Review existing patterns** in similar features
|
99
|
+
- [ ] **Verify architecture compliance** with existing structure
|
100
|
+
- [ ] **Plan minimal impact changes** - avoid massive refactors
|
101
|
+
- [ ] **Ensure localization keys** are planned
|
102
|
+
- [ ] **Identify testing requirements** early
|
103
|
+
|
104
|
+
### During Development (ALWAYS!):
|
105
|
+
- [ ] **Follow existing naming conventions** exactly
|
106
|
+
- [ ] **Use existing error handling patterns**
|
107
|
+
- [ ] **Reuse existing validation logic**
|
108
|
+
- [ ] **Follow existing state management patterns**
|
109
|
+
- [ ] **Use existing navigation patterns**
|
110
|
+
- [ ] **Follow existing styling/theming**
|
111
|
+
|
112
|
+
### After Development (ALWAYS!):
|
113
|
+
- [ ] **Run all tests** and ensure they pass
|
114
|
+
- [ ] **Check code coverage** meets minimum requirements
|
115
|
+
- [ ] **Verify localization** works for all languages
|
116
|
+
- [ ] **Test on different screen sizes**
|
117
|
+
- [ ] **Review code** against all 5 quality criteria
|
118
|
+
- [ ] **Make proper git commit** with descriptive message
|
119
|
+
|
120
|
+
## 🚨 CRITICAL VALIDATION RULES
|
121
|
+
|
122
|
+
### Code Review Criteria (ALL MUST PASS!):
|
123
|
+
1. ✅ **Architecture**: Follows Clean Architecture with proper layer separation
|
124
|
+
2. ✅ **Localization**: All text supports multi-language
|
125
|
+
3. ✅ **Quality**: Passes all 5 quality criteria (DRY, Readable, Maintainable, Performant, Testable)
|
126
|
+
4. ✅ **Documentation**: Code is properly documented with examples
|
127
|
+
5. ✅ **Consistency**: Code style matches existing patterns
|
128
|
+
|
129
|
+
### Failure Conditions (NEVER ALLOWED!):
|
130
|
+
- ❌ **Static text in UI** - Immediate failure
|
131
|
+
- ❌ **Code duplication** - Immediate failure
|
132
|
+
- ❌ **Breaking existing patterns** - Immediate failure
|
133
|
+
- ❌ **Missing tests** - Immediate failure
|
134
|
+
- ❌ **Poor performance** - Immediate failure
|
135
|
+
|
136
|
+
## 📋 MANDATORY Commit Message Format
|
137
|
+
|
138
|
+
```
|
139
|
+
type(scope): brief description
|
140
|
+
|
141
|
+
- Detailed explanation of changes
|
142
|
+
- Why the changes were made
|
143
|
+
- What patterns were followed
|
144
|
+
- What tests were added
|
145
|
+
|
146
|
+
Quality Checklist:
|
147
|
+
✅ DRY: No code duplication
|
148
|
+
✅ Readable: Clear naming and structure
|
149
|
+
✅ Maintainable: Modular design
|
150
|
+
✅ Performant: Optimized implementation
|
151
|
+
✅ Testable: Comprehensive test coverage
|
152
|
+
```
|
153
|
+
|
154
|
+
## 🎯 REMEMBER: Consistency is King!
|
155
|
+
|
156
|
+
> **When in doubt, ALWAYS follow existing patterns in the codebase.**
|
157
|
+
> **NEVER create new patterns without explicit approval.**
|
158
|
+
> **ALWAYS prefer extending existing code over creating new code.**
|
159
|
+
|
160
|
+
---
|
161
|
+
|
162
|
+
## ⚠️ ENFORCEMENT NOTICE
|
163
|
+
|
164
|
+
**These rules are MANDATORY and MUST be followed by:**
|
165
|
+
- ✅ All BMAD agents (dev, flutter-ui-agent, flutter-cubit-agent, etc.)
|
166
|
+
- ✅ All development workflows
|
167
|
+
- ✅ All IDE integrations (Cursor, Claude Code, etc.)
|
168
|
+
- ✅ All automated processes
|
169
|
+
|
170
|
+
**NO EXCEPTIONS! NO SHORTCUTS! NO COMPROMISES!**
|
@@ -0,0 +1,162 @@
|
|
1
|
+
# Auto-Detect PRDs Task
|
2
|
+
|
3
|
+
## Purpose
|
4
|
+
Automatically detect PRD files based on pattern matching and trigger the complete BMAD workflow without manual Planning Phase.
|
5
|
+
|
6
|
+
## Usage
|
7
|
+
```bash
|
8
|
+
@po auto-detect-prds
|
9
|
+
```
|
10
|
+
|
11
|
+
## Process
|
12
|
+
|
13
|
+
### Step 1: Scan for PRD Files
|
14
|
+
1. **Scan configured directories** from core-config.yaml `autoWorkflow.scanDirectories`
|
15
|
+
2. **Look for files matching patterns**:
|
16
|
+
- `*_prd.md` (e.g., `livestream_prd.md`, `payment_prd.md`)
|
17
|
+
- `*_requirements.md`
|
18
|
+
- `*_feature.md`
|
19
|
+
3. **List found files** and ask user for confirmation
|
20
|
+
|
21
|
+
### Step 2: Process Each PRD File
|
22
|
+
For each detected PRD file:
|
23
|
+
|
24
|
+
1. **Validate PRD Structure**:
|
25
|
+
- Check for required sections (Features, Acceptance Criteria, etc.)
|
26
|
+
- Ensure proper markdown formatting
|
27
|
+
- Validate completeness
|
28
|
+
|
29
|
+
2. **Auto-Shard Document**:
|
30
|
+
```bash
|
31
|
+
md-tree explode {prd_file} docs/prd/{feature_name}
|
32
|
+
```
|
33
|
+
|
34
|
+
3. **Create Feature Directory Structure**:
|
35
|
+
```
|
36
|
+
docs/
|
37
|
+
├── prd/
|
38
|
+
│ └── {feature_name}/
|
39
|
+
│ ├── overview.md
|
40
|
+
│ ├── features.md
|
41
|
+
│ ├── acceptance-criteria.md
|
42
|
+
│ └── technical-requirements.md
|
43
|
+
└── stories/
|
44
|
+
└── {feature_name}/
|
45
|
+
```
|
46
|
+
|
47
|
+
### Step 3: Auto-Generate Stories
|
48
|
+
1. **Extract Epics** from sharded PRD sections
|
49
|
+
2. **Generate User Stories** from each epic
|
50
|
+
3. **Create Story Files** in `docs/stories/{feature_name}/`
|
51
|
+
4. **Apply Flutter-specific patterns** if Flutter extension detected
|
52
|
+
|
53
|
+
### Step 4: Trigger Development Workflow
|
54
|
+
1. **Notify SM** that stories are ready
|
55
|
+
2. **Auto-start Flutter UI-First Workflow** if configured
|
56
|
+
3. **Create initial todo.md** for development tracking
|
57
|
+
|
58
|
+
## Example Workflow
|
59
|
+
|
60
|
+
### Input Files:
|
61
|
+
```
|
62
|
+
docs/
|
63
|
+
├── livestream_prd.md
|
64
|
+
├── payment_prd.md
|
65
|
+
└── user_profile_prd.md
|
66
|
+
```
|
67
|
+
|
68
|
+
### Command:
|
69
|
+
```bash
|
70
|
+
@po auto-detect-prds
|
71
|
+
```
|
72
|
+
|
73
|
+
### Output:
|
74
|
+
```
|
75
|
+
Found 3 PRD files:
|
76
|
+
1. livestream_prd.md → Livestream Feature
|
77
|
+
2. payment_prd.md → Payment Integration
|
78
|
+
3. user_profile_prd.md → User Profile Management
|
79
|
+
|
80
|
+
Processing livestream_prd.md...
|
81
|
+
✅ Sharded to docs/prd/livestream/
|
82
|
+
✅ Generated 4 stories in docs/stories/livestream/
|
83
|
+
✅ Ready for development
|
84
|
+
|
85
|
+
Processing payment_prd.md...
|
86
|
+
✅ Sharded to docs/prd/payment/
|
87
|
+
✅ Generated 6 stories in docs/stories/payment/
|
88
|
+
✅ Ready for development
|
89
|
+
|
90
|
+
Processing user_profile_prd.md...
|
91
|
+
✅ Sharded to docs/prd/user_profile/
|
92
|
+
✅ Generated 3 stories in docs/stories/user_profile/
|
93
|
+
✅ Ready for development
|
94
|
+
|
95
|
+
🚀 All PRDs processed! Ready to start development with:
|
96
|
+
@sm start-next-story
|
97
|
+
```
|
98
|
+
|
99
|
+
## PRD File Requirements
|
100
|
+
|
101
|
+
Your `*_prd.md` files should contain:
|
102
|
+
|
103
|
+
```markdown
|
104
|
+
# Feature Name PRD
|
105
|
+
|
106
|
+
## Overview
|
107
|
+
Brief description of the feature
|
108
|
+
|
109
|
+
## Features
|
110
|
+
- Feature 1: Description
|
111
|
+
- Feature 2: Description
|
112
|
+
- Feature 3: Description
|
113
|
+
|
114
|
+
## Acceptance Criteria
|
115
|
+
### Feature 1
|
116
|
+
- [ ] Criteria 1
|
117
|
+
- [ ] Criteria 2
|
118
|
+
|
119
|
+
### Feature 2
|
120
|
+
- [ ] Criteria 1
|
121
|
+
- [ ] Criteria 2
|
122
|
+
|
123
|
+
## Technical Requirements
|
124
|
+
- Flutter Clean Architecture
|
125
|
+
- Cubit State Management
|
126
|
+
- Repository Pattern
|
127
|
+
- Unit Tests Required
|
128
|
+
|
129
|
+
## User Stories
|
130
|
+
### Epic: Feature Implementation
|
131
|
+
- As a user I want to... so that...
|
132
|
+
- As a user I want to... so that...
|
133
|
+
|
134
|
+
## Dependencies
|
135
|
+
- Backend API endpoints
|
136
|
+
- Third-party integrations
|
137
|
+
- Design assets
|
138
|
+
```
|
139
|
+
|
140
|
+
## Configuration
|
141
|
+
|
142
|
+
Enable in `core-config.yaml`:
|
143
|
+
```yaml
|
144
|
+
autoWorkflow:
|
145
|
+
enabled: true
|
146
|
+
scanDirectories:
|
147
|
+
- "docs/"
|
148
|
+
- "features/"
|
149
|
+
triggerPatterns:
|
150
|
+
- "*_prd.md"
|
151
|
+
- "*_requirements.md"
|
152
|
+
```
|
153
|
+
|
154
|
+
## Flutter-Specific Integration
|
155
|
+
|
156
|
+
When Flutter extension is detected, automatically:
|
157
|
+
1. **Apply Flutter story templates**
|
158
|
+
2. **Set up UI-First workflow**
|
159
|
+
3. **Configure Clean Architecture patterns**
|
160
|
+
4. **Prepare Cubit state management structure**
|
161
|
+
|
162
|
+
This task bridges the gap between existing documentation and BMAD's development workflow, perfect for Brownfield projects!
|