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
@@ -0,0 +1,156 @@
|
|
1
|
+
|
2
|
+
import torch
|
3
|
+
import decord
|
4
|
+
import argparse
|
5
|
+
|
6
|
+
import pandas as pd
|
7
|
+
import numpy as np
|
8
|
+
|
9
|
+
from tqdm import tqdm
|
10
|
+
from vllm import LLM, SamplingParams
|
11
|
+
from transformers import AutoTokenizer, AutoProcessor
|
12
|
+
|
13
|
+
from torch.utils.data import DataLoader
|
14
|
+
|
15
|
+
SYSTEM_PROMPT = "I need you to generate a structured and detailed caption for the provided video. The structured output and the requirements for each field are as shown in the following JSON content: {\"subjects\": [{\"appearance\": \"Main subject appearance description\", \"action\": \"Main subject action\", \"expression\": \"Main subject expression (Only for human/animal categories, empty otherwise)\", \"position\": \"Subject position in the video (Can be relative position to other objects or spatial description)\", \"TYPES\": {\"type\": \"Main category (e.g., Human)\", \"sub_type\": \"Sub-category (e.g., Man)\"}, \"is_main_subject\": true}, {\"appearance\": \"Non-main subject appearance description\", \"action\": \"Non-main subject action\", \"expression\": \"Non-main subject expression (Only for human/animal categories, empty otherwise)\", \"position\": \"Position of non-main subject 1\", \"TYPES\": {\"type\": \"Main category (e.g., Vehicles)\", \"sub_type\": \"Sub-category (e.g., Ship)\"}, \"is_main_subject\": false}], \"shot_type\": \"Shot type(Options: long_shot/full_shot/medium_shot/close_up/extreme_close_up/other)\", \"shot_angle\": \"Camera angle(Options: eye_level/high_angle/low_angle/other)\", \"shot_position\": \"Camera position(Options: front_view/back_view/side_view/over_the_shoulder/overhead_view/point_of_view/aerial_view/overlooking_view/other)\", \"camera_motion\": \"Camera movement description\", \"environment\": \"Video background/environment description\", \"lighting\": \"Lighting information in the video\"}"
|
16
|
+
|
17
|
+
|
18
|
+
class VideoTextDataset(torch.utils.data.Dataset):
|
19
|
+
def __init__(self, csv_path, model_path):
|
20
|
+
if isinstance(csv_path, pd.DataFrame):
|
21
|
+
self.meta = csv_path
|
22
|
+
else:
|
23
|
+
self.meta = pd.read_csv(csv_path)
|
24
|
+
self._path = 'path'
|
25
|
+
self.tokenizer = AutoTokenizer.from_pretrained(model_path)
|
26
|
+
self.processor = AutoProcessor.from_pretrained(model_path)
|
27
|
+
|
28
|
+
def __getitem__(self, index):
|
29
|
+
row = self.meta.iloc[index]
|
30
|
+
path = row[self._path]
|
31
|
+
real_index = self.meta.index[index]
|
32
|
+
vr = decord.VideoReader(path, ctx=decord.cpu(0), width=360, height=420)
|
33
|
+
start = 0
|
34
|
+
end = len(vr)
|
35
|
+
# avg_fps = vr.get_avg_fps()
|
36
|
+
index = self.get_index(end-start, 16, st=start)
|
37
|
+
frames = vr.get_batch(index).asnumpy() # n h w c
|
38
|
+
video_inputs = [torch.from_numpy(frames).permute(0, 3, 1, 2)]
|
39
|
+
conversation = {
|
40
|
+
"role": "user",
|
41
|
+
"content": [
|
42
|
+
{
|
43
|
+
"type": "video",
|
44
|
+
"video": row['path'],
|
45
|
+
"max_pixels": 360 * 420, # 460800
|
46
|
+
"fps": 2.0,
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"type": "text",
|
50
|
+
"text": SYSTEM_PROMPT
|
51
|
+
},
|
52
|
+
],
|
53
|
+
}
|
54
|
+
|
55
|
+
# 生成 user_input
|
56
|
+
user_input = self.processor.apply_chat_template(
|
57
|
+
[conversation],
|
58
|
+
tokenize=False,
|
59
|
+
add_generation_prompt=True
|
60
|
+
)
|
61
|
+
results = dict()
|
62
|
+
inputs = {
|
63
|
+
'prompt': user_input,
|
64
|
+
'multi_modal_data': {'video': video_inputs}
|
65
|
+
}
|
66
|
+
results["index"] = real_index
|
67
|
+
results['input'] = inputs
|
68
|
+
return results
|
69
|
+
|
70
|
+
def __len__(self):
|
71
|
+
return len(self.meta)
|
72
|
+
|
73
|
+
def get_index(self, video_size, num_frames, st=0):
|
74
|
+
seg_size = max(0., float(video_size - 1) / num_frames)
|
75
|
+
max_frame = int(video_size) - 1
|
76
|
+
seq = []
|
77
|
+
# index from 1, must add 1
|
78
|
+
for i in range(num_frames):
|
79
|
+
start = int(np.round(seg_size * i))
|
80
|
+
# end = int(np.round(seg_size * (i + 1)))
|
81
|
+
idx = min(start, max_frame)
|
82
|
+
seq.append(idx+st)
|
83
|
+
return seq
|
84
|
+
|
85
|
+
def result_writer(indices_list: list, result_list: list, meta: pd.DataFrame, column):
|
86
|
+
flat_indices = []
|
87
|
+
for x in zip(indices_list):
|
88
|
+
flat_indices.extend(x)
|
89
|
+
flat_results = []
|
90
|
+
for x in zip(result_list):
|
91
|
+
flat_results.extend(x)
|
92
|
+
|
93
|
+
flat_indices = np.array(flat_indices)
|
94
|
+
flat_results = np.array(flat_results)
|
95
|
+
|
96
|
+
unique_indices, unique_indices_idx = np.unique(flat_indices, return_index=True)
|
97
|
+
meta.loc[unique_indices, column[0]] = flat_results[unique_indices_idx]
|
98
|
+
|
99
|
+
meta = meta.loc[unique_indices]
|
100
|
+
return meta
|
101
|
+
|
102
|
+
|
103
|
+
def worker_init_fn(worker_id):
|
104
|
+
# Set different seed for each worker
|
105
|
+
worker_seed = torch.initial_seed() % 2**32
|
106
|
+
np.random.seed(worker_seed)
|
107
|
+
# Prevent deadlocks by setting timeout
|
108
|
+
torch.set_num_threads(1)
|
109
|
+
|
110
|
+
def main():
|
111
|
+
parser = argparse.ArgumentParser(description="SkyCaptioner-V1 vllm batch inference")
|
112
|
+
parser.add_argument("--input_csv", default="./examples/test.csv")
|
113
|
+
parser.add_argument("--out_csv", default="./examples/test_result.csv")
|
114
|
+
parser.add_argument("--bs", type=int, default=4)
|
115
|
+
parser.add_argument("--tp", type=int, default=1)
|
116
|
+
parser.add_argument("--model_path", required=True, type=str, help="skycaptioner-v1 model path")
|
117
|
+
args = parser.parse_args()
|
118
|
+
|
119
|
+
dataset = VideoTextDataset(csv_path=args.input_csv, model_path=args.model_path)
|
120
|
+
dataloader = DataLoader(
|
121
|
+
dataset,
|
122
|
+
batch_size=args.bs,
|
123
|
+
num_workers=4,
|
124
|
+
worker_init_fn=worker_init_fn,
|
125
|
+
persistent_workers=True,
|
126
|
+
timeout=180,
|
127
|
+
)
|
128
|
+
|
129
|
+
sampling_params = SamplingParams(temperature=0.05, max_tokens=2048)
|
130
|
+
|
131
|
+
llm = LLM(model=args.model_path,
|
132
|
+
gpu_memory_utilization=0.6,
|
133
|
+
max_model_len=31920,
|
134
|
+
tensor_parallel_size=args.tp)
|
135
|
+
|
136
|
+
indices_list = []
|
137
|
+
caption_save = []
|
138
|
+
for video_batch in tqdm(dataloader):
|
139
|
+
indices = video_batch["index"]
|
140
|
+
inputs = video_batch["input"]
|
141
|
+
batch_user_inputs = []
|
142
|
+
for prompt, video in zip(inputs['prompt'], inputs['multi_modal_data']['video'][0]):
|
143
|
+
usi={'prompt':prompt, 'multi_modal_data':{'video':video}}
|
144
|
+
batch_user_inputs.append(usi)
|
145
|
+
outputs = llm.generate(batch_user_inputs, sampling_params, use_tqdm=False)
|
146
|
+
struct_outputs = [output.outputs[0].text for output in outputs]
|
147
|
+
|
148
|
+
indices_list.extend(indices.tolist())
|
149
|
+
caption_save.extend(struct_outputs)
|
150
|
+
|
151
|
+
meta_new = result_writer(indices_list, caption_save, dataset.meta, column=["structural_caption"])
|
152
|
+
meta_new.to_csv(args.out_csv, index=False)
|
153
|
+
print(f'Saved structural_caption to {args.out_csv}')
|
154
|
+
|
155
|
+
if __name__ == '__main__':
|
156
|
+
main()
|
@@ -0,0 +1 @@
|
|
1
|
+
from .pipelines import DiffusionForcingPipeline
|
@@ -0,0 +1,286 @@
|
|
1
|
+
import numpy as np
|
2
|
+
import torch
|
3
|
+
import torch.amp as amp
|
4
|
+
from torch.backends.cuda import sdp_kernel
|
5
|
+
from xfuser.core.distributed import get_sequence_parallel_rank
|
6
|
+
from xfuser.core.distributed import get_sequence_parallel_world_size
|
7
|
+
from xfuser.core.distributed import get_sp_group
|
8
|
+
from xfuser.core.long_ctx_attention import xFuserLongContextAttention
|
9
|
+
|
10
|
+
from ..modules.transformer import sinusoidal_embedding_1d
|
11
|
+
|
12
|
+
|
13
|
+
def pad_freqs(original_tensor, target_len):
|
14
|
+
seq_len, s1, s2 = original_tensor.shape
|
15
|
+
pad_size = target_len - seq_len
|
16
|
+
padding_tensor = torch.ones(pad_size, s1, s2, dtype=original_tensor.dtype, device=original_tensor.device)
|
17
|
+
padded_tensor = torch.cat([original_tensor, padding_tensor], dim=0)
|
18
|
+
return padded_tensor
|
19
|
+
|
20
|
+
|
21
|
+
@amp.autocast("cuda", enabled=False)
|
22
|
+
def rope_apply(x, grid_sizes, freqs):
|
23
|
+
"""
|
24
|
+
x: [B, L, N, C].
|
25
|
+
grid_sizes: [B, 3].
|
26
|
+
freqs: [M, C // 2].
|
27
|
+
"""
|
28
|
+
s, n, c = x.size(1), x.size(2), x.size(3) // 2
|
29
|
+
# split freqs
|
30
|
+
freqs = freqs.split([c - 2 * (c // 3), c // 3, c // 3], dim=1)
|
31
|
+
|
32
|
+
# loop over samples
|
33
|
+
output = []
|
34
|
+
grid = [grid_sizes.tolist()] * x.size(0)
|
35
|
+
for i, (f, h, w) in enumerate(grid):
|
36
|
+
seq_len = f * h * w
|
37
|
+
|
38
|
+
# precompute multipliers
|
39
|
+
x_i = torch.view_as_complex(x[i, :s].to(torch.float64).reshape(s, n, -1, 2))
|
40
|
+
freqs_i = torch.cat(
|
41
|
+
[
|
42
|
+
freqs[0][:f].view(f, 1, 1, -1).expand(f, h, w, -1),
|
43
|
+
freqs[1][:h].view(1, h, 1, -1).expand(f, h, w, -1),
|
44
|
+
freqs[2][:w].view(1, 1, w, -1).expand(f, h, w, -1),
|
45
|
+
],
|
46
|
+
dim=-1,
|
47
|
+
).reshape(seq_len, 1, -1)
|
48
|
+
|
49
|
+
# apply rotary embedding
|
50
|
+
sp_size = get_sequence_parallel_world_size()
|
51
|
+
sp_rank = get_sequence_parallel_rank()
|
52
|
+
freqs_i = pad_freqs(freqs_i, s * sp_size)
|
53
|
+
s_per_rank = s
|
54
|
+
freqs_i_rank = freqs_i[(sp_rank * s_per_rank) : ((sp_rank + 1) * s_per_rank), :, :]
|
55
|
+
x_i = torch.view_as_real(x_i * freqs_i_rank.cuda()).flatten(2)
|
56
|
+
x_i = torch.cat([x_i, x[i, s:]])
|
57
|
+
|
58
|
+
# append to collection
|
59
|
+
output.append(x_i)
|
60
|
+
return torch.stack(output).float()
|
61
|
+
|
62
|
+
|
63
|
+
def broadcast_should_calc(should_calc: bool) -> bool:
|
64
|
+
import torch.distributed as dist
|
65
|
+
|
66
|
+
device = torch.cuda.current_device()
|
67
|
+
int_should_calc = 1 if should_calc else 0
|
68
|
+
tensor = torch.tensor([int_should_calc], device=device, dtype=torch.int8)
|
69
|
+
dist.broadcast(tensor, src=0)
|
70
|
+
should_calc = tensor.item() == 1
|
71
|
+
return should_calc
|
72
|
+
|
73
|
+
|
74
|
+
def usp_dit_forward(self, x, t, context, clip_fea=None, y=None, fps=None):
|
75
|
+
"""
|
76
|
+
x: A list of videos each with shape [C, T, H, W].
|
77
|
+
t: [B].
|
78
|
+
context: A list of text embeddings each with shape [L, C].
|
79
|
+
"""
|
80
|
+
if self.model_type == "i2v":
|
81
|
+
assert clip_fea is not None and y is not None
|
82
|
+
# params
|
83
|
+
device = self.patch_embedding.weight.device
|
84
|
+
if self.freqs.device != device:
|
85
|
+
self.freqs = self.freqs.to(device)
|
86
|
+
|
87
|
+
if y is not None:
|
88
|
+
x = torch.cat([x, y], dim=1)
|
89
|
+
|
90
|
+
# embeddings
|
91
|
+
x = self.patch_embedding(x)
|
92
|
+
grid_sizes = torch.tensor(x.shape[2:], dtype=torch.long)
|
93
|
+
x = x.flatten(2).transpose(1, 2)
|
94
|
+
|
95
|
+
if self.flag_causal_attention:
|
96
|
+
frame_num = grid_sizes[0]
|
97
|
+
height = grid_sizes[1]
|
98
|
+
width = grid_sizes[2]
|
99
|
+
block_num = frame_num // self.num_frame_per_block
|
100
|
+
range_tensor = torch.arange(block_num).view(-1, 1)
|
101
|
+
range_tensor = range_tensor.repeat(1, self.num_frame_per_block).flatten()
|
102
|
+
casual_mask = range_tensor.unsqueeze(0) <= range_tensor.unsqueeze(1) # f, f
|
103
|
+
casual_mask = casual_mask.view(frame_num, 1, 1, frame_num, 1, 1).to(x.device)
|
104
|
+
casual_mask = casual_mask.repeat(1, height, width, 1, height, width)
|
105
|
+
casual_mask = casual_mask.reshape(frame_num * height * width, frame_num * height * width)
|
106
|
+
self.block_mask = casual_mask.unsqueeze(0).unsqueeze(0)
|
107
|
+
|
108
|
+
# time embeddings
|
109
|
+
with amp.autocast("cuda", dtype=torch.float32):
|
110
|
+
if t.dim() == 2:
|
111
|
+
b, f = t.shape
|
112
|
+
_flag_df = True
|
113
|
+
else:
|
114
|
+
_flag_df = False
|
115
|
+
e = self.time_embedding(
|
116
|
+
sinusoidal_embedding_1d(self.freq_dim, t.flatten()).to(self.patch_embedding.weight.dtype)
|
117
|
+
) # b, dim
|
118
|
+
e0 = self.time_projection(e).unflatten(1, (6, self.dim)) # b, 6, dim
|
119
|
+
|
120
|
+
if self.inject_sample_info:
|
121
|
+
fps = torch.tensor(fps, dtype=torch.long, device=device)
|
122
|
+
|
123
|
+
fps_emb = self.fps_embedding(fps).float()
|
124
|
+
if _flag_df:
|
125
|
+
e0 = e0 + self.fps_projection(fps_emb).unflatten(1, (6, self.dim)).repeat(t.shape[1], 1, 1)
|
126
|
+
else:
|
127
|
+
e0 = e0 + self.fps_projection(fps_emb).unflatten(1, (6, self.dim))
|
128
|
+
|
129
|
+
if _flag_df:
|
130
|
+
e = e.view(b, f, 1, 1, self.dim)
|
131
|
+
e0 = e0.view(b, f, 1, 1, 6, self.dim)
|
132
|
+
e = e.repeat(1, 1, grid_sizes[1], grid_sizes[2], 1).flatten(1, 3)
|
133
|
+
e0 = e0.repeat(1, 1, grid_sizes[1], grid_sizes[2], 1, 1).flatten(1, 3)
|
134
|
+
e0 = e0.transpose(1, 2).contiguous()
|
135
|
+
|
136
|
+
assert e.dtype == torch.float32 and e0.dtype == torch.float32
|
137
|
+
|
138
|
+
# context
|
139
|
+
context = self.text_embedding(context)
|
140
|
+
|
141
|
+
if clip_fea is not None:
|
142
|
+
context_clip = self.img_emb(clip_fea) # bs x 257 x dim
|
143
|
+
context = torch.concat([context_clip, context], dim=1)
|
144
|
+
|
145
|
+
# arguments
|
146
|
+
if e0.ndim == 4:
|
147
|
+
e0 = torch.chunk(e0, get_sequence_parallel_world_size(), dim=2)[get_sequence_parallel_rank()]
|
148
|
+
kwargs = dict(e=e0, grid_sizes=grid_sizes, freqs=self.freqs, context=context, block_mask=self.block_mask)
|
149
|
+
|
150
|
+
if self.enable_teacache:
|
151
|
+
modulated_inp = e0 if self.use_ref_steps else e
|
152
|
+
# teacache
|
153
|
+
if self.cnt % 2 == 0: # even -> conditon
|
154
|
+
self.is_even = True
|
155
|
+
if self.cnt < self.ret_steps or self.cnt >= self.cutoff_steps:
|
156
|
+
should_calc_even = True
|
157
|
+
self.accumulated_rel_l1_distance_even = 0
|
158
|
+
else:
|
159
|
+
rescale_func = np.poly1d(self.coefficients)
|
160
|
+
self.accumulated_rel_l1_distance_even += rescale_func(
|
161
|
+
((modulated_inp - self.previous_e0_even).abs().mean() / self.previous_e0_even.abs().mean())
|
162
|
+
.cpu()
|
163
|
+
.item()
|
164
|
+
)
|
165
|
+
if self.accumulated_rel_l1_distance_even < self.teacache_thresh:
|
166
|
+
should_calc_even = False
|
167
|
+
else:
|
168
|
+
should_calc_even = True
|
169
|
+
self.accumulated_rel_l1_distance_even = 0
|
170
|
+
self.previous_e0_even = modulated_inp.clone()
|
171
|
+
else: # odd -> unconditon
|
172
|
+
self.is_even = False
|
173
|
+
if self.cnt < self.ret_steps or self.cnt >= self.cutoff_steps:
|
174
|
+
should_calc_odd = True
|
175
|
+
self.accumulated_rel_l1_distance_odd = 0
|
176
|
+
else:
|
177
|
+
rescale_func = np.poly1d(self.coefficients)
|
178
|
+
self.accumulated_rel_l1_distance_odd += rescale_func(
|
179
|
+
((modulated_inp - self.previous_e0_odd).abs().mean() / self.previous_e0_odd.abs().mean())
|
180
|
+
.cpu()
|
181
|
+
.item()
|
182
|
+
)
|
183
|
+
if self.accumulated_rel_l1_distance_odd < self.teacache_thresh:
|
184
|
+
should_calc_odd = False
|
185
|
+
else:
|
186
|
+
should_calc_odd = True
|
187
|
+
self.accumulated_rel_l1_distance_odd = 0
|
188
|
+
self.previous_e0_odd = modulated_inp.clone()
|
189
|
+
|
190
|
+
x = torch.chunk(x, get_sequence_parallel_world_size(), dim=1)[get_sequence_parallel_rank()]
|
191
|
+
if self.enable_teacache:
|
192
|
+
if self.is_even:
|
193
|
+
should_calc_even = broadcast_should_calc(should_calc_even)
|
194
|
+
if not should_calc_even:
|
195
|
+
x += self.previous_residual_even
|
196
|
+
else:
|
197
|
+
ori_x = x.clone()
|
198
|
+
for block in self.blocks:
|
199
|
+
x = block(x, **kwargs)
|
200
|
+
ori_x.mul_(-1)
|
201
|
+
ori_x.add_(x)
|
202
|
+
self.previous_residual_even = ori_x
|
203
|
+
else:
|
204
|
+
should_calc_odd = broadcast_should_calc(should_calc_odd)
|
205
|
+
if not should_calc_odd:
|
206
|
+
x += self.previous_residual_odd
|
207
|
+
else:
|
208
|
+
ori_x = x.clone()
|
209
|
+
for block in self.blocks:
|
210
|
+
x = block(x, **kwargs)
|
211
|
+
ori_x.mul_(-1)
|
212
|
+
ori_x.add_(x)
|
213
|
+
self.previous_residual_odd = ori_x
|
214
|
+
self.cnt += 1
|
215
|
+
if self.cnt >= self.num_steps:
|
216
|
+
self.cnt = 0
|
217
|
+
else:
|
218
|
+
# Context Parallel
|
219
|
+
for block in self.blocks:
|
220
|
+
x = block(x, **kwargs)
|
221
|
+
|
222
|
+
# head
|
223
|
+
if e.ndim == 3:
|
224
|
+
e = torch.chunk(e, get_sequence_parallel_world_size(), dim=1)[get_sequence_parallel_rank()]
|
225
|
+
x = self.head(x, e)
|
226
|
+
# Context Parallel
|
227
|
+
x = get_sp_group().all_gather(x, dim=1)
|
228
|
+
# unpatchify
|
229
|
+
x = self.unpatchify(x, grid_sizes)
|
230
|
+
return x.float()
|
231
|
+
|
232
|
+
|
233
|
+
def usp_attn_forward(self, x, grid_sizes, freqs, block_mask):
|
234
|
+
|
235
|
+
r"""
|
236
|
+
Args:
|
237
|
+
x(Tensor): Shape [B, L, num_heads, C / num_heads]
|
238
|
+
seq_lens(Tensor): Shape [B]
|
239
|
+
grid_sizes(Tensor): Shape [B, 3], the second dimension contains (F, H, W)
|
240
|
+
freqs(Tensor): Rope freqs, shape [1024, C / num_heads / 2]
|
241
|
+
"""
|
242
|
+
b, s, n, d = *x.shape[:2], self.num_heads, self.head_dim
|
243
|
+
half_dtypes = (torch.float16, torch.bfloat16)
|
244
|
+
|
245
|
+
def half(x):
|
246
|
+
return x if x.dtype in half_dtypes else x.to(torch.bfloat16)
|
247
|
+
|
248
|
+
# query, key, value function
|
249
|
+
def qkv_fn(x):
|
250
|
+
q = self.norm_q(self.q(x)).view(b, s, n, d)
|
251
|
+
k = self.norm_k(self.k(x)).view(b, s, n, d)
|
252
|
+
v = self.v(x).view(b, s, n, d)
|
253
|
+
return q, k, v
|
254
|
+
|
255
|
+
x = x.to(self.q.weight.dtype)
|
256
|
+
q, k, v = qkv_fn(x)
|
257
|
+
|
258
|
+
if not self._flag_ar_attention:
|
259
|
+
q = rope_apply(q, grid_sizes, freqs)
|
260
|
+
k = rope_apply(k, grid_sizes, freqs)
|
261
|
+
else:
|
262
|
+
|
263
|
+
q = rope_apply(q, grid_sizes, freqs)
|
264
|
+
k = rope_apply(k, grid_sizes, freqs)
|
265
|
+
q = q.to(torch.bfloat16)
|
266
|
+
k = k.to(torch.bfloat16)
|
267
|
+
v = v.to(torch.bfloat16)
|
268
|
+
# x = torch.nn.functional.scaled_dot_product_attention(
|
269
|
+
# q.transpose(1, 2),
|
270
|
+
# k.transpose(1, 2),
|
271
|
+
# v.transpose(1, 2),
|
272
|
+
# ).transpose(1, 2).contiguous()
|
273
|
+
with sdp_kernel(enable_flash=True, enable_math=False, enable_mem_efficient=False):
|
274
|
+
x = (
|
275
|
+
torch.nn.functional.scaled_dot_product_attention(
|
276
|
+
q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), attn_mask=block_mask
|
277
|
+
)
|
278
|
+
.transpose(1, 2)
|
279
|
+
.contiguous()
|
280
|
+
)
|
281
|
+
x = xFuserLongContextAttention()(None, query=half(q), key=half(k), value=half(v), window_size=self.window_size)
|
282
|
+
|
283
|
+
# output
|
284
|
+
x = x.flatten(2)
|
285
|
+
x = self.o(x)
|
286
|
+
return x
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import gc
|
2
|
+
import os
|
3
|
+
|
4
|
+
import torch
|
5
|
+
from safetensors.torch import load_file
|
6
|
+
|
7
|
+
from .clip import CLIPModel
|
8
|
+
from .t5 import T5EncoderModel
|
9
|
+
from .transformer import WanModel
|
10
|
+
from .vae import WanVAE
|
11
|
+
|
12
|
+
|
13
|
+
def download_model(model_id):
|
14
|
+
if not os.path.exists(model_id):
|
15
|
+
from huggingface_hub import snapshot_download
|
16
|
+
|
17
|
+
model_id = snapshot_download(repo_id=model_id)
|
18
|
+
return model_id
|
19
|
+
|
20
|
+
|
21
|
+
def get_vae(model_path, device="cuda", weight_dtype=torch.float32) -> WanVAE:
|
22
|
+
vae = WanVAE(model_path).to(device).to(weight_dtype)
|
23
|
+
vae.vae.requires_grad_(False)
|
24
|
+
vae.vae.eval()
|
25
|
+
gc.collect()
|
26
|
+
torch.cuda.empty_cache()
|
27
|
+
return vae
|
28
|
+
|
29
|
+
|
30
|
+
def get_transformer(model_path, device="cuda", weight_dtype=torch.bfloat16) -> WanModel:
|
31
|
+
config_path = os.path.join(model_path, "config.json")
|
32
|
+
transformer = WanModel.from_config(config_path).to(weight_dtype).to(device)
|
33
|
+
|
34
|
+
for file in os.listdir(model_path):
|
35
|
+
if file.endswith(".safetensors"):
|
36
|
+
file_path = os.path.join(model_path, file)
|
37
|
+
state_dict = load_file(file_path)
|
38
|
+
transformer.load_state_dict(state_dict, strict=False)
|
39
|
+
del state_dict
|
40
|
+
gc.collect()
|
41
|
+
torch.cuda.empty_cache()
|
42
|
+
|
43
|
+
transformer.requires_grad_(False)
|
44
|
+
transformer.eval()
|
45
|
+
gc.collect()
|
46
|
+
torch.cuda.empty_cache()
|
47
|
+
return transformer
|
48
|
+
|
49
|
+
|
50
|
+
def get_text_encoder(model_path, device="cuda", weight_dtype=torch.bfloat16) -> T5EncoderModel:
|
51
|
+
t5_model = os.path.join(model_path, "models_t5_umt5-xxl-enc-bf16.pth")
|
52
|
+
tokenizer_path = os.path.join(model_path, "google", "umt5-xxl")
|
53
|
+
text_encoder = T5EncoderModel(checkpoint_path=t5_model, tokenizer_path=tokenizer_path).to(device).to(weight_dtype)
|
54
|
+
text_encoder.requires_grad_(False)
|
55
|
+
text_encoder.eval()
|
56
|
+
gc.collect()
|
57
|
+
torch.cuda.empty_cache()
|
58
|
+
return text_encoder
|
59
|
+
|
60
|
+
|
61
|
+
def get_image_encoder(model_path, device="cuda", weight_dtype=torch.bfloat16) -> CLIPModel:
|
62
|
+
checkpoint_path = os.path.join(model_path, "models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth")
|
63
|
+
tokenizer_path = os.path.join(model_path, "xlm-roberta-large")
|
64
|
+
image_enc = CLIPModel(checkpoint_path, tokenizer_path).to(weight_dtype).to(device)
|
65
|
+
image_enc.requires_grad_(False)
|
66
|
+
image_enc.eval()
|
67
|
+
gc.collect()
|
68
|
+
torch.cuda.empty_cache()
|
69
|
+
return image_enc
|
@@ -0,0 +1,179 @@
|
|
1
|
+
# Copyright 2024-2025 The Alibaba Wan Team Authors. All rights reserved.
|
2
|
+
import torch
|
3
|
+
|
4
|
+
try:
|
5
|
+
import flash_attn_interface
|
6
|
+
|
7
|
+
FLASH_ATTN_3_AVAILABLE = True
|
8
|
+
except ModuleNotFoundError:
|
9
|
+
FLASH_ATTN_3_AVAILABLE = False
|
10
|
+
|
11
|
+
try:
|
12
|
+
import flash_attn
|
13
|
+
|
14
|
+
FLASH_ATTN_2_AVAILABLE = True
|
15
|
+
except ModuleNotFoundError:
|
16
|
+
FLASH_ATTN_2_AVAILABLE = False
|
17
|
+
|
18
|
+
import warnings
|
19
|
+
|
20
|
+
__all__ = [
|
21
|
+
"flash_attention",
|
22
|
+
"attention",
|
23
|
+
]
|
24
|
+
|
25
|
+
|
26
|
+
def flash_attention(
|
27
|
+
q,
|
28
|
+
k,
|
29
|
+
v,
|
30
|
+
q_lens=None,
|
31
|
+
k_lens=None,
|
32
|
+
dropout_p=0.0,
|
33
|
+
softmax_scale=None,
|
34
|
+
q_scale=None,
|
35
|
+
causal=False,
|
36
|
+
window_size=(-1, -1),
|
37
|
+
deterministic=False,
|
38
|
+
dtype=torch.bfloat16,
|
39
|
+
version=None,
|
40
|
+
):
|
41
|
+
"""
|
42
|
+
q: [B, Lq, Nq, C1].
|
43
|
+
k: [B, Lk, Nk, C1].
|
44
|
+
v: [B, Lk, Nk, C2]. Nq must be divisible by Nk.
|
45
|
+
q_lens: [B].
|
46
|
+
k_lens: [B].
|
47
|
+
dropout_p: float. Dropout probability.
|
48
|
+
softmax_scale: float. The scaling of QK^T before applying softmax.
|
49
|
+
causal: bool. Whether to apply causal attention mask.
|
50
|
+
window_size: (left right). If not (-1, -1), apply sliding window local attention.
|
51
|
+
deterministic: bool. If True, slightly slower and uses more memory.
|
52
|
+
dtype: torch.dtype. Apply when dtype of q/k/v is not float16/bfloat16.
|
53
|
+
"""
|
54
|
+
half_dtypes = (torch.float16, torch.bfloat16)
|
55
|
+
assert dtype in half_dtypes
|
56
|
+
assert q.device.type == "cuda" and q.size(-1) <= 256
|
57
|
+
|
58
|
+
# params
|
59
|
+
b, lq, lk, out_dtype = q.size(0), q.size(1), k.size(1), q.dtype
|
60
|
+
|
61
|
+
def half(x):
|
62
|
+
return x if x.dtype in half_dtypes else x.to(dtype)
|
63
|
+
|
64
|
+
# preprocess query
|
65
|
+
|
66
|
+
q = half(q.flatten(0, 1))
|
67
|
+
q_lens = torch.tensor([lq] * b, dtype=torch.int32).to(device=q.device, non_blocking=True)
|
68
|
+
|
69
|
+
# preprocess key, value
|
70
|
+
|
71
|
+
k = half(k.flatten(0, 1))
|
72
|
+
v = half(v.flatten(0, 1))
|
73
|
+
k_lens = torch.tensor([lk] * b, dtype=torch.int32).to(device=k.device, non_blocking=True)
|
74
|
+
|
75
|
+
q = q.to(v.dtype)
|
76
|
+
k = k.to(v.dtype)
|
77
|
+
|
78
|
+
if q_scale is not None:
|
79
|
+
q = q * q_scale
|
80
|
+
|
81
|
+
if version is not None and version == 3 and not FLASH_ATTN_3_AVAILABLE:
|
82
|
+
warnings.warn("Flash attention 3 is not available, use flash attention 2 instead.")
|
83
|
+
|
84
|
+
torch.cuda.nvtx.range_push(f"{list(q.shape)}-{list(k.shape)}-{list(v.shape)}-{q.dtype}-{k.dtype}-{v.dtype}")
|
85
|
+
# apply attention
|
86
|
+
if (version is None or version == 3) and FLASH_ATTN_3_AVAILABLE:
|
87
|
+
# Note: dropout_p, window_size are not supported in FA3 now.
|
88
|
+
x = flash_attn_interface.flash_attn_varlen_func(
|
89
|
+
q=q,
|
90
|
+
k=k,
|
91
|
+
v=v,
|
92
|
+
cu_seqlens_q=torch.cat([q_lens.new_zeros([1]), q_lens])
|
93
|
+
.cumsum(0, dtype=torch.int32)
|
94
|
+
.to(q.device, non_blocking=True),
|
95
|
+
cu_seqlens_k=torch.cat([k_lens.new_zeros([1]), k_lens])
|
96
|
+
.cumsum(0, dtype=torch.int32)
|
97
|
+
.to(q.device, non_blocking=True),
|
98
|
+
seqused_q=None,
|
99
|
+
seqused_k=None,
|
100
|
+
max_seqlen_q=lq,
|
101
|
+
max_seqlen_k=lk,
|
102
|
+
softmax_scale=softmax_scale,
|
103
|
+
causal=causal,
|
104
|
+
deterministic=deterministic,
|
105
|
+
)[0].unflatten(0, (b, lq))
|
106
|
+
else:
|
107
|
+
assert FLASH_ATTN_2_AVAILABLE
|
108
|
+
x = flash_attn.flash_attn_varlen_func(
|
109
|
+
q=q,
|
110
|
+
k=k,
|
111
|
+
v=v,
|
112
|
+
cu_seqlens_q=torch.cat([q_lens.new_zeros([1]), q_lens])
|
113
|
+
.cumsum(0, dtype=torch.int32)
|
114
|
+
.to(q.device, non_blocking=True),
|
115
|
+
cu_seqlens_k=torch.cat([k_lens.new_zeros([1]), k_lens])
|
116
|
+
.cumsum(0, dtype=torch.int32)
|
117
|
+
.to(q.device, non_blocking=True),
|
118
|
+
max_seqlen_q=lq,
|
119
|
+
max_seqlen_k=lk,
|
120
|
+
dropout_p=dropout_p,
|
121
|
+
softmax_scale=softmax_scale,
|
122
|
+
causal=causal,
|
123
|
+
window_size=window_size,
|
124
|
+
deterministic=deterministic,
|
125
|
+
).unflatten(0, (b, lq))
|
126
|
+
torch.cuda.nvtx.range_pop()
|
127
|
+
|
128
|
+
# output
|
129
|
+
return x
|
130
|
+
|
131
|
+
|
132
|
+
def attention(
|
133
|
+
q,
|
134
|
+
k,
|
135
|
+
v,
|
136
|
+
q_lens=None,
|
137
|
+
k_lens=None,
|
138
|
+
dropout_p=0.0,
|
139
|
+
softmax_scale=None,
|
140
|
+
q_scale=None,
|
141
|
+
causal=False,
|
142
|
+
window_size=(-1, -1),
|
143
|
+
deterministic=False,
|
144
|
+
dtype=torch.bfloat16,
|
145
|
+
fa_version=None,
|
146
|
+
):
|
147
|
+
if FLASH_ATTN_2_AVAILABLE or FLASH_ATTN_3_AVAILABLE:
|
148
|
+
return flash_attention(
|
149
|
+
q=q,
|
150
|
+
k=k,
|
151
|
+
v=v,
|
152
|
+
q_lens=q_lens,
|
153
|
+
k_lens=k_lens,
|
154
|
+
dropout_p=dropout_p,
|
155
|
+
softmax_scale=softmax_scale,
|
156
|
+
q_scale=q_scale,
|
157
|
+
causal=causal,
|
158
|
+
window_size=window_size,
|
159
|
+
deterministic=deterministic,
|
160
|
+
dtype=dtype,
|
161
|
+
version=fa_version,
|
162
|
+
)
|
163
|
+
else:
|
164
|
+
if q_lens is not None or k_lens is not None:
|
165
|
+
warnings.warn(
|
166
|
+
"Padding mask is disabled when using scaled_dot_product_attention. It can have a significant impact on performance."
|
167
|
+
)
|
168
|
+
attn_mask = None
|
169
|
+
|
170
|
+
q = q.transpose(1, 2).to(dtype)
|
171
|
+
k = k.transpose(1, 2).to(dtype)
|
172
|
+
v = v.transpose(1, 2).to(dtype)
|
173
|
+
|
174
|
+
out = torch.nn.functional.scaled_dot_product_attention(
|
175
|
+
q, k, v, attn_mask=attn_mask, is_causal=causal, dropout_p=dropout_p
|
176
|
+
)
|
177
|
+
|
178
|
+
out = out.transpose(1, 2).contiguous()
|
179
|
+
return out
|