appiq-solution 1.3.3 → 1.4.3
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/.bmad-config.json +13 -0
- package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +27 -0
- package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +27 -0
- package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +27 -0
- package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +27 -0
- package/#Tools/APPIQ-METHOD/CHANGELOG.md +119 -173
- package/#Tools/APPIQ-METHOD/DEVELOPMENT_GUIDE.md +855 -0
- package/#Tools/APPIQ-METHOD/NPM-README.md +138 -0
- package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +401 -0
- package/#Tools/APPIQ-METHOD/activate-appiq.js +81 -0
- package/#Tools/APPIQ-METHOD/appiq-solution/README.md +226 -0
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +114 -0
- package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +11 -1
- package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +7 -3
- package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +6 -0
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -84
- package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +170 -0
- package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +31 -12
- package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +10 -4
- package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +17 -0
- package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +8 -3
- package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +8 -3
- package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
- package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +332 -0
- package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +686 -0
- package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +388 -0
- package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +147 -1
- package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +43 -0
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +197 -0
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +234 -0
- package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +289 -0
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +330 -0
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +376 -0
- package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +415 -0
- package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +12 -5
- package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +10 -9
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +15 -1
- package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +49 -5
- package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +56 -44
- package/#Tools/APPIQ-METHOD/commands/README.md +28 -0
- package/#Tools/APPIQ-METHOD/commands/analyze.md +27 -0
- package/#Tools/APPIQ-METHOD/commands/appiq.md +27 -0
- package/#Tools/APPIQ-METHOD/commands/help.md +27 -0
- package/#Tools/APPIQ-METHOD/commands/story.md +27 -0
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -111
- package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +2 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
- package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +2 -111
- package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +2 -111
- package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -111
- package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +2 -111
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agent-teams/flutter-mobile-team.yaml +23 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-cubit-agent.md +133 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-data-agent.md +160 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-domain-agent.md +153 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-ui-agent.md +122 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/shared-components-agent.md +161 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/checklists/flutter-story-dod-checklist.md +194 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/config.yaml +41 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/data/flutter-development-guidelines.md +551 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/templates/flutter-mobile-architecture-tmpl.yaml +530 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/workflows/flutter-ui-first-development.yaml +220 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
- package/#Tools/APPIQ-METHOD/install-appiq.sh +41 -0
- package/#Tools/APPIQ-METHOD/package-lock.json +631 -0
- package/#Tools/APPIQ-METHOD/package.json +20 -69
- package/#Tools/APPIQ-METHOD/tasks/todo.md +275 -0
- package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +2714 -0
- package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +5 -7
- package/#Tools/APPIQ-METHOD/tools/cli.js +3 -3
- package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +538 -0
- package/#Tools/APPIQ-METHOD/tools/flattener/main.js +570 -0
- package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +15 -14
- package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +28 -2
- package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +906 -0
- package/#Tools/APPIQ-METHOD/tools/installer/package.json +1 -1
- package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +345 -0
- package/#Tools/APPIQ-METHOD/tools/smart-installer.js +589 -0
- package/package.json +20 -69
- package/tools/appiq-installer.js +2714 -0
- package/tools/bmad-npx-wrapper.js +5 -7
- package/tools/cli.js +3 -3
- package/tools/epic-solution-installer.js +538 -0
- package/tools/flattener/main.js +570 -0
- package/tools/installer/bin/bmad.js +15 -14
- package/tools/installer/lib/installer.js +28 -2
- package/tools/installer/package-lock.json +89 -89
- package/tools/installer/package.json +1 -1
- package/tools/setup-ide-commands.js +345 -0
- package/tools/smart-installer.js +589 -0
- package/#Tools/APPIQ-METHOD/appiq_start.md +0 -232
- package/#Tools/APPIQ-METHOD/deployment/DEPLOYMENT_GUIDE.md +0 -426
- package/#Tools/APPIQ-METHOD/deployment/GITHUB_RELEASE_GUIDE.md +0 -326
- package/#Tools/APPIQ-METHOD/deployment/README.md +0 -331
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-all.yaml +0 -14
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-fullstack.yaml +0 -18
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-no-ui.yaml +0 -13
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/analyst.md +0 -81
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/architect.md +0 -84
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-master.md +0 -108
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-orchestrator.md +0 -234
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/dev.md +0 -76
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/pm.md +0 -79
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/po.md +0 -76
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/qa.md +0 -69
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/sm.md +0 -62
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/ux-expert.md +0 -66
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/architect-checklist.md +0 -443
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/change-checklist.md +0 -182
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/pm-checklist.md +0 -375
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/po-master-checklist.md +0 -441
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-dod-checklist.md +0 -101
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-draft-checklist.md +0 -156
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/bmad-kb.md +0 -803
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/brainstorming-techniques.md +0 -36
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/elicitation-methods.md +0 -134
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/technical-preferences.md +0 -3
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/advanced-elicitation.md +0 -117
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-epic.md +0 -160
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-story.md +0 -147
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/correct-course.md +0 -70
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-brownfield-story.md +0 -304
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-deep-research-prompt.md +0 -289
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-next-story.md +0 -112
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/document-project.md +0 -341
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/index-docs.md +0 -179
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/kb-mode-interaction.md +0 -75
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/review-story.md +0 -145
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/shard-doc.md +0 -187
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/validate-next-story.md +0 -134
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/architecture-tmpl.yaml +0 -650
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/market-research-tmpl.yaml +0 -252
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/prd-tmpl.yaml +0 -202
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/project-brief-tmpl.yaml +0 -221
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/story-tmpl.yaml +0 -137
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/user-guide.md +0 -250
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-service.yaml +0 -187
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-ui.yaml +0 -197
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-service.yaml +0 -206
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-ui.yaml +0 -235
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/working-in-the-brownfield.md +0 -361
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/README.md +0 -3
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -396
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -132
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -776
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -590
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -111
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -151
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -308
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -160
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -154
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/appiq.md +0 -273
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/claude-appiq.md +0 -294
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/cursor-appiq.md +0 -516
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/universal-appiq.md +0 -448
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/start.md +0 -211
- package/#Tools/APPIQ-METHOD/deployment/build-release.sh +0 -449
- package/#Tools/APPIQ-METHOD/deployment/create-release.sh +0 -196
- package/#Tools/APPIQ-METHOD/deployment/dist/appiq_installer.sh +0 -678
- package/#Tools/APPIQ-METHOD/deployment/docs/main_prd.md +0 -36
- package/#Tools/APPIQ-METHOD/deployment/init_appiq.sh +0 -805
- package/#Tools/APPIQ-METHOD/deployment/init_appiq_v2.sh +0 -678
- package/#Tools/APPIQ-METHOD/deployment/installers/appiq-global.sh +0 -91
- package/#Tools/APPIQ-METHOD/deployment/installers/claude-integration.sh +0 -281
- package/#Tools/APPIQ-METHOD/deployment/installers/cursor-integration.sh +0 -257
- package/#Tools/APPIQ-METHOD/deployment/installers/terminal-integration.sh +0 -645
- package/#Tools/APPIQ-METHOD/deployment/installers/windsurf-integration.sh +0 -350
- package/#Tools/APPIQ-METHOD/deployment/package-v2.sh +0 -97
- package/#Tools/APPIQ-METHOD/deployment/package.sh +0 -363
- package/#Tools/APPIQ-METHOD/deployment/quick-install.sh +0 -57
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
- package/#Tools/APPIQ-METHOD/package-bmad-backup.json +0 -78
- package/#Tools/APPIQ-METHOD/slash-commands/appiq.md +0 -273
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/claude-appiq.md +0 -294
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/cursor-appiq.md +0 -516
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/universal-appiq.md +0 -448
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
- package/#Tools/APPIQ-METHOD/slash-commands/start.md +0 -211
- /package/#Tools/APPIQ-METHOD/{deployment/build/bmad-core/core-config.yaml → bmad-core/core-config.yaml.bak} +0 -0
@@ -0,0 +1,530 @@
|
|
1
|
+
template:
|
2
|
+
id: flutter-mobile-architecture-template-v1
|
3
|
+
name: Flutter Mobile Architecture Document
|
4
|
+
version: 1.0
|
5
|
+
output:
|
6
|
+
format: markdown
|
7
|
+
filename: docs/flutter-architecture.md
|
8
|
+
title: "{{project_name}} Flutter Mobile Architecture Document"
|
9
|
+
|
10
|
+
workflow:
|
11
|
+
mode: interactive
|
12
|
+
elicitation: advanced-elicitation
|
13
|
+
|
14
|
+
sections:
|
15
|
+
- id: introduction
|
16
|
+
title: Introduction
|
17
|
+
instruction: |
|
18
|
+
Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on mobile-specific requirements and Flutter implementation details.
|
19
|
+
elicit: true
|
20
|
+
content: |
|
21
|
+
This document outlines the Flutter mobile architecture for {{project_name}}, following Clean Architecture principles with Cubit state management, dependency injection, and multi-language support.
|
22
|
+
|
23
|
+
This architecture ensures scalable, testable, and maintainable mobile applications that can be released to production with confidence.
|
24
|
+
sections:
|
25
|
+
- id: changelog
|
26
|
+
title: Change Log
|
27
|
+
type: table
|
28
|
+
columns: [Date, Version, Description, Author]
|
29
|
+
instruction: Track document versions and changes
|
30
|
+
|
31
|
+
- id: flutter-tech-stack
|
32
|
+
title: Flutter Tech Stack
|
33
|
+
instruction: Define the complete Flutter technology stack with specific versions and rationale.
|
34
|
+
elicit: true
|
35
|
+
sections:
|
36
|
+
- id: tech-stack-table
|
37
|
+
title: Technology Stack Table
|
38
|
+
type: table
|
39
|
+
columns: [Category, Technology, Version, Purpose, Rationale]
|
40
|
+
rows:
|
41
|
+
- ["Mobile Framework", "Flutter", "{{flutter_version}}", "Cross-platform mobile development", "{{flutter_rationale}}"]
|
42
|
+
- ["Language", "Dart", "{{dart_version}}", "Programming language", "{{dart_rationale}}"]
|
43
|
+
- ["State Management", "{{state_management}}", "{{version}}", "Application state management", "{{state_rationale}}"]
|
44
|
+
- ["Dependency Injection", "get_it + injectable", "{{di_version}}", "Dependency management", "{{di_rationale}}"]
|
45
|
+
- ["Code Generation", "freezed + json_serializable", "{{codegen_version}}", "Model and serialization generation", "{{codegen_rationale}}"]
|
46
|
+
- ["Networking", "dio", "{{dio_version}}", "HTTP client", "{{dio_rationale}}"]
|
47
|
+
- ["Local Storage", "{{local_storage}}", "{{storage_version}}", "Local data persistence", "{{storage_rationale}}"]
|
48
|
+
- ["Error Handling", "dartz", "{{dartz_version}}", "Functional error handling", "{{dartz_rationale}}"]
|
49
|
+
- ["Routing", "go_router", "{{router_version}}", "Navigation and routing", "{{router_rationale}}"]
|
50
|
+
- ["Localization", "flutter_localizations", "{{l10n_version}}", "Multi-language support", "{{l10n_rationale}}"]
|
51
|
+
- ["Backend Service", "{{backend_service}}", "{{backend_version}}", "Backend integration", "{{backend_rationale}}"]
|
52
|
+
- ["Authentication", "{{auth_service}}", "{{auth_version}}", "User authentication", "{{auth_rationale}}"]
|
53
|
+
- ["Testing Framework", "flutter_test + bloc_test", "{{test_version}}", "Unit and widget testing", "{{test_rationale}}"]
|
54
|
+
- ["Build Tool", "build_runner", "{{build_version}}", "Code generation", "{{build_rationale}}"]
|
55
|
+
|
56
|
+
- id: clean-architecture
|
57
|
+
title: Clean Architecture Implementation
|
58
|
+
instruction: Define the Clean Architecture layers and their responsibilities in Flutter context.
|
59
|
+
elicit: true
|
60
|
+
sections:
|
61
|
+
- id: architecture-layers
|
62
|
+
title: Architecture Layers
|
63
|
+
template: |
|
64
|
+
**Presentation Layer (UI)**
|
65
|
+
- Pages and Widgets for user interface
|
66
|
+
- Cubit for state management
|
67
|
+
- BlocConsumer/BlocBuilder for state consumption
|
68
|
+
|
69
|
+
**Domain Layer (Business Logic)**
|
70
|
+
- Entities representing business objects
|
71
|
+
- Use Cases containing business rules
|
72
|
+
- Repository interfaces for data abstraction
|
73
|
+
|
74
|
+
**Data Layer (External Concerns)**
|
75
|
+
- Repository implementations
|
76
|
+
- Data sources (remote and local)
|
77
|
+
- Models with JSON serialization
|
78
|
+
- API clients and local storage
|
79
|
+
|
80
|
+
- id: architecture-diagram
|
81
|
+
title: Clean Architecture Diagram
|
82
|
+
type: mermaid
|
83
|
+
mermaid_type: graph
|
84
|
+
instruction: |
|
85
|
+
Create a Mermaid diagram showing the Clean Architecture layers and dependencies:
|
86
|
+
- UI Layer (Widgets, Pages, Cubits)
|
87
|
+
- Domain Layer (Entities, Use Cases, Repository Interfaces)
|
88
|
+
- Data Layer (Repository Implementations, Data Sources, Models)
|
89
|
+
- External (APIs, Databases, File System)
|
90
|
+
|
91
|
+
- id: project-structure
|
92
|
+
title: Project Structure
|
93
|
+
instruction: Define the exact Flutter project structure following Clean Architecture principles.
|
94
|
+
elicit: true
|
95
|
+
type: code
|
96
|
+
language: plaintext
|
97
|
+
template: |
|
98
|
+
lib/
|
99
|
+
├── core/ # Shared Core Functionality
|
100
|
+
│ ├── constants/ # API endpoints, app constants
|
101
|
+
│ ├── di/ # Dependency injection setup
|
102
|
+
│ │ ├── injection_container.dart
|
103
|
+
│ │ └── injection_container.config.dart
|
104
|
+
│ ├── error/ # Error handling (failures, exceptions)
|
105
|
+
│ │ ├── failures.dart
|
106
|
+
│ │ └── exceptions.dart
|
107
|
+
│ ├── network/ # Networking setup
|
108
|
+
│ │ ├── api_client.dart
|
109
|
+
│ │ └── network_info.dart
|
110
|
+
│ ├── local_storage/ # Local storage services
|
111
|
+
│ │ └── hive_service.dart
|
112
|
+
│ └── utils/ # Core utilities
|
113
|
+
│ ├── validators.dart
|
114
|
+
│ └── formatters.dart
|
115
|
+
├── features/ # Feature-based modules
|
116
|
+
│ └── {{feature_name}}/ # Individual features
|
117
|
+
│ ├── data/ # Data layer
|
118
|
+
│ │ ├── datasources/ # Remote/Local data sources
|
119
|
+
│ │ │ ├── {{feature}}_remote_datasource.dart
|
120
|
+
│ │ │ └── {{feature}}_local_datasource.dart
|
121
|
+
│ │ ├── models/ # Data models
|
122
|
+
│ │ │ └── {{feature}}_model.dart
|
123
|
+
│ │ └── repositories/ # Repository implementations
|
124
|
+
│ │ └── {{feature}}_repository_impl.dart
|
125
|
+
│ ├── domain/ # Domain layer
|
126
|
+
│ │ ├── entities/ # Business entities
|
127
|
+
│ │ │ └── {{feature}}_entity.dart
|
128
|
+
│ │ ├── repositories/ # Repository interfaces
|
129
|
+
│ │ │ └── {{feature}}_repository.dart
|
130
|
+
│ │ └── usecases/ # Business use cases
|
131
|
+
│ │ ├── get_{{feature}}_usecase.dart
|
132
|
+
│ │ ├── create_{{feature}}_usecase.dart
|
133
|
+
│ │ └── update_{{feature}}_usecase.dart
|
134
|
+
│ └── presentation/ # Presentation layer
|
135
|
+
│ ├── cubit/ # State management
|
136
|
+
│ │ ├── {{feature}}_cubit.dart
|
137
|
+
│ │ └── {{feature}}_state.dart
|
138
|
+
│ ├── pages/ # UI pages/screens
|
139
|
+
│ │ ├── {{feature}}_list_page.dart
|
140
|
+
│ │ └── {{feature}}_detail_page.dart
|
141
|
+
│ └── widgets/ # Feature-specific widgets
|
142
|
+
│ └── {{feature}}_list_item.dart
|
143
|
+
├── shared/ # Shared UI components
|
144
|
+
│ ├── theme/ # Theme management
|
145
|
+
│ │ ├── app_theme.dart
|
146
|
+
│ │ └── theme_cubit.dart
|
147
|
+
│ ├── widgets/ # Reusable widgets
|
148
|
+
│ │ ├── base_scaffold.dart
|
149
|
+
│ │ ├── loading_widget.dart
|
150
|
+
│ │ └── error_widget.dart
|
151
|
+
│ ├── constants/ # UI constants
|
152
|
+
│ │ └── app_constants.dart
|
153
|
+
│ └── utils/ # Shared utilities
|
154
|
+
│ ├── navigation_service.dart
|
155
|
+
│ └── dialog_service.dart
|
156
|
+
├── l10n/ # Localization
|
157
|
+
│ ├── app_en.arb # English translations
|
158
|
+
│ ├── app_de.arb # German translations
|
159
|
+
│ └── l10n.yaml # Localization configuration
|
160
|
+
└── main.dart # Application entry point
|
161
|
+
|
162
|
+
- id: state-management-architecture
|
163
|
+
title: State Management Architecture
|
164
|
+
instruction: Define the Cubit-based state management approach with detailed patterns.
|
165
|
+
elicit: true
|
166
|
+
sections:
|
167
|
+
- id: cubit-pattern
|
168
|
+
title: Cubit Pattern Implementation
|
169
|
+
type: code
|
170
|
+
language: dart
|
171
|
+
template: |
|
172
|
+
// State class with Equatable
|
173
|
+
class {{Feature}}State extends Equatable {
|
174
|
+
const {{Feature}}State({
|
175
|
+
this.status = {{Feature}}Status.initial,
|
176
|
+
this.{{feature}}s = const [],
|
177
|
+
this.selectedEntity,
|
178
|
+
this.message,
|
179
|
+
});
|
180
|
+
|
181
|
+
final {{Feature}}Status status;
|
182
|
+
final List<{{Feature}}Entity> {{feature}}s;
|
183
|
+
final {{Feature}}Entity? selectedEntity;
|
184
|
+
final String? message;
|
185
|
+
|
186
|
+
{{Feature}}State copyWith({
|
187
|
+
{{Feature}}Status? status,
|
188
|
+
List<{{Feature}}Entity>? {{feature}}s,
|
189
|
+
{{Feature}}Entity? selectedEntity,
|
190
|
+
String? message,
|
191
|
+
}) {
|
192
|
+
return {{Feature}}State(
|
193
|
+
status: status ?? this.status,
|
194
|
+
{{feature}}s: {{feature}}s ?? this.{{feature}}s,
|
195
|
+
selectedEntity: selectedEntity ?? this.selectedEntity,
|
196
|
+
message: message ?? this.message,
|
197
|
+
);
|
198
|
+
}
|
199
|
+
|
200
|
+
@override
|
201
|
+
List<Object?> get props => [status, {{feature}}s, selectedEntity, message];
|
202
|
+
}
|
203
|
+
|
204
|
+
enum {{Feature}}Status { initial, loading, success, failure }
|
205
|
+
|
206
|
+
// Cubit implementation
|
207
|
+
@injectable
|
208
|
+
class {{Feature}}Cubit extends Cubit<{{Feature}}State> {
|
209
|
+
{{Feature}}Cubit(this._useCase) : super(const {{Feature}}State());
|
210
|
+
|
211
|
+
final Get{{Feature}}sUseCase _useCase;
|
212
|
+
|
213
|
+
Future<void> get{{Feature}}s() async {
|
214
|
+
emit(state.copyWith(status: {{Feature}}Status.loading));
|
215
|
+
|
216
|
+
final result = await _useCase();
|
217
|
+
result.fold(
|
218
|
+
(failure) => emit(state.copyWith(
|
219
|
+
status: {{Feature}}Status.failure,
|
220
|
+
message: failure.message,
|
221
|
+
)),
|
222
|
+
({{feature}}s) => emit(state.copyWith(
|
223
|
+
status: {{Feature}}Status.success,
|
224
|
+
{{feature}}s: {{feature}}s,
|
225
|
+
)),
|
226
|
+
);
|
227
|
+
}
|
228
|
+
}
|
229
|
+
|
230
|
+
- id: dependency-injection
|
231
|
+
title: Dependency Injection Setup
|
232
|
+
instruction: Define the dependency injection configuration using get_it and injectable.
|
233
|
+
elicit: true
|
234
|
+
sections:
|
235
|
+
- id: di-setup
|
236
|
+
title: DI Container Setup
|
237
|
+
type: code
|
238
|
+
language: dart
|
239
|
+
template: |
|
240
|
+
// injection_container.dart
|
241
|
+
import 'package:get_it/get_it.dart';
|
242
|
+
import 'package:injectable/injectable.dart';
|
243
|
+
import 'injection_container.config.dart';
|
244
|
+
|
245
|
+
final getIt = GetIt.instance;
|
246
|
+
|
247
|
+
@InjectableInit(
|
248
|
+
initializerName: 'init',
|
249
|
+
preferRelativeImports: true,
|
250
|
+
asExtension: true,
|
251
|
+
)
|
252
|
+
Future<void> configureDependencies() async => getIt.init();
|
253
|
+
|
254
|
+
// Usage in main.dart
|
255
|
+
void main() async {
|
256
|
+
WidgetsFlutterBinding.ensureInitialized();
|
257
|
+
await configureDependencies();
|
258
|
+
runApp(MyApp());
|
259
|
+
}
|
260
|
+
|
261
|
+
- id: localization-setup
|
262
|
+
title: Localization Setup
|
263
|
+
instruction: Define the multi-language support implementation with ARB files.
|
264
|
+
elicit: true
|
265
|
+
sections:
|
266
|
+
- id: l10n-config
|
267
|
+
title: Localization Configuration
|
268
|
+
type: code
|
269
|
+
language: yaml
|
270
|
+
template: |
|
271
|
+
# l10n.yaml
|
272
|
+
arb-dir: lib/l10n
|
273
|
+
template-arb-file: app_en.arb
|
274
|
+
output-localization-file: app_localizations.dart
|
275
|
+
output-class: AppLocalizations
|
276
|
+
|
277
|
+
- id: arb-example
|
278
|
+
title: ARB File Example
|
279
|
+
type: code
|
280
|
+
language: json
|
281
|
+
template: |
|
282
|
+
// app_en.arb
|
283
|
+
{
|
284
|
+
"@@locale": "en",
|
285
|
+
"appTitle": "{{project_name}}",
|
286
|
+
"@appTitle": {
|
287
|
+
"description": "The title of the application"
|
288
|
+
},
|
289
|
+
"welcomeMessage": "Welcome, {userName}!",
|
290
|
+
"@welcomeMessage": {
|
291
|
+
"description": "Welcome message with user name",
|
292
|
+
"placeholders": {
|
293
|
+
"userName": {
|
294
|
+
"type": "String",
|
295
|
+
"example": "John"
|
296
|
+
}
|
297
|
+
}
|
298
|
+
},
|
299
|
+
"loading": "Loading...",
|
300
|
+
"error": "An error occurred",
|
301
|
+
"retry": "Retry",
|
302
|
+
"cancel": "Cancel",
|
303
|
+
"save": "Save",
|
304
|
+
"delete": "Delete",
|
305
|
+
"edit": "Edit"
|
306
|
+
}
|
307
|
+
|
308
|
+
- id: backend-integration
|
309
|
+
title: Backend Integration
|
310
|
+
instruction: Define the backend service integration (Firebase, Supabase, or custom API).
|
311
|
+
elicit: true
|
312
|
+
sections:
|
313
|
+
- id: api-client-setup
|
314
|
+
title: API Client Configuration
|
315
|
+
type: code
|
316
|
+
language: dart
|
317
|
+
template: |
|
318
|
+
// api_client.dart
|
319
|
+
@LazySingleton()
|
320
|
+
class ApiClient {
|
321
|
+
late final Dio _dio;
|
322
|
+
|
323
|
+
ApiClient() {
|
324
|
+
_dio = Dio(
|
325
|
+
BaseOptions(
|
326
|
+
baseUrl: '{{api_base_url}}',
|
327
|
+
connectTimeout: const Duration(seconds: 30),
|
328
|
+
receiveTimeout: const Duration(seconds: 30),
|
329
|
+
headers: {
|
330
|
+
'Content-Type': 'application/json',
|
331
|
+
'Accept': 'application/json',
|
332
|
+
},
|
333
|
+
),
|
334
|
+
);
|
335
|
+
|
336
|
+
_dio.interceptors.add(LogInterceptor());
|
337
|
+
_dio.interceptors.add(AuthInterceptor());
|
338
|
+
}
|
339
|
+
|
340
|
+
Future<Response> get(String path) => _dio.get(path);
|
341
|
+
Future<Response> post(String path, {dynamic data}) => _dio.post(path, data: data);
|
342
|
+
Future<Response> put(String path, {dynamic data}) => _dio.put(path, data: data);
|
343
|
+
Future<Response> delete(String path) => _dio.delete(path);
|
344
|
+
}
|
345
|
+
|
346
|
+
- id: testing-strategy
|
347
|
+
title: Testing Strategy
|
348
|
+
instruction: Define comprehensive testing approach for Flutter Clean Architecture.
|
349
|
+
elicit: true
|
350
|
+
sections:
|
351
|
+
- id: testing-pyramid
|
352
|
+
title: Testing Pyramid
|
353
|
+
template: |
|
354
|
+
**Unit Tests** (70%)
|
355
|
+
- Use Cases testing
|
356
|
+
- Repository testing
|
357
|
+
- Cubit testing
|
358
|
+
- Utility function testing
|
359
|
+
|
360
|
+
**Widget Tests** (20%)
|
361
|
+
- Individual widget testing
|
362
|
+
- Widget interaction testing
|
363
|
+
- UI component testing
|
364
|
+
|
365
|
+
**Integration Tests** (10%)
|
366
|
+
- End-to-end feature testing
|
367
|
+
- API integration testing
|
368
|
+
- Navigation flow testing
|
369
|
+
|
370
|
+
- id: test-examples
|
371
|
+
title: Test Examples
|
372
|
+
type: code
|
373
|
+
language: dart
|
374
|
+
template: |
|
375
|
+
// Use Case Test
|
376
|
+
void main() {
|
377
|
+
group('Get{{Feature}}sUseCase', () {
|
378
|
+
late {{Feature}}Repository mockRepository;
|
379
|
+
late Get{{Feature}}sUseCase useCase;
|
380
|
+
|
381
|
+
setUp(() {
|
382
|
+
mockRepository = Mock{{Feature}}Repository();
|
383
|
+
useCase = Get{{Feature}}sUseCase(mockRepository);
|
384
|
+
});
|
385
|
+
|
386
|
+
test('should return list of {{feature}}s when repository call is successful', () async {
|
387
|
+
// arrange
|
388
|
+
final {{feature}}List = [{{Feature}}Entity(id: '1', name: 'Test')];
|
389
|
+
when(() => mockRepository.get{{Feature}}s())
|
390
|
+
.thenAnswer((_) async => Right({{feature}}List));
|
391
|
+
|
392
|
+
// act
|
393
|
+
final result = await useCase();
|
394
|
+
|
395
|
+
// assert
|
396
|
+
expect(result, Right({{feature}}List));
|
397
|
+
verify(() => mockRepository.get{{Feature}}s()).called(1);
|
398
|
+
});
|
399
|
+
});
|
400
|
+
}
|
401
|
+
|
402
|
+
- id: security-implementation
|
403
|
+
title: Security Implementation
|
404
|
+
instruction: Define security measures and best practices for Flutter mobile app.
|
405
|
+
elicit: true
|
406
|
+
sections:
|
407
|
+
- id: security-checklist
|
408
|
+
title: Security Checklist
|
409
|
+
template: |
|
410
|
+
**Data Security**
|
411
|
+
- [ ] Use flutter_secure_storage for sensitive data
|
412
|
+
- [ ] Implement certificate pinning for API calls
|
413
|
+
- [ ] Validate all user inputs
|
414
|
+
- [ ] Encrypt local database if needed
|
415
|
+
|
416
|
+
**Authentication Security**
|
417
|
+
- [ ] Secure token storage
|
418
|
+
- [ ] Implement token refresh mechanism
|
419
|
+
- [ ] Handle authentication errors properly
|
420
|
+
- [ ] Implement biometric authentication if required
|
421
|
+
|
422
|
+
**Network Security**
|
423
|
+
- [ ] Use HTTPS for all API calls
|
424
|
+
- [ ] Implement request/response logging (excluding sensitive data)
|
425
|
+
- [ ] Handle network errors securely
|
426
|
+
- [ ] Implement timeout configurations
|
427
|
+
|
428
|
+
**Code Security**
|
429
|
+
- [ ] Obfuscate release builds
|
430
|
+
- [ ] Remove debug information from release
|
431
|
+
- [ ] Validate all external data
|
432
|
+
- [ ] Implement proper error handling
|
433
|
+
|
434
|
+
- id: performance-optimization
|
435
|
+
title: Performance Optimization
|
436
|
+
instruction: Define performance optimization strategies for Flutter app.
|
437
|
+
elicit: true
|
438
|
+
sections:
|
439
|
+
- id: performance-guidelines
|
440
|
+
title: Performance Guidelines
|
441
|
+
template: |
|
442
|
+
**Widget Performance**
|
443
|
+
- Use const constructors wherever possible
|
444
|
+
- Implement proper widget keys for list items
|
445
|
+
- Avoid rebuilding expensive widgets unnecessarily
|
446
|
+
- Use RepaintBoundary for complex widgets
|
447
|
+
|
448
|
+
**State Management Performance**
|
449
|
+
- Keep state as local as possible
|
450
|
+
- Use proper Equatable implementation
|
451
|
+
- Avoid emitting identical states
|
452
|
+
- Implement proper loading states
|
453
|
+
|
454
|
+
**Network Performance**
|
455
|
+
- Implement proper caching strategies
|
456
|
+
- Use image caching for network images
|
457
|
+
- Implement pagination for large data sets
|
458
|
+
- Handle offline scenarios gracefully
|
459
|
+
|
460
|
+
**Memory Management**
|
461
|
+
- Dispose controllers and streams properly
|
462
|
+
- Use object pooling for frequently created objects
|
463
|
+
- Monitor memory usage in debug mode
|
464
|
+
- Implement proper error boundaries
|
465
|
+
|
466
|
+
- id: deployment-strategy
|
467
|
+
title: Deployment Strategy
|
468
|
+
instruction: Define the deployment process for iOS and Android.
|
469
|
+
elicit: true
|
470
|
+
sections:
|
471
|
+
- id: build-configuration
|
472
|
+
title: Build Configuration
|
473
|
+
template: |
|
474
|
+
**Android Configuration**
|
475
|
+
- Minimum SDK: {{min_sdk_version}}
|
476
|
+
- Target SDK: {{target_sdk_version}}
|
477
|
+
- Build variants: debug, release
|
478
|
+
- Signing configuration for release builds
|
479
|
+
- ProGuard/R8 obfuscation enabled
|
480
|
+
|
481
|
+
**iOS Configuration**
|
482
|
+
- Minimum iOS version: {{min_ios_version}}
|
483
|
+
- Build configurations: Debug, Release
|
484
|
+
- Code signing for distribution
|
485
|
+
- App Transport Security configuration
|
486
|
+
|
487
|
+
**CI/CD Pipeline**
|
488
|
+
- Automated testing on pull requests
|
489
|
+
- Automated builds for releases
|
490
|
+
- Code quality checks (linting, analysis)
|
491
|
+
- Security scanning
|
492
|
+
- Automated deployment to app stores
|
493
|
+
|
494
|
+
- id: development-workflow
|
495
|
+
title: Development Workflow
|
496
|
+
instruction: Define the standard development workflow for Flutter features.
|
497
|
+
elicit: true
|
498
|
+
sections:
|
499
|
+
- id: feature-development-process
|
500
|
+
title: Feature Development Process
|
501
|
+
template: |
|
502
|
+
**Standard Workflow**
|
503
|
+
1. Think through the problem and read existing codebase
|
504
|
+
2. Write implementation plan to tasks/todo.md with checkable items
|
505
|
+
3. Get plan verified before beginning work
|
506
|
+
4. Work on todo items marking them complete as you go
|
507
|
+
5. Provide high-level explanations of changes made
|
508
|
+
6. Keep changes simple - impact as little code as possible
|
509
|
+
7. Add review section to todo.md with summary
|
510
|
+
8. Make git commit after each fully finished task
|
511
|
+
|
512
|
+
**Agent Workflow (UI → Cubit → Domain → Data)**
|
513
|
+
1. **UI Agent**: Design and implement user interface
|
514
|
+
2. **Cubit Agent**: Implement state management based on UI requirements
|
515
|
+
3. **Domain Agent**: Create business logic based on Cubit needs
|
516
|
+
4. **Data Agent**: Implement data layer based on domain requirements
|
517
|
+
5. **Shared Components Agent**: Extract reusable components
|
518
|
+
|
519
|
+
**Quality Gates**
|
520
|
+
- All code follows DRY principles
|
521
|
+
- Code is readable and well-documented
|
522
|
+
- Architecture is maintainable and scalable
|
523
|
+
- Performance requirements are met
|
524
|
+
- All code is thoroughly tested
|
525
|
+
- Security requirements are satisfied
|
526
|
+
- All text uses localization keys
|
527
|
+
|
528
|
+
- id: checklist-results
|
529
|
+
title: Checklist Results Report
|
530
|
+
instruction: Execute flutter-architecture-checklist and populate results here.
|