appiq-solution 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/#NEW APP PROMPT/ARCHITECTURE.md +279 -0
- package/#NEW APP PROMPT/ARCHITECTURE_UNIFIED.md +414 -0
- package/#NEW APP PROMPT/accesibility_prompt.md +103 -0
- package/#NEW APP PROMPT/clean-code.mdc +55 -0
- package/#NEW APP PROMPT/codequality.mdc +47 -0
- package/#NEW APP PROMPT/flutter-ai-rules/LICENSE +21 -0
- package/#NEW APP PROMPT/flutter-ai-rules/README.md +104 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/README.md +25 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart.md +192 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart__under_6K.md +99 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail.md +308 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_bloc_mocktail__under_6K.md +87 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier.md +254 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_change_notifier__under_6K.md +98 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider.md +261 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_provider__under_6K.md +105 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito.md +371 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_dart_riverpod_mockito__under_6K.md +92 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc.md +287 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_bloc__under_6K.md +68 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod.md +375 -0
- package/#NEW APP PROMPT/flutter-ai-rules/combined/flutter_with_riverpod__under_6K.md +106 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/flutter_ai_rules.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_01.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/media/mocktail_md_02.png +0 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/bloc.md +94 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/dart_3_updates.md +93 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/effective_dart.md +105 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_app_architecture.md +57 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_change_notifier.md +62 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/flutter_errors.md +11 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/mockito.md +31 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/mocktail.md +24 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/provider.md +69 -0
- package/#NEW APP PROMPT/flutter-ai-rules/rules/riverpod.md +188 -0
- package/#NEW APP PROMPT/generate ssh.md +4 -0
- package/#NEW APP PROMPT/project_ai_prompt.md +544 -0
- package/{CHANGELOG.md → #Tools/APPIQ-METHOD/CHANGELOG.md} +173 -119
- package/#Tools/APPIQ-METHOD/README.md +139 -0
- package/#Tools/APPIQ-METHOD/appiq_start.md +232 -0
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/architect.md +0 -6
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/bmad-orchestrator.md +84 -0
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/dev.md +9 -23
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/pm.md +1 -3
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/qa.md +0 -17
- package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +3 -0
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/fullstack-architecture-tmpl.yaml +5 -12
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/user-guide.md +9 -10
- package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/working-in-the-brownfield.md +36 -39
- package/#Tools/APPIQ-METHOD/deployment/DEPLOYMENT_GUIDE.md +426 -0
- package/#Tools/APPIQ-METHOD/deployment/GITHUB_RELEASE_GUIDE.md +326 -0
- package/#Tools/APPIQ-METHOD/deployment/README.md +331 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-all.yaml +14 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-fullstack.yaml +18 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-ide-minimal.yaml +10 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-no-ui.yaml +13 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/analyst.md +81 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/architect.md +84 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-master.md +108 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-orchestrator.md +234 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/dev.md +76 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/pm.md +79 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/po.md +76 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/qa.md +69 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/sm.md +62 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/ux-expert.md +66 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/architect-checklist.md +443 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/change-checklist.md +182 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/pm-checklist.md +375 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/po-master-checklist.md +441 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-dod-checklist.md +101 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-draft-checklist.md +156 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/bmad-kb.md +803 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/brainstorming-techniques.md +36 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/elicitation-methods.md +134 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/technical-preferences.md +3 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/advanced-elicitation.md +117 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-epic.md +160 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-story.md +147 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/correct-course.md +70 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-brownfield-story.md +304 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-deep-research-prompt.md +289 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-next-story.md +112 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/document-project.md +341 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/generate-ai-frontend-prompt.md +51 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/index-docs.md +179 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/kb-mode-interaction.md +75 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/review-story.md +145 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/shard-doc.md +187 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/validate-next-story.md +134 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/architecture-tmpl.yaml +650 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/market-research-tmpl.yaml +252 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/prd-tmpl.yaml +202 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/project-brief-tmpl.yaml +221 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/story-tmpl.yaml +137 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/user-guide.md +250 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-fullstack.yaml +297 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-service.yaml +187 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-ui.yaml +197 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-fullstack.yaml +240 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-service.yaml +206 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-ui.yaml +235 -0
- package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/working-in-the-brownfield.md +361 -0
- package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/config.yaml +1 -1
- package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/config.yaml +1 -1
- package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/config.yaml +1 -1
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +22 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +20 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +13 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +20 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +1487 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +279 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +649 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +339 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +622 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +1027 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +1451 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +490 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/config.yaml +54 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +292 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +483 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +645 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +489 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +437 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +408 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +555 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +336 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +345 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +281 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +283 -0
- package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +404 -0
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/appiq.md +273 -0
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/claude-appiq.md +294 -0
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/cursor-appiq.md +516 -0
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/universal-appiq.md +448 -0
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/windsurf-appiq.md +698 -0
- package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/start.md +211 -0
- package/#Tools/APPIQ-METHOD/deployment/build-release.sh +449 -0
- package/#Tools/APPIQ-METHOD/deployment/create-release.sh +196 -0
- package/#Tools/APPIQ-METHOD/deployment/dist/appiq_installer.sh +678 -0
- package/#Tools/APPIQ-METHOD/deployment/docs/main_prd.md +36 -0
- package/#Tools/APPIQ-METHOD/deployment/init_appiq.sh +805 -0
- package/#Tools/APPIQ-METHOD/deployment/init_appiq_v2.sh +678 -0
- package/#Tools/APPIQ-METHOD/deployment/installers/appiq-global.sh +91 -0
- package/#Tools/APPIQ-METHOD/deployment/installers/claude-integration.sh +281 -0
- package/#Tools/APPIQ-METHOD/deployment/installers/cursor-integration.sh +257 -0
- package/#Tools/APPIQ-METHOD/deployment/installers/terminal-integration.sh +645 -0
- package/#Tools/APPIQ-METHOD/deployment/installers/windsurf-integration.sh +350 -0
- package/#Tools/APPIQ-METHOD/deployment/package-v2.sh +97 -0
- package/#Tools/APPIQ-METHOD/deployment/package.sh +363 -0
- package/#Tools/APPIQ-METHOD/deployment/quick-install.sh +57 -0
- package/#Tools/APPIQ-METHOD/dist/agents/analyst.txt +2882 -0
- package/#Tools/APPIQ-METHOD/dist/agents/architect.txt +3543 -0
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-master.txt +8756 -0
- package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +1601 -0
- package/#Tools/APPIQ-METHOD/dist/agents/dev.txt +428 -0
- package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +2227 -0
- package/#Tools/APPIQ-METHOD/dist/agents/po.txt +1364 -0
- package/#Tools/APPIQ-METHOD/dist/agents/qa.txt +386 -0
- package/#Tools/APPIQ-METHOD/dist/agents/sm.txt +668 -0
- package/#Tools/APPIQ-METHOD/dist/agents/ux-expert.txt +701 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +2408 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +1631 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +822 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +11100 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +4047 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +3744 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +465 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +990 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +15578 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +2077 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +1530 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +322 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +692 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +382 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +665 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +1070 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +1494 -0
- package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +15613 -0
- package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +11171 -0
- package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +10501 -0
- package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +3618 -0
- package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +9060 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/README.md +3 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +13 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +71 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +78 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +64 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +201 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +160 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +8 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +254 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +651 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +111 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +216 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +308 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +183 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +175 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +14 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +80 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +77 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +78 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +65 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +396 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +203 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +201 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +132 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/config.yaml +6 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +776 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +590 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +111 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +151 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +184 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +308 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +200 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +1030 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +356 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +705 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +256 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +183 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +175 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/README.md +147 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +71 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +484 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/config.yaml +9 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +308 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +160 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +154 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +22 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +20 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +13 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +20 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +1487 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +279 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +649 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +339 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +622 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +1027 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +1451 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +490 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/config.yaml +54 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +292 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +483 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +645 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +489 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +437 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +408 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +555 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +336 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +345 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +281 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +283 -0
- package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +404 -0
- package/#Tools/APPIQ-METHOD/package-bmad-backup.json +78 -0
- package/#Tools/APPIQ-METHOD/package.json +93 -0
- package/#Tools/APPIQ-METHOD/slash-commands/appiq.md +273 -0
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/claude-appiq.md +294 -0
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/cursor-appiq.md +516 -0
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/universal-appiq.md +448 -0
- package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/windsurf-appiq.md +698 -0
- package/#Tools/APPIQ-METHOD/slash-commands/start.md +211 -0
- package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +41 -0
- package/#Tools/APPIQ-METHOD/tools/builders/web-builder.js +681 -0
- package/#Tools/APPIQ-METHOD/tools/bump-all-versions.js +106 -0
- package/#Tools/APPIQ-METHOD/tools/bump-expansion-version.js +83 -0
- package/#Tools/APPIQ-METHOD/tools/cli.js +152 -0
- package/#Tools/APPIQ-METHOD/tools/installer/README.md +8 -0
- package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +469 -0
- package/#Tools/APPIQ-METHOD/tools/installer/config/ide-agent-config.yaml +58 -0
- package/#Tools/APPIQ-METHOD/tools/installer/config/install.config.yaml +92 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/config-loader.js +253 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/file-manager.js +411 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-base-setup.js +227 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/ide-setup.js +1096 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +1746 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/memory-profiler.js +224 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/module-manager.js +110 -0
- package/#Tools/APPIQ-METHOD/tools/installer/lib/resource-locator.js +310 -0
- package/#Tools/APPIQ-METHOD/tools/installer/package.json +43 -0
- package/#Tools/APPIQ-METHOD/tools/lib/dependency-resolver.js +179 -0
- package/#Tools/APPIQ-METHOD/tools/lib/yaml-utils.js +29 -0
- package/#Tools/APPIQ-METHOD/tools/md-assets/web-agent-startup-instructions.md +39 -0
- package/#Tools/APPIQ-METHOD/tools/semantic-release-sync-installer.js +30 -0
- package/#Tools/APPIQ-METHOD/tools/sync-installer-version.js +34 -0
- package/#Tools/APPIQ-METHOD/tools/update-expansion-version.js +54 -0
- package/#Tools/APPIQ-METHOD/tools/upgraders/v3-to-v4-upgrader.js +763 -0
- package/#Tools/APPIQ-METHOD/tools/version-bump.js +79 -0
- package/#Tools/APPIQ-METHOD/tools/yaml-format.js +240 -0
- package/#Tools/SkyReels-V2/.pre-commit-config.yaml +25 -0
- package/#Tools/SkyReels-V2/LICENSE.txt +38 -0
- package/#Tools/SkyReels-V2/README.md +766 -0
- package/#Tools/SkyReels-V2/generate_video.py +161 -0
- package/#Tools/SkyReels-V2/generate_video_df.py +220 -0
- package/#Tools/SkyReels-V2/requirements.txt +16 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/README.md +278 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test.csv +5 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/examples/test_result.csv +5 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/infer_fusion_caption.sh +9 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/infer_struct_caption.sh +8 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/requirements.txt +3 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_fusion_caption.py +146 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/gradio_struct_caption.py +92 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/utils.py +19 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_fusion_caption.py +256 -0
- package/#Tools/SkyReels-V2/skycaptioner_v1/scripts/vllm_struct_caption.py +156 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/__init__.py +1 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/distributed/xdit_context_parallel.py +286 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/__init__.py +69 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/attention.py +179 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/clip.py +525 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/t5.py +454 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/tokenizers.py +78 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/transformer.py +839 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/vae.py +639 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/modules/xlm_roberta.py +165 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/__init__.py +5 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/diffusion_forcing_pipeline.py +659 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/image2video_pipeline.py +156 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/prompt_enhancer.py +65 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/pipelines/text2video_pipeline.py +110 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/__init__.py +0 -0
- package/#Tools/SkyReels-V2/skyreels_v2_infer/scheduler/fm_solvers_unipc.py +759 -0
- package/#Tools/SuperClaude/.claude/commands/analyze.md +36 -0
- package/#Tools/SuperClaude/.claude/commands/build.md +35 -0
- package/#Tools/SuperClaude/.claude/commands/cleanup.md +46 -0
- package/#Tools/SuperClaude/.claude/commands/deploy.md +55 -0
- package/#Tools/SuperClaude/.claude/commands/design.md +91 -0
- package/#Tools/SuperClaude/.claude/commands/dev-setup.md +37 -0
- package/#Tools/SuperClaude/.claude/commands/document.md +99 -0
- package/#Tools/SuperClaude/.claude/commands/estimate.md +69 -0
- package/#Tools/SuperClaude/.claude/commands/explain.md +85 -0
- package/#Tools/SuperClaude/.claude/commands/git.md +47 -0
- package/#Tools/SuperClaude/.claude/commands/improve.md +162 -0
- package/#Tools/SuperClaude/.claude/commands/index.md +159 -0
- package/#Tools/SuperClaude/.claude/commands/load.md +65 -0
- package/#Tools/SuperClaude/.claude/commands/migrate.md +76 -0
- package/#Tools/SuperClaude/.claude/commands/scan.md +163 -0
- package/#Tools/SuperClaude/.claude/commands/shared/ambiguity-check.yml +40 -0
- package/#Tools/SuperClaude/.claude/commands/shared/audit.yml +21 -0
- package/#Tools/SuperClaude/.claude/commands/shared/checkpoint.yml +28 -0
- package/#Tools/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +107 -0
- package/#Tools/SuperClaude/.claude/commands/shared/command-memory.yml +52 -0
- package/#Tools/SuperClaude/.claude/commands/shared/command-templates.yml +167 -0
- package/#Tools/SuperClaude/.claude/commands/shared/config-validator.yml +206 -0
- package/#Tools/SuperClaude/.claude/commands/shared/constants.yml +311 -0
- package/#Tools/SuperClaude/.claude/commands/shared/documentation-dirs.yml +134 -0
- package/#Tools/SuperClaude/.claude/commands/shared/error-handling.yml +341 -0
- package/#Tools/SuperClaude/.claude/commands/shared/evidence.yml +75 -0
- package/#Tools/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +277 -0
- package/#Tools/SuperClaude/.claude/commands/shared/git-operations.yml +217 -0
- package/#Tools/SuperClaude/.claude/commands/shared/git-workflow.yml +37 -0
- package/#Tools/SuperClaude/.claude/commands/shared/implementation.yml +199 -0
- package/#Tools/SuperClaude/.claude/commands/shared/loading-config.yml +73 -0
- package/#Tools/SuperClaude/.claude/commands/shared/mcp-flags.yml +109 -0
- package/#Tools/SuperClaude/.claude/commands/shared/migration-report.md +165 -0
- package/#Tools/SuperClaude/.claude/commands/shared/patterns.yml +155 -0
- package/#Tools/SuperClaude/.claude/commands/shared/performance.yml +317 -0
- package/#Tools/SuperClaude/.claude/commands/shared/planning-mode.yml +51 -0
- package/#Tools/SuperClaude/.claude/commands/shared/research-first.yml +278 -0
- package/#Tools/SuperClaude/.claude/commands/shared/session-recovery.yml +144 -0
- package/#Tools/SuperClaude/.claude/commands/shared/severity-levels.yml +252 -0
- package/#Tools/SuperClaude/.claude/commands/shared/task-system.yml +380 -0
- package/#Tools/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +88 -0
- package/#Tools/SuperClaude/.claude/commands/shared/templates/feature-template.md +59 -0
- package/#Tools/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +26 -0
- package/#Tools/SuperClaude/.claude/commands/shared/thinking-modes.yml +61 -0
- package/#Tools/SuperClaude/.claude/commands/shared/ultracompressed.yml +97 -0
- package/#Tools/SuperClaude/.claude/commands/shared/user-experience.yml +208 -0
- package/#Tools/SuperClaude/.claude/commands/shared/validation.yml +54 -0
- package/#Tools/SuperClaude/.claude/commands/shared/workflow-chains.yml +138 -0
- package/#Tools/SuperClaude/.claude/commands/spawn.md +106 -0
- package/#Tools/SuperClaude/.claude/commands/task.md +110 -0
- package/#Tools/SuperClaude/.claude/commands/test.md +67 -0
- package/#Tools/SuperClaude/.claude/commands/troubleshoot.md +93 -0
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +114 -0
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +119 -0
- package/#Tools/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +87 -0
- package/#Tools/SuperClaude/.github/pull_request_template.md +62 -0
- package/#Tools/SuperClaude/CHANGELOG.md +109 -0
- package/#Tools/SuperClaude/CLAUDE.md +95 -0
- package/#Tools/SuperClaude/CODE_OF_CONDUCT.md +45 -0
- package/#Tools/SuperClaude/CONTRIBUTING.md +225 -0
- package/#Tools/SuperClaude/Commands_Cheat_Sheet.md +160 -0
- package/#Tools/SuperClaude/LICENSE +21 -0
- package/#Tools/SuperClaude/MCP.md +117 -0
- package/#Tools/SuperClaude/PERSONAS.md +115 -0
- package/#Tools/SuperClaude/README.md +249 -0
- package/#Tools/SuperClaude/RULES.md +220 -0
- package/#Tools/SuperClaude/SECURITY.md +91 -0
- package/#Tools/SuperClaude/install.sh +296 -0
- package/#Tools/claude-talk-to-figma-mcp/.github/workflows/test.yml +36 -0
- package/#Tools/claude-talk-to-figma-mcp/CHANGELOG.md +88 -0
- package/#Tools/claude-talk-to-figma-mcp/Dockerfile +16 -0
- package/#Tools/claude-talk-to-figma-mcp/LICENSE +22 -0
- package/#Tools/claude-talk-to-figma-mcp/TESTING.md +216 -0
- package/#Tools/claude-talk-to-figma-mcp/bun.lock +964 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/00-analisis.md +151 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/01-tools-refactor.md +370 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/02-tools-refactor-backlog.md +253 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/03-tools-refactor-test.md +138 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-channel-error.md +133 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/04-tools-refactor-test-backlog.md +0 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/05-tools-refactor-four-tools-error.md +356 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/06-tools-refactor-four-tools-error-backlog.md +425 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01/prompt-dev-nodejs-bun.md +105 -0
- package/#Tools/claude-talk-to-figma-mcp/context/01-prompt.md +135 -0
- package/#Tools/claude-talk-to-figma-mcp/context/02/00-analisis.md +131 -0
- package/#Tools/claude-talk-to-figma-mcp/context/02/01-plan.md +162 -0
- package/#Tools/claude-talk-to-figma-mcp/context/02/02-backlog.md +241 -0
- package/#Tools/claude-talk-to-figma-mcp/context/02-analisis.md +202 -0
- package/#Tools/claude-talk-to-figma-mcp/context/99-notas.md +139 -0
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-analisis.md +221 -0
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-claude-tests.md +152 -0
- package/#Tools/claude-talk-to-figma-mcp/context/pr-14/pr-14-npm-publishing.md +272 -0
- package/#Tools/claude-talk-to-figma-mcp/images/claude-talk-to-figma.png +0 -0
- package/#Tools/claude-talk-to-figma-mcp/images/mcp-figma-plugin-configuration.png +0 -0
- package/#Tools/claude-talk-to-figma-mcp/jest.config.cjs +25 -0
- package/#Tools/claude-talk-to-figma-mcp/package.json +67 -0
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-es.md +82 -0
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-gal.md +80 -0
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-especialista-pt.md +80 -0
- package/#Tools/claude-talk-to-figma-mcp/prompts/prompt-ux-ui-specialist.md +80 -0
- package/#Tools/claude-talk-to-figma-mcp/readme.md +307 -0
- package/#Tools/claude-talk-to-figma-mcp/scripts/configure-claude.js +90 -0
- package/#Tools/claude-talk-to-figma-mcp/scripts/setup.sh +30 -0
- package/#Tools/claude-talk-to-figma-mcp/scripts/test-integration.js +339 -0
- package/#Tools/claude-talk-to-figma-mcp/smithery.yaml +26 -0
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/code.js +3295 -0
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/manifest.json +24 -0
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/setcharacters.js +215 -0
- package/#Tools/claude-talk-to-figma-mcp/src/claude_mcp_plugin/ui.html +656 -0
- package/#Tools/claude-talk-to-figma-mcp/src/socket.ts +349 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/bun.lock +246 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/config/config.ts +22 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/package.json +31 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/prompts/index.ts +297 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/server.ts +62 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/component-tools.ts +48 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/creation-tools.ts +620 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/document-tools.ts +390 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/index.ts +28 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/modification-tools.ts +408 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tools/text-tools.ts +531 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/tsconfig.json +18 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/color.ts +13 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/types/index.ts +87 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/defaults.ts +23 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/figma-helpers.ts +142 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/logger.ts +8 -0
- package/#Tools/claude-talk-to-figma-mcp/src/talk_to_figma_mcp/utils/websocket.ts +258 -0
- package/#Tools/claude-talk-to-figma-mcp/tests/fixtures/test-data.ts +32 -0
- package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-fill-color.test.ts +309 -0
- package/#Tools/claude-talk-to-figma-mcp/tests/integration/set-stroke-color.test.ts +387 -0
- package/#Tools/claude-talk-to-figma-mcp/tests/setup.ts +7 -0
- package/#Tools/claude-talk-to-figma-mcp/tests/unit/utils/defaults.test.ts +131 -0
- package/#Tools/claude-talk-to-figma-mcp/tsconfig.json +17 -0
- package/#Tools/claude-talk-to-figma-mcp/tsup.config.ts +14 -0
- package/#Tools/jwt creator/AuthKey_MZ7UQGFV2Q.p8 +6 -0
- package/#Tools/jwt creator/generate_apple_jwt.js +18 -0
- package/#Tools/jwt creator/node_modules/.package-lock.json +145 -0
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/.travis.yml +4 -0
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/LICENSE.txt +12 -0
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/README.md +50 -0
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/index.js +41 -0
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/package.json +21 -0
- package/#Tools/jwt creator/node_modules/buffer-equal-constant-time/test.js +42 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/CODEOWNERS +1 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/LICENSE +201 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/README.md +65 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/package.json +46 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts +17 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +187 -0
- package/#Tools/jwt creator/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +23 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/LICENSE +21 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/README.md +396 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/decode.js +30 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/index.js +8 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +14 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/NotBeforeError.js +13 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/TokenExpiredError.js +13 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +3 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/psSupported.js +3 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +3 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/timespan.js +18 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +66 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/package.json +71 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/sign.js +253 -0
- package/#Tools/jwt creator/node_modules/jsonwebtoken/verify.js +263 -0
- package/#Tools/jwt creator/node_modules/jwa/LICENSE +17 -0
- package/#Tools/jwt creator/node_modules/jwa/README.md +150 -0
- package/#Tools/jwt creator/node_modules/jwa/index.js +266 -0
- package/#Tools/jwt creator/node_modules/jwa/package.json +37 -0
- package/#Tools/jwt creator/node_modules/jws/CHANGELOG.md +34 -0
- package/#Tools/jwt creator/node_modules/jws/LICENSE +17 -0
- package/#Tools/jwt creator/node_modules/jws/index.js +22 -0
- package/#Tools/jwt creator/node_modules/jws/lib/data-stream.js +55 -0
- package/#Tools/jwt creator/node_modules/jws/lib/sign-stream.js +78 -0
- package/#Tools/jwt creator/node_modules/jws/lib/tostring.js +10 -0
- package/#Tools/jwt creator/node_modules/jws/lib/verify-stream.js +120 -0
- package/#Tools/jwt creator/node_modules/jws/package.json +34 -0
- package/#Tools/jwt creator/node_modules/jws/readme.md +255 -0
- package/#Tools/jwt creator/node_modules/lodash.includes/LICENSE +47 -0
- package/#Tools/jwt creator/node_modules/lodash.includes/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.includes/index.js +745 -0
- package/#Tools/jwt creator/node_modules/lodash.includes/package.json +17 -0
- package/#Tools/jwt creator/node_modules/lodash.isboolean/LICENSE +22 -0
- package/#Tools/jwt creator/node_modules/lodash.isboolean/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.isboolean/index.js +70 -0
- package/#Tools/jwt creator/node_modules/lodash.isboolean/package.json +17 -0
- package/#Tools/jwt creator/node_modules/lodash.isinteger/LICENSE +47 -0
- package/#Tools/jwt creator/node_modules/lodash.isinteger/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.isinteger/index.js +265 -0
- package/#Tools/jwt creator/node_modules/lodash.isinteger/package.json +17 -0
- package/#Tools/jwt creator/node_modules/lodash.isnumber/LICENSE +22 -0
- package/#Tools/jwt creator/node_modules/lodash.isnumber/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.isnumber/index.js +79 -0
- package/#Tools/jwt creator/node_modules/lodash.isnumber/package.json +17 -0
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/LICENSE +47 -0
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/index.js +139 -0
- package/#Tools/jwt creator/node_modules/lodash.isplainobject/package.json +17 -0
- package/#Tools/jwt creator/node_modules/lodash.isstring/LICENSE +22 -0
- package/#Tools/jwt creator/node_modules/lodash.isstring/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.isstring/index.js +95 -0
- package/#Tools/jwt creator/node_modules/lodash.isstring/package.json +17 -0
- package/#Tools/jwt creator/node_modules/lodash.once/LICENSE +47 -0
- package/#Tools/jwt creator/node_modules/lodash.once/README.md +18 -0
- package/#Tools/jwt creator/node_modules/lodash.once/index.js +294 -0
- package/#Tools/jwt creator/node_modules/lodash.once/package.json +17 -0
- package/#Tools/jwt creator/node_modules/ms/index.js +162 -0
- package/#Tools/jwt creator/node_modules/ms/license.md +21 -0
- package/#Tools/jwt creator/node_modules/ms/package.json +38 -0
- package/#Tools/jwt creator/node_modules/ms/readme.md +59 -0
- package/#Tools/jwt creator/node_modules/safe-buffer/LICENSE +21 -0
- package/#Tools/jwt creator/node_modules/safe-buffer/README.md +584 -0
- package/#Tools/jwt creator/node_modules/safe-buffer/index.d.ts +187 -0
- package/#Tools/jwt creator/node_modules/safe-buffer/index.js +65 -0
- package/#Tools/jwt creator/node_modules/safe-buffer/package.json +51 -0
- package/#Tools/jwt creator/node_modules/semver/LICENSE +15 -0
- package/#Tools/jwt creator/node_modules/semver/README.md +664 -0
- package/#Tools/jwt creator/node_modules/semver/bin/semver.js +191 -0
- package/#Tools/jwt creator/node_modules/semver/classes/comparator.js +143 -0
- package/#Tools/jwt creator/node_modules/semver/classes/index.js +7 -0
- package/#Tools/jwt creator/node_modules/semver/classes/range.js +556 -0
- package/#Tools/jwt creator/node_modules/semver/classes/semver.js +319 -0
- package/#Tools/jwt creator/node_modules/semver/functions/clean.js +8 -0
- package/#Tools/jwt creator/node_modules/semver/functions/cmp.js +54 -0
- package/#Tools/jwt creator/node_modules/semver/functions/coerce.js +62 -0
- package/#Tools/jwt creator/node_modules/semver/functions/compare-build.js +9 -0
- package/#Tools/jwt creator/node_modules/semver/functions/compare-loose.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/compare.js +7 -0
- package/#Tools/jwt creator/node_modules/semver/functions/diff.js +60 -0
- package/#Tools/jwt creator/node_modules/semver/functions/eq.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/gt.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/gte.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/inc.js +21 -0
- package/#Tools/jwt creator/node_modules/semver/functions/lt.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/lte.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/major.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/minor.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/neq.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/parse.js +18 -0
- package/#Tools/jwt creator/node_modules/semver/functions/patch.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/prerelease.js +8 -0
- package/#Tools/jwt creator/node_modules/semver/functions/rcompare.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/rsort.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/satisfies.js +12 -0
- package/#Tools/jwt creator/node_modules/semver/functions/sort.js +5 -0
- package/#Tools/jwt creator/node_modules/semver/functions/valid.js +8 -0
- package/#Tools/jwt creator/node_modules/semver/index.js +91 -0
- package/#Tools/jwt creator/node_modules/semver/internal/constants.js +37 -0
- package/#Tools/jwt creator/node_modules/semver/internal/debug.js +11 -0
- package/#Tools/jwt creator/node_modules/semver/internal/identifiers.js +25 -0
- package/#Tools/jwt creator/node_modules/semver/internal/lrucache.js +42 -0
- package/#Tools/jwt creator/node_modules/semver/internal/parse-options.js +17 -0
- package/#Tools/jwt creator/node_modules/semver/internal/re.js +223 -0
- package/#Tools/jwt creator/node_modules/semver/package.json +78 -0
- package/#Tools/jwt creator/node_modules/semver/preload.js +4 -0
- package/#Tools/jwt creator/node_modules/semver/range.bnf +16 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/gtr.js +6 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/intersects.js +9 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/ltr.js +6 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/min-version.js +63 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/outside.js +82 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/simplify.js +49 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/subset.js +249 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/to-comparators.js +10 -0
- package/#Tools/jwt creator/node_modules/semver/ranges/valid.js +13 -0
- package/#Tools/jwt creator/package-lock.json +150 -0
- package/#Tools/jwt creator/package.json +5 -0
- package/#Tools/package.json +94 -0
- package/SuperClaude/.claude/commands/analyze.md +36 -0
- package/SuperClaude/.claude/commands/build.md +35 -0
- package/SuperClaude/.claude/commands/cleanup.md +46 -0
- package/SuperClaude/.claude/commands/deploy.md +55 -0
- package/SuperClaude/.claude/commands/design.md +91 -0
- package/SuperClaude/.claude/commands/dev-setup.md +37 -0
- package/SuperClaude/.claude/commands/document.md +99 -0
- package/SuperClaude/.claude/commands/estimate.md +69 -0
- package/SuperClaude/.claude/commands/explain.md +85 -0
- package/SuperClaude/.claude/commands/git.md +47 -0
- package/SuperClaude/.claude/commands/improve.md +162 -0
- package/SuperClaude/.claude/commands/index.md +159 -0
- package/SuperClaude/.claude/commands/load.md +65 -0
- package/SuperClaude/.claude/commands/migrate.md +76 -0
- package/SuperClaude/.claude/commands/scan.md +163 -0
- package/SuperClaude/.claude/commands/shared/ambiguity-check.yml +40 -0
- package/SuperClaude/.claude/commands/shared/audit.yml +21 -0
- package/SuperClaude/.claude/commands/shared/checkpoint.yml +28 -0
- package/SuperClaude/.claude/commands/shared/cleanup-patterns.yml +107 -0
- package/SuperClaude/.claude/commands/shared/command-memory.yml +52 -0
- package/SuperClaude/.claude/commands/shared/command-templates.yml +167 -0
- package/SuperClaude/.claude/commands/shared/config-validator.yml +206 -0
- package/SuperClaude/.claude/commands/shared/constants.yml +311 -0
- package/SuperClaude/.claude/commands/shared/documentation-dirs.yml +134 -0
- package/SuperClaude/.claude/commands/shared/error-handling.yml +341 -0
- package/SuperClaude/.claude/commands/shared/evidence.yml +75 -0
- package/SuperClaude/.claude/commands/shared/execution-lifecycle.yml +277 -0
- package/SuperClaude/.claude/commands/shared/git-operations.yml +217 -0
- package/SuperClaude/.claude/commands/shared/git-workflow.yml +37 -0
- package/SuperClaude/.claude/commands/shared/implementation.yml +199 -0
- package/SuperClaude/.claude/commands/shared/loading-config.yml +73 -0
- package/SuperClaude/.claude/commands/shared/mcp-flags.yml +109 -0
- package/SuperClaude/.claude/commands/shared/migration-report.md +165 -0
- package/SuperClaude/.claude/commands/shared/patterns.yml +155 -0
- package/SuperClaude/.claude/commands/shared/performance.yml +317 -0
- package/SuperClaude/.claude/commands/shared/planning-mode.yml +51 -0
- package/SuperClaude/.claude/commands/shared/research-first.yml +278 -0
- package/SuperClaude/.claude/commands/shared/session-recovery.yml +144 -0
- package/SuperClaude/.claude/commands/shared/severity-levels.yml +252 -0
- package/SuperClaude/.claude/commands/shared/task-system.yml +380 -0
- package/SuperClaude/.claude/commands/shared/task-ultracompressed.yml +88 -0
- package/SuperClaude/.claude/commands/shared/templates/feature-template.md +59 -0
- package/SuperClaude/.claude/commands/shared/templates/task-ultracompressed.md +26 -0
- package/SuperClaude/.claude/commands/shared/thinking-modes.yml +61 -0
- package/SuperClaude/.claude/commands/shared/ultracompressed.yml +97 -0
- package/SuperClaude/.claude/commands/shared/user-experience.yml +208 -0
- package/SuperClaude/.claude/commands/shared/validation.yml +54 -0
- package/SuperClaude/.claude/commands/shared/workflow-chains.yml +138 -0
- package/SuperClaude/.claude/commands/spawn.md +106 -0
- package/SuperClaude/.claude/commands/task.md +110 -0
- package/SuperClaude/.claude/commands/test.md +67 -0
- package/SuperClaude/.claude/commands/troubleshoot.md +93 -0
- package/SuperClaude/.github/ISSUE_TEMPLATE/bug_report.yml +114 -0
- package/SuperClaude/.github/ISSUE_TEMPLATE/feature_request.yml +119 -0
- package/SuperClaude/.github/ISSUE_TEMPLATE/question.yml +87 -0
- package/SuperClaude/.github/pull_request_template.md +62 -0
- package/SuperClaude/CHANGELOG.md +109 -0
- package/SuperClaude/CLAUDE.md +95 -0
- package/SuperClaude/CODE_OF_CONDUCT.md +45 -0
- package/SuperClaude/CONTRIBUTING.md +225 -0
- package/SuperClaude/Commands_Cheat_Sheet.md +160 -0
- package/SuperClaude/LICENSE +21 -0
- package/SuperClaude/MCP.md +117 -0
- package/SuperClaude/PERSONAS.md +115 -0
- package/SuperClaude/README.md +249 -0
- package/SuperClaude/RULES.md +220 -0
- package/SuperClaude/SECURITY.md +91 -0
- package/SuperClaude/install.sh +296 -0
- package/appiq-mcp installer/How-to.md +250 -0
- package/appiq-mcp installer/LICENSE +21 -0
- package/appiq-mcp installer/README.md +235 -0
- package/appiq-mcp installer/index.js +672 -0
- package/appiq-mcp installer/my_mcps.md +105 -0
- package/appiq-mcp installer/package-lock.json +708 -0
- package/appiq-mcp installer/package.json +46 -0
- package/appiq-mcp installer/test-install.bat +60 -0
- package/appiq-mcp installer/test-install.sh +55 -0
- package/appiq-mcp installer/test-load.js +40 -0
- package/dist/agents/bmad-orchestrator.txt +111 -0
- package/dist/agents/pm.txt +0 -2
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +111 -0
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +111 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +1530 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +322 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +692 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +382 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +665 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +1070 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +1494 -0
- package/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +15613 -0
- package/dist/teams/team-all.txt +111 -2
- package/dist/teams/team-fullstack.txt +111 -2
- package/dist/teams/team-ide-minimal.txt +111 -0
- package/dist/teams/team-no-ui.txt +111 -2
- package/flutter/CLAUDE.md +58 -0
- package/flutter/punkt.claude/New Folder With Items/channel.md +221 -0
- package/flutter/punkt.claude/New Folder With Items/commands/add-translations.md +12 -0
- package/flutter/punkt.claude/New Folder With Items/commands/create-feature.md +168 -0
- package/flutter/punkt.claude/New Folder With Items/commands/explain-codebase.md +1 -0
- package/flutter/punkt.claude/New Folder With Items/commands/feature-business-logic.md +551 -0
- package/flutter/punkt.claude/New Folder With Items/commands/feature-data-layer.md +924 -0
- package/flutter/punkt.claude/New Folder With Items/commands/feature-domain-layer.md +540 -0
- package/flutter/punkt.claude/New Folder With Items/commands/feature-integration.md +493 -0
- package/flutter/punkt.claude/New Folder With Items/commands/feature-localization.md +427 -0
- package/flutter/punkt.claude/New Folder With Items/commands/feature-ui-layer.md +300 -0
- package/flutter/punkt.claude/New Folder With Items/commands/git-commit.md +3 -0
- package/flutter/punkt.claude/New Folder With Items/commands/search-web.md +1 -0
- package/flutter/punkt.claude/punkt.claude/channel.md +225 -0
- package/flutter/punkt.claude/punkt.claude/commands/add-translations.md +60 -0
- package/flutter/punkt.claude/punkt.claude/commands/bug-fix.md +32 -0
- package/flutter/punkt.claude/punkt.claude/commands/checkdev.md +122 -0
- package/flutter/punkt.claude/punkt.claude/commands/create-feature.md +174 -0
- package/flutter/punkt.claude/punkt.claude/commands/dev.md +79 -0
- package/flutter/punkt.claude/punkt.claude/commands/explain-codebase.md +1 -0
- package/flutter/punkt.claude/punkt.claude/commands/feature-business-logic.md +430 -0
- package/flutter/punkt.claude/punkt.claude/commands/feature-data-layer.md +572 -0
- package/flutter/punkt.claude/punkt.claude/commands/feature-domain-layer.md +537 -0
- package/flutter/punkt.claude/punkt.claude/commands/feature-integration.md +493 -0
- package/flutter/punkt.claude/punkt.claude/commands/feature-localization.md +427 -0
- package/flutter/punkt.claude/punkt.claude/commands/feature-ui-layer.md +831 -0
- package/flutter/punkt.claude/punkt.claude/commands/git-commit.md +3 -0
- package/flutter/punkt.claude/punkt.claude/commands/manage-translations.md +433 -0
- package/flutter/punkt.claude/punkt.claude/commands/search-web.md +1 -0
- package/flutter/punkt.claude/punkt.claude/developer_check.md +121 -0
- package/package.json +71 -18
- package/tools/bmad-npx-wrapper.js +7 -5
- package/tools/installer/bin/bmad.js +0 -14
- package/tools/installer/lib/installer.js +2 -28
- package/tools/installer/package-lock.json +89 -89
- package/tools/installer/package.json +1 -1
- package/web/CLAUDE.md +58 -0
- package/.bmad-config.json +0 -13
- package/.cursor/commands/analyze.md +0 -27
- package/.cursor/commands/appiq.md +0 -27
- package/.cursor/commands/help.md +0 -27
- package/.cursor/commands/story.md +0 -27
- package/DEVELOPMENT_GUIDE.md +0 -855
- package/NPM-README.md +0 -138
- package/README.md +0 -255
- package/SMART_WORKFLOW_GUIDE.md +0 -401
- package/activate-appiq.js +0 -81
- package/appiq-solution/README.md +0 -226
- package/bmad-core/agents/bmad-smart-launcher.md +0 -170
- package/bmad-core/checklists/security-validation-checklist.md +0 -332
- package/bmad-core/data/backend-services-integration.md +0 -686
- package/bmad-core/data/shadcn-ui-integration.md +0 -388
- package/bmad-core/data/technical-preferences.md +0 -149
- package/bmad-core/enhanced-ide-development-workflow.md +0 -43
- package/bmad-core/tasks/intelligent-epic-creation.md +0 -234
- package/bmad-core/tasks/smart-project-analysis.md +0 -289
- package/commands/README.md +0 -28
- package/commands/analyze.md +0 -27
- package/commands/appiq.md +0 -27
- package/commands/help.md +0 -27
- package/commands/story.md +0 -27
- package/expansion-packs/bmad-flutter-mobile-dev/agent-teams/flutter-mobile-team.yaml +0 -23
- package/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-cubit-agent.md +0 -133
- package/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-data-agent.md +0 -160
- package/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-domain-agent.md +0 -153
- package/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-ui-agent.md +0 -122
- package/expansion-packs/bmad-flutter-mobile-dev/agents/shared-components-agent.md +0 -161
- package/expansion-packs/bmad-flutter-mobile-dev/checklists/flutter-story-dod-checklist.md +0 -194
- package/expansion-packs/bmad-flutter-mobile-dev/config.yaml +0 -41
- package/expansion-packs/bmad-flutter-mobile-dev/data/flutter-development-guidelines.md +0 -551
- package/expansion-packs/bmad-flutter-mobile-dev/templates/flutter-mobile-architecture-tmpl.yaml +0 -530
- package/expansion-packs/bmad-flutter-mobile-dev/workflows/flutter-ui-first-development.yaml +0 -220
- package/install-appiq.sh +0 -41
- package/tasks/todo.md +0 -275
- package/tools/appiq-installer.js +0 -2621
- package/tools/epic-solution-installer.js +0 -538
- package/tools/flattener/main.js +0 -570
- package/tools/setup-ide-commands.js +0 -345
- package/tools/smart-installer.js +0 -589
- /package/{.github → #Tools/APPIQ-METHOD/.github}/FUNDING.yaml +0 -0
- /package/{.github → #Tools/APPIQ-METHOD/.github}/ISSUE_TEMPLATE/bug_report.md +0 -0
- /package/{.github → #Tools/APPIQ-METHOD/.github}/ISSUE_TEMPLATE/feature_request.md +0 -0
- /package/{.github → #Tools/APPIQ-METHOD/.github}/workflows/release.yaml +0 -0
- /package/{.releaserc.json → #Tools/APPIQ-METHOD/.releaserc.json} +0 -0
- /package/{.vscode → #Tools/APPIQ-METHOD/.vscode}/settings.json +0 -0
- /package/{CONTRIBUTING.md → #Tools/APPIQ-METHOD/CONTRIBUTING.md} +0 -0
- /package/{LICENSE → #Tools/APPIQ-METHOD/LICENSE} +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agent-teams/team-all.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agent-teams/team-fullstack.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agent-teams/team-ide-minimal.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agent-teams/team-no-ui.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/analyst.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/bmad-master.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/po.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/sm.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/agents/ux-expert.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/checklists/architect-checklist.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/checklists/change-checklist.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/checklists/pm-checklist.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/checklists/po-master-checklist.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/checklists/story-dod-checklist.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/checklists/story-draft-checklist.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/core-config.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/data/bmad-kb.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/data/brainstorming-techniques.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/data/elicitation-methods.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/advanced-elicitation.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/brownfield-create-epic.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/brownfield-create-story.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/correct-course.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/create-brownfield-story.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/create-deep-research-prompt.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/create-next-story.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/document-project.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/facilitate-brainstorming-session.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/generate-ai-frontend-prompt.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/index-docs.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/kb-mode-interaction.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/review-story.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/shard-doc.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/tasks/validate-next-story.md +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/architecture-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/brainstorming-output-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/brownfield-architecture-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/brownfield-prd-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/competitor-analysis-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/front-end-architecture-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/front-end-spec-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/market-research-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/prd-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/project-brief-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/templates/story-tmpl.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/workflows/brownfield-fullstack.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/workflows/brownfield-service.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/workflows/brownfield-ui.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/workflows/greenfield-fullstack.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/workflows/greenfield-service.yaml +0 -0
- /package/{bmad-core → #Tools/APPIQ-METHOD/bmad-core}/workflows/greenfield-ui.yaml +0 -0
- /package/{common → #Tools/APPIQ-METHOD/common}/tasks/create-doc.md +0 -0
- /package/{common → #Tools/APPIQ-METHOD/common}/tasks/execute-checklist.md +0 -0
- /package/{common → #Tools/APPIQ-METHOD/common}/utils/bmad-doc-template.md +0 -0
- /package/{common → #Tools/APPIQ-METHOD/common}/utils/workflow-management.md +0 -0
- /package/{bmad-core/core-config.yaml.bak → #Tools/APPIQ-METHOD/deployment/build/bmad-core/core-config.yaml} +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/README.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/agents/game-architect.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/agents/game-designer.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/agents/game-developer.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/agents/game-sm.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/README.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/data/bmad-kb.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -0
- /package/{expansion-packs → #Tools/APPIQ-METHOD/deployment/build/expansion-packs}/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -0
- /package/{docs → #Tools/APPIQ-METHOD/docs}/GUIDING-PRINCIPLES.md +0 -0
- /package/{docs → #Tools/APPIQ-METHOD/docs}/core-architecture.md +0 -0
- /package/{docs → #Tools/APPIQ-METHOD/docs}/expansion-packs.md +0 -0
- /package/{docs → #Tools/APPIQ-METHOD/docs}/how-to-contribute-with-pull-requests.md +0 -0
- /package/{docs → #Tools/APPIQ-METHOD/docs}/versioning-and-releases.md +0 -0
- /package/{docs → #Tools/APPIQ-METHOD/docs}/versions.md +0 -0
- /package/{bmad-core/bmad-core/user-guide.md → #Tools/SkyReels-V2/skyreels_v2_infer/distributed/__init__.py} +0 -0
package/DEVELOPMENT_GUIDE.md
DELETED
@@ -1,855 +0,0 @@
|
|
1
|
-
# Flutter Clean Architecture Development Guide
|
2
|
-
|
3
|
-
## 📋 Project Overview
|
4
|
-
|
5
|
-
**NX SourceCode** ist eine umfassende Flutter-Anwendung, die Clean Architecture Prinzipien implementiert und als soziale Plattform mit vielfältigen Features fungiert. Das Projekt demonstriert professionelle Flutter-Entwicklung mit skalierbarer, testbarer und wartbarer Code-Architektur.
|
6
|
-
|
7
|
-
## 🏗️ Architecture Overview
|
8
|
-
|
9
|
-
### Clean Architecture Layers
|
10
|
-
|
11
|
-
```
|
12
|
-
lib/
|
13
|
-
├── core/ # Shared Core Functionality
|
14
|
-
│ ├── constants/ # API endpoints, app constants
|
15
|
-
│ ├── di/ # Dependency injection setup
|
16
|
-
│ ├── error/ # Error handling (failures, exceptions)
|
17
|
-
│ ├── network/ # Networking setup (API client, network info)
|
18
|
-
│ └── local_storage/ # Hive service for local storage
|
19
|
-
├── features/ # Feature-based modules (17 Features)
|
20
|
-
│ └── [feature_name]/ # Individual features
|
21
|
-
│ ├── data/ # Data layer
|
22
|
-
│ │ ├── datasources/ # Remote/Local data sources
|
23
|
-
│ │ ├── models/ # Data models with JSON serialization
|
24
|
-
│ │ └── repositories/ # Repository implementations
|
25
|
-
│ ├── domain/ # Domain layer (Business Logic)
|
26
|
-
│ │ ├── entities/ # Business entities
|
27
|
-
│ │ ├── repositories/ # Repository interfaces
|
28
|
-
│ │ └── usecases/ # Business use cases
|
29
|
-
│ └── presentation/ # Presentation layer (UI)
|
30
|
-
│ ├── cubit/ # State management (Cubit + State)
|
31
|
-
│ ├── pages/ # UI pages/screens
|
32
|
-
│ └── widgets/ # Feature-specific widgets
|
33
|
-
├── shared/ # Shared UI components and utilities
|
34
|
-
│ ├── theme/ # Theme management
|
35
|
-
│ └── widgets/ # Reusable widgets (BaseScaffold, etc.)
|
36
|
-
└── l10n/ # Localization files (.arb)
|
37
|
-
```
|
38
|
-
|
39
|
-
## 🎯 Development Patterns & Style Guide
|
40
|
-
|
41
|
-
### 1. Entity Pattern (Domain Layer)
|
42
|
-
|
43
|
-
**Struktur:**
|
44
|
-
- Extends `Equatable` für Value Equality
|
45
|
-
- Immutable mit `const` Konstruktoren
|
46
|
-
- `copyWith` Methoden für Updates
|
47
|
-
- Alle Properties in `props` Liste
|
48
|
-
|
49
|
-
```dart
|
50
|
-
class UserEntity extends Equatable {
|
51
|
-
const UserEntity({
|
52
|
-
required this.id,
|
53
|
-
required this.name,
|
54
|
-
required this.email,
|
55
|
-
this.bio,
|
56
|
-
this.avatarUrl,
|
57
|
-
this.createdAt,
|
58
|
-
this.updatedAt,
|
59
|
-
});
|
60
|
-
|
61
|
-
final String id;
|
62
|
-
final String name;
|
63
|
-
final String email;
|
64
|
-
final String? bio;
|
65
|
-
final String? avatarUrl;
|
66
|
-
final DateTime? createdAt;
|
67
|
-
final DateTime? updatedAt;
|
68
|
-
|
69
|
-
@override
|
70
|
-
List<Object?> get props => [
|
71
|
-
id, name, email, bio, avatarUrl, createdAt, updatedAt,
|
72
|
-
];
|
73
|
-
|
74
|
-
UserEntity copyWith({
|
75
|
-
String? id,
|
76
|
-
String? name,
|
77
|
-
String? email,
|
78
|
-
String? bio,
|
79
|
-
String? avatarUrl,
|
80
|
-
DateTime? createdAt,
|
81
|
-
DateTime? updatedAt,
|
82
|
-
}) {
|
83
|
-
return UserEntity(
|
84
|
-
id: id ?? this.id,
|
85
|
-
name: name ?? this.name,
|
86
|
-
email: email ?? this.email,
|
87
|
-
bio: bio ?? this.bio,
|
88
|
-
avatarUrl: avatarUrl ?? this.avatarUrl,
|
89
|
-
createdAt: createdAt ?? this.createdAt,
|
90
|
-
updatedAt: updatedAt ?? this.updatedAt,
|
91
|
-
);
|
92
|
-
}
|
93
|
-
}
|
94
|
-
```
|
95
|
-
|
96
|
-
### 2. Model Pattern (Data Layer)
|
97
|
-
|
98
|
-
**Struktur:**
|
99
|
-
- `@freezed` Annotation für Immutability
|
100
|
-
- JSON Serialization mit `json_serializable`
|
101
|
-
- `@JsonKey` für API Field Mapping
|
102
|
-
- Extension Methods für Entity Conversion
|
103
|
-
|
104
|
-
```dart
|
105
|
-
import 'package:freezed_annotation/freezed_annotation.dart';
|
106
|
-
import '../../domain/entities/user_entity.dart';
|
107
|
-
|
108
|
-
part 'user_model.freezed.dart';
|
109
|
-
part 'user_model.g.dart';
|
110
|
-
|
111
|
-
@freezed
|
112
|
-
class UserModel with _$UserModel {
|
113
|
-
const factory UserModel({
|
114
|
-
required String id,
|
115
|
-
required String name,
|
116
|
-
required String email,
|
117
|
-
String? bio,
|
118
|
-
@JsonKey(name: 'avatar_url') String? avatarUrl,
|
119
|
-
@JsonKey(name: 'created_at') String? createdAt,
|
120
|
-
@JsonKey(name: 'updated_at') String? updatedAt,
|
121
|
-
}) = _UserModel;
|
122
|
-
|
123
|
-
factory UserModel.fromJson(Map<String, dynamic> json) =>
|
124
|
-
_$UserModelFromJson(json);
|
125
|
-
}
|
126
|
-
|
127
|
-
extension UserModelExtension on UserModel {
|
128
|
-
UserEntity toEntity() {
|
129
|
-
return UserEntity(
|
130
|
-
id: id,
|
131
|
-
name: name,
|
132
|
-
email: email,
|
133
|
-
bio: bio,
|
134
|
-
avatarUrl: avatarUrl,
|
135
|
-
createdAt: createdAt != null ? DateTime.tryParse(createdAt!) : null,
|
136
|
-
updatedAt: updatedAt != null ? DateTime.tryParse(updatedAt!) : null,
|
137
|
-
);
|
138
|
-
}
|
139
|
-
}
|
140
|
-
|
141
|
-
extension UserEntityExtension on UserEntity {
|
142
|
-
UserModel toModel() {
|
143
|
-
return UserModel(
|
144
|
-
id: id,
|
145
|
-
name: name,
|
146
|
-
email: email,
|
147
|
-
bio: bio,
|
148
|
-
avatarUrl: avatarUrl,
|
149
|
-
createdAt: createdAt?.toIso8601String(),
|
150
|
-
updatedAt: updatedAt?.toIso8601String(),
|
151
|
-
);
|
152
|
-
}
|
153
|
-
}
|
154
|
-
```
|
155
|
-
|
156
|
-
### 3. Repository Pattern
|
157
|
-
|
158
|
-
**Interface (Domain Layer):**
|
159
|
-
```dart
|
160
|
-
import 'package:dartz/dartz.dart';
|
161
|
-
import '../../../../core/error/failures.dart';
|
162
|
-
import '../entities/user_entity.dart';
|
163
|
-
|
164
|
-
abstract class UserRepository {
|
165
|
-
Future<Either<Failure, List<UserEntity>>> getUsers();
|
166
|
-
Future<Either<Failure, UserEntity>> getUserById(String id);
|
167
|
-
Future<Either<Failure, UserEntity>> createUser(UserEntity user);
|
168
|
-
Future<Either<Failure, UserEntity>> updateUser(UserEntity user);
|
169
|
-
Future<Either<Failure, void>> deleteUser(String id);
|
170
|
-
Future<Either<Failure, List<UserEntity>>> searchUsers(String query);
|
171
|
-
}
|
172
|
-
```
|
173
|
-
|
174
|
-
**Implementation (Data Layer):**
|
175
|
-
```dart
|
176
|
-
import 'package:dartz/dartz.dart';
|
177
|
-
import 'package:injectable/injectable.dart';
|
178
|
-
import '../../../../core/error/exceptions.dart';
|
179
|
-
import '../../../../core/error/failures.dart';
|
180
|
-
import '../../../../core/network/network_info.dart';
|
181
|
-
|
182
|
-
@LazySingleton(as: UserRepository)
|
183
|
-
class UserRepositoryImpl implements UserRepository {
|
184
|
-
const UserRepositoryImpl(
|
185
|
-
this._remoteDataSource,
|
186
|
-
this._networkInfo,
|
187
|
-
);
|
188
|
-
|
189
|
-
final UserRemoteDataSource _remoteDataSource;
|
190
|
-
final NetworkInfo _networkInfo;
|
191
|
-
|
192
|
-
@override
|
193
|
-
Future<Either<Failure, List<UserEntity>>> getUsers() async {
|
194
|
-
if (await _networkInfo.isConnected) {
|
195
|
-
try {
|
196
|
-
final users = await _remoteDataSource.getUsers();
|
197
|
-
return Right(users.map((model) => model.toEntity()).toList());
|
198
|
-
} on ServerException catch (e) {
|
199
|
-
return Left(ServerFailure(e.message));
|
200
|
-
} on NetworkException catch (e) {
|
201
|
-
return Left(NetworkFailure(e.message));
|
202
|
-
} catch (e) {
|
203
|
-
return Left(UnknownFailure(e.toString()));
|
204
|
-
}
|
205
|
-
} else {
|
206
|
-
return const Left(NetworkFailure('No internet connection'));
|
207
|
-
}
|
208
|
-
}
|
209
|
-
}
|
210
|
-
```
|
211
|
-
|
212
|
-
### 4. UseCase Pattern
|
213
|
-
|
214
|
-
**Struktur:**
|
215
|
-
- `@injectable` für Dependency Injection
|
216
|
-
- `call` Methode als Main Entry Point
|
217
|
-
- Business Logic & Validation
|
218
|
-
- `Either<Failure, Success>` Return Type
|
219
|
-
|
220
|
-
```dart
|
221
|
-
import 'package:dartz/dartz.dart';
|
222
|
-
import 'package:injectable/injectable.dart';
|
223
|
-
import '../../../../core/error/failures.dart';
|
224
|
-
import '../entities/user_entity.dart';
|
225
|
-
import '../repositories/user_repository.dart';
|
226
|
-
|
227
|
-
@injectable
|
228
|
-
class CreateUserUseCase {
|
229
|
-
const CreateUserUseCase(this._repository);
|
230
|
-
|
231
|
-
final UserRepository _repository;
|
232
|
-
|
233
|
-
Future<Either<Failure, UserEntity>> call(UserEntity user) async {
|
234
|
-
// Validate user data
|
235
|
-
final validationResult = _validateUser(user);
|
236
|
-
if (validationResult != null) {
|
237
|
-
return Left(ValidationFailure(validationResult));
|
238
|
-
}
|
239
|
-
|
240
|
-
return await _repository.createUser(user);
|
241
|
-
}
|
242
|
-
|
243
|
-
String? _validateUser(UserEntity user) {
|
244
|
-
if (user.name.trim().isEmpty) {
|
245
|
-
return 'Name is required';
|
246
|
-
}
|
247
|
-
|
248
|
-
if (user.email.trim().isEmpty) {
|
249
|
-
return 'Email is required';
|
250
|
-
}
|
251
|
-
|
252
|
-
if (!_isValidEmail(user.email)) {
|
253
|
-
return 'Please enter a valid email address';
|
254
|
-
}
|
255
|
-
|
256
|
-
return null;
|
257
|
-
}
|
258
|
-
|
259
|
-
bool _isValidEmail(String email) {
|
260
|
-
return RegExp(r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$').hasMatch(email);
|
261
|
-
}
|
262
|
-
}
|
263
|
-
```
|
264
|
-
|
265
|
-
### 5. State Management Pattern
|
266
|
-
|
267
|
-
**State Class:**
|
268
|
-
```dart
|
269
|
-
import 'package:equatable/equatable.dart';
|
270
|
-
import '../../domain/entities/user_entity.dart';
|
271
|
-
|
272
|
-
enum UserStatus {
|
273
|
-
initial,
|
274
|
-
loading,
|
275
|
-
success,
|
276
|
-
failure,
|
277
|
-
}
|
278
|
-
|
279
|
-
class UserState extends Equatable {
|
280
|
-
const UserState({
|
281
|
-
this.status = UserStatus.initial,
|
282
|
-
this.users = const [],
|
283
|
-
this.selectedUser,
|
284
|
-
this.message,
|
285
|
-
});
|
286
|
-
|
287
|
-
final UserStatus status;
|
288
|
-
final List<UserEntity> users;
|
289
|
-
final UserEntity? selectedUser;
|
290
|
-
final String? message;
|
291
|
-
|
292
|
-
UserState copyWith({
|
293
|
-
UserStatus? status,
|
294
|
-
List<UserEntity>? users,
|
295
|
-
UserEntity? selectedUser,
|
296
|
-
String? message,
|
297
|
-
}) {
|
298
|
-
return UserState(
|
299
|
-
status: status ?? this.status,
|
300
|
-
users: users ?? this.users,
|
301
|
-
selectedUser: selectedUser ?? this.selectedUser,
|
302
|
-
message: message ?? this.message,
|
303
|
-
);
|
304
|
-
}
|
305
|
-
|
306
|
-
@override
|
307
|
-
List<Object?> get props => [status, users, selectedUser, message];
|
308
|
-
}
|
309
|
-
```
|
310
|
-
|
311
|
-
**Cubit Implementation:**
|
312
|
-
```dart
|
313
|
-
import 'package:flutter_bloc/flutter_bloc.dart';
|
314
|
-
import 'package:injectable/injectable.dart';
|
315
|
-
import '../../domain/entities/user_entity.dart';
|
316
|
-
import '../../domain/usecases/get_users_usecase.dart';
|
317
|
-
import 'user_state.dart';
|
318
|
-
|
319
|
-
@injectable
|
320
|
-
class UserCubit extends Cubit<UserState> {
|
321
|
-
UserCubit(
|
322
|
-
this._getUsersUseCase,
|
323
|
-
this._getUserByIdUseCase,
|
324
|
-
this._createUserUseCase,
|
325
|
-
this._updateUserUseCase,
|
326
|
-
this._deleteUserUseCase,
|
327
|
-
this._searchUsersUseCase,
|
328
|
-
) : super(const UserState());
|
329
|
-
|
330
|
-
final GetUsersUseCase _getUsersUseCase;
|
331
|
-
final GetUserByIdUseCase _getUserByIdUseCase;
|
332
|
-
final CreateUserUseCase _createUserUseCase;
|
333
|
-
final UpdateUserUseCase _updateUserUseCase;
|
334
|
-
final DeleteUserUseCase _deleteUserUseCase;
|
335
|
-
final SearchUsersUseCase _searchUsersUseCase;
|
336
|
-
|
337
|
-
Future<void> getUsers() async {
|
338
|
-
emit(state.copyWith(status: UserStatus.loading));
|
339
|
-
|
340
|
-
final result = await _getUsersUseCase();
|
341
|
-
result.fold(
|
342
|
-
(failure) => emit(state.copyWith(
|
343
|
-
status: UserStatus.failure,
|
344
|
-
message: failure.message ?? 'Failed to load users',
|
345
|
-
)),
|
346
|
-
(users) => emit(state.copyWith(
|
347
|
-
status: UserStatus.success,
|
348
|
-
users: users,
|
349
|
-
)),
|
350
|
-
);
|
351
|
-
}
|
352
|
-
|
353
|
-
Future<void> createUser(UserEntity user) async {
|
354
|
-
emit(state.copyWith(status: UserStatus.loading));
|
355
|
-
|
356
|
-
final result = await _createUserUseCase(user);
|
357
|
-
result.fold(
|
358
|
-
(failure) => emit(state.copyWith(
|
359
|
-
status: UserStatus.failure,
|
360
|
-
message: failure.message ?? 'Failed to create user',
|
361
|
-
)),
|
362
|
-
(createdUser) {
|
363
|
-
final updatedUsers = [...state.users, createdUser];
|
364
|
-
emit(state.copyWith(
|
365
|
-
status: UserStatus.success,
|
366
|
-
users: updatedUsers,
|
367
|
-
));
|
368
|
-
},
|
369
|
-
);
|
370
|
-
}
|
371
|
-
}
|
372
|
-
```
|
373
|
-
|
374
|
-
### 6. DataSource Pattern
|
375
|
-
|
376
|
-
**Abstract Class:**
|
377
|
-
```dart
|
378
|
-
abstract class UserRemoteDataSource {
|
379
|
-
Future<List<UserModel>> getUsers();
|
380
|
-
Future<UserModel> getUserById(String id);
|
381
|
-
Future<UserModel> createUser(UserModel user);
|
382
|
-
Future<UserModel> updateUser(UserModel user);
|
383
|
-
Future<void> deleteUser(String id);
|
384
|
-
Future<List<UserModel>> searchUsers(String query);
|
385
|
-
}
|
386
|
-
```
|
387
|
-
|
388
|
-
**Implementation:**
|
389
|
-
```dart
|
390
|
-
import 'package:injectable/injectable.dart';
|
391
|
-
import '../../../../core/constants/api_constants.dart';
|
392
|
-
import '../../../../core/network/api_client.dart';
|
393
|
-
import '../models/user_model.dart';
|
394
|
-
|
395
|
-
@LazySingleton(as: UserRemoteDataSource)
|
396
|
-
class UserRemoteDataSourceImpl implements UserRemoteDataSource {
|
397
|
-
const UserRemoteDataSourceImpl(this._apiClient);
|
398
|
-
|
399
|
-
final ApiClient _apiClient;
|
400
|
-
|
401
|
-
@override
|
402
|
-
Future<List<UserModel>> getUsers() async {
|
403
|
-
final response = await _apiClient.get(ApiConstants.users);
|
404
|
-
final List<dynamic> usersJson = response.data['data'] ?? response.data;
|
405
|
-
return usersJson.map((json) => UserModel.fromJson(json)).toList();
|
406
|
-
}
|
407
|
-
|
408
|
-
@override
|
409
|
-
Future<UserModel> getUserById(String id) async {
|
410
|
-
final response = await _apiClient.get('${ApiConstants.users}/$id');
|
411
|
-
return UserModel.fromJson(response.data['data'] ?? response.data);
|
412
|
-
}
|
413
|
-
|
414
|
-
@override
|
415
|
-
Future<UserModel> createUser(UserModel user) async {
|
416
|
-
final response = await _apiClient.post(
|
417
|
-
ApiConstants.users,
|
418
|
-
data: user.toJson(),
|
419
|
-
);
|
420
|
-
return UserModel.fromJson(response.data['data'] ?? response.data);
|
421
|
-
}
|
422
|
-
}
|
423
|
-
```
|
424
|
-
|
425
|
-
### 7. UI Page Pattern
|
426
|
-
|
427
|
-
```dart
|
428
|
-
import 'package:flutter/material.dart';
|
429
|
-
import 'package:flutter_bloc/flutter_bloc.dart';
|
430
|
-
import '../../../../core/di/injection_container.dart';
|
431
|
-
import '../../../../shared/widgets/base_scaffold.dart';
|
432
|
-
import '../../../../shared/widgets/loading_widget.dart';
|
433
|
-
import '../../../../shared/widgets/error_widget.dart';
|
434
|
-
import '../cubit/user_cubit.dart';
|
435
|
-
import '../cubit/user_state.dart';
|
436
|
-
import '../widgets/user_list_item.dart';
|
437
|
-
|
438
|
-
class UserListPage extends StatelessWidget {
|
439
|
-
const UserListPage({super.key});
|
440
|
-
|
441
|
-
@override
|
442
|
-
Widget build(BuildContext context) {
|
443
|
-
return BlocProvider(
|
444
|
-
create: (context) => getIt<UserCubit>()..getUsers(),
|
445
|
-
child: const UserListView(),
|
446
|
-
);
|
447
|
-
}
|
448
|
-
}
|
449
|
-
|
450
|
-
class UserListView extends StatelessWidget {
|
451
|
-
const UserListView({super.key});
|
452
|
-
|
453
|
-
@override
|
454
|
-
Widget build(BuildContext context) {
|
455
|
-
return BaseScaffold(
|
456
|
-
title: 'Users',
|
457
|
-
floatingActionButton: FloatingActionButton(
|
458
|
-
onPressed: () => _showCreateUserDialog(context),
|
459
|
-
child: const Icon(Icons.add),
|
460
|
-
),
|
461
|
-
body: BlocConsumer<UserCubit, UserState>(
|
462
|
-
listener: (context, state) {
|
463
|
-
if (state.status == UserStatus.failure && state.message != null) {
|
464
|
-
ScaffoldMessenger.of(context).showSnackBar(
|
465
|
-
SnackBar(
|
466
|
-
content: Text(state.message!),
|
467
|
-
backgroundColor: Theme.of(context).colorScheme.error,
|
468
|
-
),
|
469
|
-
);
|
470
|
-
}
|
471
|
-
},
|
472
|
-
builder: (context, state) {
|
473
|
-
return switch (state.status) {
|
474
|
-
UserStatus.loading => const LoadingWidget(),
|
475
|
-
UserStatus.failure => CustomErrorWidget(
|
476
|
-
message: state.message ?? 'Unknown error occurred',
|
477
|
-
onRetry: () => context.read<UserCubit>().getUsers(),
|
478
|
-
),
|
479
|
-
UserStatus.success => RefreshIndicator(
|
480
|
-
onRefresh: () => context.read<UserCubit>().getUsers(),
|
481
|
-
child: ListView.builder(
|
482
|
-
itemCount: state.users.length,
|
483
|
-
itemBuilder: (context, index) {
|
484
|
-
return UserListItem(
|
485
|
-
user: state.users[index],
|
486
|
-
onTap: () => _navigateToUserDetail(context, state.users[index]),
|
487
|
-
);
|
488
|
-
},
|
489
|
-
),
|
490
|
-
),
|
491
|
-
_ => const SizedBox.shrink(),
|
492
|
-
};
|
493
|
-
},
|
494
|
-
),
|
495
|
-
);
|
496
|
-
}
|
497
|
-
}
|
498
|
-
```
|
499
|
-
|
500
|
-
## 🛠️ Technology Stack
|
501
|
-
|
502
|
-
### Core Dependencies
|
503
|
-
- **State Management**: `flutter_bloc` ^8.1.6
|
504
|
-
- **Dependency Injection**: `get_it` ^8.0.2 + `injectable` ^2.5.0
|
505
|
-
- **Code Generation**: `freezed` ^2.5.7 + `json_serializable` ^6.8.0
|
506
|
-
- **Networking**: `dio` ^5.7.0
|
507
|
-
- **Local Storage**: `hive` ^2.2.3
|
508
|
-
- **Error Handling**: `dartz` ^0.10.1
|
509
|
-
- **Value Equality**: `equatable` ^2.0.7
|
510
|
-
|
511
|
-
### Dev Dependencies
|
512
|
-
- **Build Runner**: `build_runner` ^2.4.13
|
513
|
-
- **Code Generation**: `injectable_generator` ^2.6.2
|
514
|
-
- **Testing**: `bloc_test` ^9.1.7 + `mocktail` ^1.0.4
|
515
|
-
|
516
|
-
## 🌐 Networking Layer
|
517
|
-
|
518
|
-
### API Client Implementation
|
519
|
-
```dart
|
520
|
-
import 'package:dio/dio.dart';
|
521
|
-
import 'package:injectable/injectable.dart';
|
522
|
-
import '../constants/api_constants.dart';
|
523
|
-
import '../error/exceptions.dart';
|
524
|
-
|
525
|
-
@LazySingleton()
|
526
|
-
class ApiClient {
|
527
|
-
late final Dio _dio;
|
528
|
-
|
529
|
-
ApiClient() {
|
530
|
-
_dio = Dio(
|
531
|
-
BaseOptions(
|
532
|
-
baseUrl: ApiConstants.baseUrl,
|
533
|
-
connectTimeout: const Duration(seconds: 30),
|
534
|
-
receiveTimeout: const Duration(seconds: 30),
|
535
|
-
headers: {
|
536
|
-
'Content-Type': 'application/json',
|
537
|
-
'Accept': 'application/json',
|
538
|
-
},
|
539
|
-
),
|
540
|
-
);
|
541
|
-
|
542
|
-
_dio.interceptors.add(
|
543
|
-
InterceptorsWrapper(
|
544
|
-
onError: (error, handler) {
|
545
|
-
final exception = _handleDioError(error);
|
546
|
-
handler.reject(DioException(
|
547
|
-
requestOptions: error.requestOptions,
|
548
|
-
error: exception,
|
549
|
-
));
|
550
|
-
},
|
551
|
-
),
|
552
|
-
);
|
553
|
-
}
|
554
|
-
|
555
|
-
Exception _handleDioError(DioException error) {
|
556
|
-
switch (error.type) {
|
557
|
-
case DioExceptionType.connectionTimeout:
|
558
|
-
case DioExceptionType.sendTimeout:
|
559
|
-
case DioExceptionType.receiveTimeout:
|
560
|
-
return const NetworkException('Connection timeout');
|
561
|
-
case DioExceptionType.badResponse:
|
562
|
-
final statusCode = error.response?.statusCode;
|
563
|
-
switch (statusCode) {
|
564
|
-
case 400:
|
565
|
-
return ValidationException(
|
566
|
-
error.response?.data?['message'] ?? 'Bad request',
|
567
|
-
);
|
568
|
-
case 401:
|
569
|
-
return const AuthenticationException('Unauthorized');
|
570
|
-
case 403:
|
571
|
-
return const AuthorizationException('Forbidden');
|
572
|
-
case 404:
|
573
|
-
return const NotFoundException('Resource not found');
|
574
|
-
case 500:
|
575
|
-
default:
|
576
|
-
return ServerException(
|
577
|
-
error.response?.data?['message'] ?? 'Server error',
|
578
|
-
);
|
579
|
-
}
|
580
|
-
case DioExceptionType.connectionError:
|
581
|
-
return const NetworkException('No internet connection');
|
582
|
-
default:
|
583
|
-
return ServerException(error.message);
|
584
|
-
}
|
585
|
-
}
|
586
|
-
}
|
587
|
-
```
|
588
|
-
|
589
|
-
## 🚨 Error Handling System
|
590
|
-
|
591
|
-
### Failure Types
|
592
|
-
```dart
|
593
|
-
import 'package:equatable/equatable.dart';
|
594
|
-
|
595
|
-
abstract class Failure extends Equatable {
|
596
|
-
const Failure([this.message]);
|
597
|
-
final String? message;
|
598
|
-
|
599
|
-
@override
|
600
|
-
List<Object?> get props => [message];
|
601
|
-
}
|
602
|
-
|
603
|
-
class ServerFailure extends Failure {
|
604
|
-
const ServerFailure([super.message]);
|
605
|
-
}
|
606
|
-
|
607
|
-
class NetworkFailure extends Failure {
|
608
|
-
const NetworkFailure([super.message]);
|
609
|
-
}
|
610
|
-
|
611
|
-
class ValidationFailure extends Failure {
|
612
|
-
const ValidationFailure([super.message]);
|
613
|
-
}
|
614
|
-
|
615
|
-
class AuthenticationFailure extends Failure {
|
616
|
-
const AuthenticationFailure([super.message]);
|
617
|
-
}
|
618
|
-
|
619
|
-
// ... weitere Failure Types
|
620
|
-
```
|
621
|
-
|
622
|
-
### Exception Types
|
623
|
-
```dart
|
624
|
-
class ServerException implements Exception {
|
625
|
-
const ServerException([this.message]);
|
626
|
-
final String? message;
|
627
|
-
|
628
|
-
@override
|
629
|
-
String toString() => 'ServerException: ${message ?? 'Unknown server error'}';
|
630
|
-
}
|
631
|
-
|
632
|
-
class NetworkException implements Exception {
|
633
|
-
const NetworkException([this.message]);
|
634
|
-
final String? message;
|
635
|
-
|
636
|
-
@override
|
637
|
-
String toString() => 'NetworkException: ${message ?? 'Network error'}';
|
638
|
-
}
|
639
|
-
|
640
|
-
// ... weitere Exception Types
|
641
|
-
```
|
642
|
-
|
643
|
-
## 🎨 UI/UX Patterns
|
644
|
-
|
645
|
-
### Shared Components
|
646
|
-
|
647
|
-
**BaseScaffold - Responsive Layout:**
|
648
|
-
```dart
|
649
|
-
class BaseScaffold extends StatelessWidget {
|
650
|
-
const BaseScaffold({
|
651
|
-
super.key,
|
652
|
-
required this.body,
|
653
|
-
this.title,
|
654
|
-
this.actions,
|
655
|
-
this.floatingActionButton,
|
656
|
-
this.safeArea = true,
|
657
|
-
});
|
658
|
-
|
659
|
-
@override
|
660
|
-
Widget build(BuildContext context) {
|
661
|
-
final mediaQuery = MediaQuery.of(context);
|
662
|
-
final isTablet = mediaQuery.size.width >= 768;
|
663
|
-
final isDesktop = mediaQuery.size.width >= 1024;
|
664
|
-
|
665
|
-
Widget bodyWidget = body;
|
666
|
-
|
667
|
-
// Responsive constraints
|
668
|
-
if (isDesktop) {
|
669
|
-
bodyWidget = Center(
|
670
|
-
child: ConstrainedBox(
|
671
|
-
constraints: const BoxConstraints(maxWidth: 1200),
|
672
|
-
child: bodyWidget,
|
673
|
-
),
|
674
|
-
);
|
675
|
-
} else if (isTablet) {
|
676
|
-
bodyWidget = Padding(
|
677
|
-
padding: const EdgeInsets.symmetric(horizontal: 32),
|
678
|
-
child: bodyWidget,
|
679
|
-
);
|
680
|
-
}
|
681
|
-
|
682
|
-
return Scaffold(
|
683
|
-
appBar: title != null ? AppBar(title: Text(title!)) : null,
|
684
|
-
body: safeArea ? SafeArea(child: bodyWidget) : bodyWidget,
|
685
|
-
floatingActionButton: floatingActionButton,
|
686
|
-
);
|
687
|
-
}
|
688
|
-
}
|
689
|
-
```
|
690
|
-
|
691
|
-
### Theme System
|
692
|
-
```dart
|
693
|
-
enum ThemeType { light, dark, custom }
|
694
|
-
|
695
|
-
class ThemeCubit extends Cubit<ThemeState> {
|
696
|
-
ThemeCubit() : super(const ThemeState());
|
697
|
-
|
698
|
-
void changeTheme(ThemeType themeType) {
|
699
|
-
emit(state.copyWith(themeType: themeType));
|
700
|
-
// Save to local storage
|
701
|
-
}
|
702
|
-
|
703
|
-
void toggleTheme() {
|
704
|
-
final newTheme = switch (state.themeType) {
|
705
|
-
ThemeType.light => ThemeType.dark,
|
706
|
-
ThemeType.dark => ThemeType.custom,
|
707
|
-
ThemeType.custom => ThemeType.light,
|
708
|
-
};
|
709
|
-
changeTheme(newTheme);
|
710
|
-
}
|
711
|
-
}
|
712
|
-
```
|
713
|
-
|
714
|
-
## 📁 Feature Template Structure
|
715
|
-
|
716
|
-
### Für jedes neue Feature:
|
717
|
-
|
718
|
-
```
|
719
|
-
feature_name/
|
720
|
-
├── data/
|
721
|
-
│ ├── datasources/
|
722
|
-
│ │ └── feature_remote_datasource.dart
|
723
|
-
│ ├── models/
|
724
|
-
│ │ └── feature_model.dart
|
725
|
-
│ └── repositories/
|
726
|
-
│ └── feature_repository_impl.dart
|
727
|
-
├── domain/
|
728
|
-
│ ├── entities/
|
729
|
-
│ │ └── feature_entity.dart
|
730
|
-
│ ├── repositories/
|
731
|
-
│ │ └── feature_repository.dart
|
732
|
-
│ └── usecases/
|
733
|
-
│ ├── get_features_usecase.dart
|
734
|
-
│ ├── get_feature_by_id_usecase.dart
|
735
|
-
│ ├── create_feature_usecase.dart
|
736
|
-
│ ├── update_feature_usecase.dart
|
737
|
-
│ ├── delete_feature_usecase.dart
|
738
|
-
│ └── search_features_usecase.dart
|
739
|
-
└── presentation/
|
740
|
-
├── cubit/
|
741
|
-
│ ├── feature_cubit.dart
|
742
|
-
│ └── feature_state.dart
|
743
|
-
├── pages/
|
744
|
-
│ ├── feature_list_page.dart
|
745
|
-
│ └── feature_detail_page.dart
|
746
|
-
└── widgets/
|
747
|
-
└── feature_list_item.dart
|
748
|
-
```
|
749
|
-
|
750
|
-
## 🔧 Development Commands
|
751
|
-
|
752
|
-
### Code Generation
|
753
|
-
```bash
|
754
|
-
# Generate all code (models, DI, etc.)
|
755
|
-
flutter packages pub run build_runner build --delete-conflicting-outputs
|
756
|
-
|
757
|
-
# Generate localization files
|
758
|
-
flutter gen-l10n
|
759
|
-
|
760
|
-
# Clean ARB files
|
761
|
-
dart run scripts/clean_arb_files.dart
|
762
|
-
```
|
763
|
-
|
764
|
-
### Testing
|
765
|
-
```bash
|
766
|
-
# Run all tests
|
767
|
-
flutter test
|
768
|
-
|
769
|
-
# Run with coverage
|
770
|
-
flutter test --coverage
|
771
|
-
```
|
772
|
-
|
773
|
-
## 📋 Naming Conventions
|
774
|
-
|
775
|
-
### Files & Directories
|
776
|
-
- **Files**: `snake_case.dart`
|
777
|
-
- **Directories**: `snake_case/`
|
778
|
-
- **Assets**: `snake_case.png`
|
779
|
-
|
780
|
-
### Code
|
781
|
-
- **Classes**: `PascalCase`
|
782
|
-
- **Variables & Methods**: `camelCase`
|
783
|
-
- **Constants**: `SCREAMING_SNAKE_CASE` in static classes
|
784
|
-
- **Private Members**: `_leadingUnderscore`
|
785
|
-
|
786
|
-
### Feature Naming Pattern
|
787
|
-
- **Entity**: `FeatureEntity`
|
788
|
-
- **Model**: `FeatureModel`
|
789
|
-
- **Repository Interface**: `FeatureRepository`
|
790
|
-
- **Repository Implementation**: `FeatureRepositoryImpl`
|
791
|
-
- **DataSource Interface**: `FeatureRemoteDataSource`
|
792
|
-
- **DataSource Implementation**: `FeatureRemoteDataSourceImpl`
|
793
|
-
- **UseCase**: `GetFeatureUseCase`, `CreateFeatureUseCase`, etc.
|
794
|
-
- **Cubit**: `FeatureCubit`
|
795
|
-
- **State**: `FeatureState`
|
796
|
-
- **Page**: `FeatureListPage`, `FeatureDetailPage`
|
797
|
-
|
798
|
-
## 🎯 Development Guidelines
|
799
|
-
|
800
|
-
### Best Practices
|
801
|
-
1. **Immutability**: Alle Data Classes sind immutable
|
802
|
-
2. **Single Responsibility**: Jede Klasse hat eine einzige Verantwortung
|
803
|
-
3. **Dependency Injection**: Alle Dependencies werden injected
|
804
|
-
4. **Error Handling**: Consistent Either<Failure, Success> Pattern
|
805
|
-
5. **Testing**: Jeder Use Case und Repository wird getestet
|
806
|
-
6. **Documentation**: Alle Public APIs sind dokumentiert
|
807
|
-
|
808
|
-
### Code Quality Checks
|
809
|
-
- **Linting**: `flutter_lints` für Code-Qualität
|
810
|
-
- **Type Safety**: Null Safety aktiviert
|
811
|
-
- **Build Runner**: Regelmäßige Code-Generierung
|
812
|
-
- **Testing**: Unit Tests für Business Logic
|
813
|
-
|
814
|
-
## 📚 Implemented Features
|
815
|
-
|
816
|
-
### Core Features (17 Total)
|
817
|
-
1. **user** - User Management
|
818
|
-
2. **auth** - Authentication & Authorization
|
819
|
-
3. **profile** - User Profiles & Settings
|
820
|
-
4. **chat** - Real-time Messaging
|
821
|
-
5. **forum** - Discussion Forums
|
822
|
-
6. **livestream** - Live Streaming
|
823
|
-
7. **media** - Photo/Video Management
|
824
|
-
8. **learning_hub** - Educational Content
|
825
|
-
9. **shop** - Product Catalog
|
826
|
-
10. **sponsorship** - Sponsorship Requests
|
827
|
-
11. **coin_system** - Virtual Currency
|
828
|
-
12. **support** - Customer Support
|
829
|
-
13. **partners** - Partner Management
|
830
|
-
14. **membership** - Membership System
|
831
|
-
15. **legal_settings** - Legal Compliance
|
832
|
-
16. **admin_panel** - Administration
|
833
|
-
17. **admin_panel** - Admin Interface
|
834
|
-
|
835
|
-
## 🚀 Getting Started Template
|
836
|
-
|
837
|
-
### Neues Feature erstellen:
|
838
|
-
|
839
|
-
1. **Feature Ordner erstellen:**
|
840
|
-
```bash
|
841
|
-
mkdir -p lib/features/new_feature/{data/{datasources,models,repositories},domain/{entities,repositories,usecases},presentation/{cubit,pages,widgets}}
|
842
|
-
```
|
843
|
-
|
844
|
-
2. **Entity definieren** (Domain Layer)
|
845
|
-
3. **Repository Interface erstellen** (Domain Layer)
|
846
|
-
4. **Use Cases implementieren** (Domain Layer)
|
847
|
-
5. **Model mit Freezed erstellen** (Data Layer)
|
848
|
-
6. **DataSource implementieren** (Data Layer)
|
849
|
-
7. **Repository implementieren** (Data Layer)
|
850
|
-
8. **State und Cubit erstellen** (Presentation Layer)
|
851
|
-
9. **Pages und Widgets erstellen** (Presentation Layer)
|
852
|
-
10. **Dependency Injection registrieren**
|
853
|
-
11. **Build Runner ausführen**
|
854
|
-
|
855
|
-
Diese Anleitung dient als umfassende Referenz für die Entwicklung neuer Features und das Training von AI-Agenten auf Basis der etablierten Architektur und Patterns.
|