appiq-solution 1.3.3 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/#Tools/APPIQ-METHOD/.bmad-config.json +13 -0
  2. package/#Tools/APPIQ-METHOD/.cursor/commands/analyze.md +27 -0
  3. package/#Tools/APPIQ-METHOD/.cursor/commands/appiq.md +27 -0
  4. package/#Tools/APPIQ-METHOD/.cursor/commands/help.md +27 -0
  5. package/#Tools/APPIQ-METHOD/.cursor/commands/story.md +27 -0
  6. package/#Tools/APPIQ-METHOD/CHANGELOG.md +119 -173
  7. package/#Tools/APPIQ-METHOD/DEVELOPMENT_GUIDE.md +855 -0
  8. package/#Tools/APPIQ-METHOD/NPM-README.md +138 -0
  9. package/#Tools/APPIQ-METHOD/SMART_WORKFLOW_GUIDE.md +401 -0
  10. package/#Tools/APPIQ-METHOD/activate-appiq.js +81 -0
  11. package/#Tools/APPIQ-METHOD/appiq-solution/README.md +226 -0
  12. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-flutter-mobile.yaml +114 -0
  13. package/#Tools/APPIQ-METHOD/bmad-core/agent-teams/team-fullstack.yaml +11 -1
  14. package/#Tools/APPIQ-METHOD/bmad-core/agents/analyst.md +7 -3
  15. package/#Tools/APPIQ-METHOD/bmad-core/agents/architect.md +6 -0
  16. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-orchestrator.md +0 -84
  17. package/#Tools/APPIQ-METHOD/bmad-core/agents/bmad-smart-launcher.md +170 -0
  18. package/#Tools/APPIQ-METHOD/bmad-core/agents/dev.md +31 -12
  19. package/#Tools/APPIQ-METHOD/bmad-core/agents/pm.md +10 -4
  20. package/#Tools/APPIQ-METHOD/bmad-core/agents/qa.md +17 -0
  21. package/#Tools/APPIQ-METHOD/bmad-core/agents/sm.md +8 -3
  22. package/#Tools/APPIQ-METHOD/bmad-core/agents/ux-expert.md +8 -3
  23. package/#Tools/APPIQ-METHOD/bmad-core/bmad-core/user-guide.md +0 -0
  24. package/#Tools/APPIQ-METHOD/bmad-core/checklists/security-validation-checklist.md +332 -0
  25. package/#Tools/APPIQ-METHOD/bmad-core/data/backend-services-integration.md +686 -0
  26. package/#Tools/APPIQ-METHOD/bmad-core/data/shadcn-ui-integration.md +388 -0
  27. package/#Tools/APPIQ-METHOD/bmad-core/data/technical-preferences.md +147 -1
  28. package/#Tools/APPIQ-METHOD/bmad-core/enhanced-ide-development-workflow.md +43 -0
  29. package/#Tools/APPIQ-METHOD/bmad-core/tasks/create-flutter-story.md +197 -0
  30. package/#Tools/APPIQ-METHOD/bmad-core/tasks/intelligent-epic-creation.md +234 -0
  31. package/#Tools/APPIQ-METHOD/bmad-core/tasks/smart-project-analysis.md +289 -0
  32. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-mobile-prd-tmpl.yaml +330 -0
  33. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-story-tmpl.yaml +376 -0
  34. package/#Tools/APPIQ-METHOD/bmad-core/templates/flutter-ui-spec-tmpl.yaml +415 -0
  35. package/#Tools/APPIQ-METHOD/bmad-core/templates/fullstack-architecture-tmpl.yaml +12 -5
  36. package/#Tools/APPIQ-METHOD/bmad-core/user-guide.md +10 -9
  37. package/#Tools/APPIQ-METHOD/bmad-core/workflows/brownfield-fullstack.yaml +15 -1
  38. package/#Tools/APPIQ-METHOD/bmad-core/workflows/greenfield-fullstack.yaml +49 -5
  39. package/#Tools/APPIQ-METHOD/bmad-core/working-in-the-brownfield.md +56 -44
  40. package/#Tools/APPIQ-METHOD/commands/README.md +28 -0
  41. package/#Tools/APPIQ-METHOD/commands/analyze.md +27 -0
  42. package/#Tools/APPIQ-METHOD/commands/appiq.md +27 -0
  43. package/#Tools/APPIQ-METHOD/commands/help.md +27 -0
  44. package/#Tools/APPIQ-METHOD/commands/story.md +27 -0
  45. package/#Tools/APPIQ-METHOD/dist/agents/bmad-orchestrator.txt +0 -111
  46. package/#Tools/APPIQ-METHOD/dist/agents/pm.txt +2 -0
  47. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -111
  48. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -111
  49. package/#Tools/APPIQ-METHOD/dist/teams/team-all.txt +2 -111
  50. package/#Tools/APPIQ-METHOD/dist/teams/team-fullstack.txt +2 -111
  51. package/#Tools/APPIQ-METHOD/dist/teams/team-ide-minimal.txt +0 -111
  52. package/#Tools/APPIQ-METHOD/dist/teams/team-no-ui.txt +2 -111
  53. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  54. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  55. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agent-teams/flutter-mobile-team.yaml +23 -0
  56. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-cubit-agent.md +133 -0
  57. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-data-agent.md +160 -0
  58. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-domain-agent.md +153 -0
  59. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/flutter-ui-agent.md +122 -0
  60. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/agents/shared-components-agent.md +161 -0
  61. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/checklists/flutter-story-dod-checklist.md +194 -0
  62. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/config.yaml +41 -0
  63. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/data/flutter-development-guidelines.md +551 -0
  64. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/templates/flutter-mobile-architecture-tmpl.yaml +530 -0
  65. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-flutter-mobile-dev/workflows/flutter-ui-first-development.yaml +220 -0
  66. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  67. package/#Tools/APPIQ-METHOD/install-appiq.sh +41 -0
  68. package/#Tools/APPIQ-METHOD/package-lock.json +631 -0
  69. package/#Tools/APPIQ-METHOD/package.json +20 -69
  70. package/#Tools/APPIQ-METHOD/tasks/todo.md +275 -0
  71. package/#Tools/APPIQ-METHOD/tools/appiq-installer.js +2714 -0
  72. package/#Tools/APPIQ-METHOD/tools/bmad-npx-wrapper.js +5 -7
  73. package/#Tools/APPIQ-METHOD/tools/cli.js +3 -3
  74. package/#Tools/APPIQ-METHOD/tools/epic-solution-installer.js +538 -0
  75. package/#Tools/APPIQ-METHOD/tools/flattener/main.js +570 -0
  76. package/#Tools/APPIQ-METHOD/tools/installer/bin/bmad.js +15 -14
  77. package/#Tools/APPIQ-METHOD/tools/installer/lib/installer.js +28 -2
  78. package/#Tools/APPIQ-METHOD/tools/installer/package-lock.json +906 -0
  79. package/#Tools/APPIQ-METHOD/tools/installer/package.json +1 -1
  80. package/#Tools/APPIQ-METHOD/tools/setup-ide-commands.js +345 -0
  81. package/#Tools/APPIQ-METHOD/tools/smart-installer.js +589 -0
  82. package/package.json +20 -69
  83. package/tools/appiq-installer.js +2714 -0
  84. package/tools/bmad-npx-wrapper.js +5 -7
  85. package/tools/cli.js +3 -3
  86. package/tools/epic-solution-installer.js +538 -0
  87. package/tools/flattener/main.js +570 -0
  88. package/tools/installer/bin/bmad.js +15 -14
  89. package/tools/installer/lib/installer.js +28 -2
  90. package/tools/installer/package-lock.json +89 -89
  91. package/tools/installer/package.json +1 -1
  92. package/tools/setup-ide-commands.js +345 -0
  93. package/tools/smart-installer.js +589 -0
  94. package/#Tools/APPIQ-METHOD/appiq_start.md +0 -232
  95. package/#Tools/APPIQ-METHOD/deployment/DEPLOYMENT_GUIDE.md +0 -426
  96. package/#Tools/APPIQ-METHOD/deployment/GITHUB_RELEASE_GUIDE.md +0 -326
  97. package/#Tools/APPIQ-METHOD/deployment/README.md +0 -331
  98. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-all.yaml +0 -14
  99. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  100. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  101. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  102. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/analyst.md +0 -81
  103. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/architect.md +0 -84
  104. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-master.md +0 -108
  105. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/bmad-orchestrator.md +0 -234
  106. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/dev.md +0 -76
  107. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/pm.md +0 -79
  108. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/po.md +0 -76
  109. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/qa.md +0 -69
  110. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/sm.md +0 -62
  111. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/agents/ux-expert.md +0 -66
  112. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/architect-checklist.md +0 -443
  113. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/change-checklist.md +0 -182
  114. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/pm-checklist.md +0 -375
  115. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/po-master-checklist.md +0 -441
  116. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-dod-checklist.md +0 -101
  117. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/checklists/story-draft-checklist.md +0 -156
  118. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/bmad-kb.md +0 -803
  119. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/brainstorming-techniques.md +0 -36
  120. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/elicitation-methods.md +0 -134
  121. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/data/technical-preferences.md +0 -3
  122. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/advanced-elicitation.md +0 -117
  123. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-epic.md +0 -160
  124. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/brownfield-create-story.md +0 -147
  125. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/correct-course.md +0 -70
  126. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-brownfield-story.md +0 -304
  127. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-deep-research-prompt.md +0 -289
  128. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/create-next-story.md +0 -112
  129. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/document-project.md +0 -341
  130. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  131. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  132. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/index-docs.md +0 -179
  133. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/kb-mode-interaction.md +0 -75
  134. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/review-story.md +0 -145
  135. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/shard-doc.md +0 -187
  136. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/tasks/validate-next-story.md +0 -134
  137. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/architecture-tmpl.yaml +0 -650
  138. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  139. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  140. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  141. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
  142. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
  143. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  144. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
  145. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/market-research-tmpl.yaml +0 -252
  146. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/prd-tmpl.yaml +0 -202
  147. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  148. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/templates/story-tmpl.yaml +0 -137
  149. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/user-guide.md +0 -250
  150. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  151. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-service.yaml +0 -187
  152. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/brownfield-ui.yaml +0 -197
  153. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
  154. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-service.yaml +0 -206
  155. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/workflows/greenfield-ui.yaml +0 -235
  156. package/#Tools/APPIQ-METHOD/deployment/build/bmad-core/working-in-the-brownfield.md +0 -361
  157. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/README.md +0 -3
  158. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  159. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
  160. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
  161. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
  162. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  163. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  164. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
  165. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
  166. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
  167. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
  168. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  169. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
  170. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  171. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  172. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  173. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  174. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  175. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  176. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  177. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
  178. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
  179. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
  180. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
  181. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
  182. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -396
  183. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
  184. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
  185. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -132
  186. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
  187. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -776
  188. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -590
  189. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -111
  190. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -151
  191. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
  192. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -308
  193. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
  194. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
  195. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
  196. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
  197. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
  198. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  199. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  200. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
  201. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
  202. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
  203. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
  204. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
  205. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
  206. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -160
  207. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -154
  208. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  209. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  210. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
  211. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
  212. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
  213. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
  214. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
  215. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
  216. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
  217. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
  218. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
  219. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
  220. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
  221. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
  222. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
  223. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
  224. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
  225. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
  226. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
  227. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
  228. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
  229. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
  230. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
  231. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
  232. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
  233. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
  234. package/#Tools/APPIQ-METHOD/deployment/build/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
  235. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/appiq.md +0 -273
  236. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/claude-appiq.md +0 -294
  237. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/cursor-appiq.md +0 -516
  238. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/universal-appiq.md +0 -448
  239. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
  240. package/#Tools/APPIQ-METHOD/deployment/build/slash-commands/start.md +0 -211
  241. package/#Tools/APPIQ-METHOD/deployment/build-release.sh +0 -449
  242. package/#Tools/APPIQ-METHOD/deployment/create-release.sh +0 -196
  243. package/#Tools/APPIQ-METHOD/deployment/dist/appiq_installer.sh +0 -678
  244. package/#Tools/APPIQ-METHOD/deployment/docs/main_prd.md +0 -36
  245. package/#Tools/APPIQ-METHOD/deployment/init_appiq.sh +0 -805
  246. package/#Tools/APPIQ-METHOD/deployment/init_appiq_v2.sh +0 -678
  247. package/#Tools/APPIQ-METHOD/deployment/installers/appiq-global.sh +0 -91
  248. package/#Tools/APPIQ-METHOD/deployment/installers/claude-integration.sh +0 -281
  249. package/#Tools/APPIQ-METHOD/deployment/installers/cursor-integration.sh +0 -257
  250. package/#Tools/APPIQ-METHOD/deployment/installers/terminal-integration.sh +0 -645
  251. package/#Tools/APPIQ-METHOD/deployment/installers/windsurf-integration.sh +0 -350
  252. package/#Tools/APPIQ-METHOD/deployment/package-v2.sh +0 -97
  253. package/#Tools/APPIQ-METHOD/deployment/package.sh +0 -363
  254. package/#Tools/APPIQ-METHOD/deployment/quick-install.sh +0 -57
  255. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.txt +0 -1530
  256. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.txt +0 -322
  257. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.txt +0 -692
  258. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.txt +0 -382
  259. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.txt +0 -665
  260. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.txt +0 -1070
  261. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.txt +0 -1494
  262. package/#Tools/APPIQ-METHOD/dist/expansion-packs/bmad-mobile-app-dev/teams/mobile-team-cross-platform.txt +0 -15613
  263. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-cross-platform.yaml +0 -22
  264. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-flutter.yaml +0 -20
  265. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-minimal.yaml +0 -13
  266. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agent-teams/mobile-team-react-native.yaml +0 -20
  267. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-analytics.md +0 -1487
  268. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-architect.md +0 -279
  269. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-developer.md +0 -649
  270. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-pm.md +0 -339
  271. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-qa.md +0 -622
  272. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-security.md +0 -1027
  273. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/agents/mobile-ux-expert.md +0 -1451
  274. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/checklists/mobile-development-checklist.md +0 -490
  275. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/config.yaml +0 -54
  276. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/bmad-kb.md +0 -292
  277. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/data/flutter-development-guidelines.md +0 -483
  278. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/existing-app-analysis.md +0 -645
  279. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/tasks/platform-selection.md +0 -489
  280. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-architecture-tmpl.yaml +0 -437
  281. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/templates/mobile-prd-tmpl.yaml +0 -408
  282. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-app-development-init.yaml +0 -555
  283. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-flutter.yaml +0 -336
  284. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-brownfield-react-native.yaml +0 -345
  285. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-flutter.yaml +0 -281
  286. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-greenfield-react-native.yaml +0 -283
  287. package/#Tools/APPIQ-METHOD/expansion-packs/bmad-mobile-app-dev/workflows/mobile-platform-selection.yaml +0 -404
  288. package/#Tools/APPIQ-METHOD/package-bmad-backup.json +0 -78
  289. package/#Tools/APPIQ-METHOD/slash-commands/appiq.md +0 -273
  290. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/claude-appiq.md +0 -294
  291. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/cursor-appiq.md +0 -516
  292. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/universal-appiq.md +0 -448
  293. package/#Tools/APPIQ-METHOD/slash-commands/ide-integrations/windsurf-appiq.md +0 -698
  294. package/#Tools/APPIQ-METHOD/slash-commands/start.md +0 -211
  295. /package/#Tools/APPIQ-METHOD/{deployment/build/bmad-core/core-config.yaml → bmad-core/core-config.yaml.bak} +0 -0
@@ -0,0 +1,686 @@
1
+ # Backend Services Integration Guide
2
+
3
+ ## 📋 Overview
4
+
5
+ This guide provides comprehensive integration instructions for modern backend services including Firebase, Supabase, and traditional backend solutions with MCP tool integration for enhanced development workflows.
6
+
7
+ ## 🔥 Firebase Integration
8
+
9
+ ### Firebase Services Overview
10
+
11
+ Firebase provides a comprehensive suite of backend services:
12
+ - **Authentication**: Multi-provider authentication system
13
+ - **Firestore**: NoSQL document database with real-time updates
14
+ - **Realtime Database**: Real-time synchronized database
15
+ - **Storage**: File storage and management
16
+ - **Functions**: Serverless backend logic
17
+ - **Hosting**: Web application hosting
18
+ - **Analytics**: User behavior analytics
19
+ - **Crashlytics**: Crash reporting and analysis
20
+
21
+ ### Firebase Setup
22
+
23
+ #### 1. Project Configuration
24
+ ```javascript
25
+ // firebase.config.js
26
+ import { initializeApp } from 'firebase/app';
27
+ import { getAuth } from 'firebase/auth';
28
+ import { getFirestore } from 'firebase/firestore';
29
+ import { getStorage } from 'firebase/storage';
30
+ import { getFunctions } from 'firebase/functions';
31
+
32
+ const firebaseConfig = {
33
+ apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
34
+ authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
35
+ projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
36
+ storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
37
+ messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
38
+ appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID
39
+ };
40
+
41
+ // Initialize Firebase
42
+ const app = initializeApp(firebaseConfig);
43
+
44
+ // Initialize Firebase services
45
+ export const auth = getAuth(app);
46
+ export const db = getFirestore(app);
47
+ export const storage = getStorage(app);
48
+ export const functions = getFunctions(app);
49
+
50
+ export default app;
51
+ ```
52
+
53
+ #### 2. Authentication Service
54
+ ```typescript
55
+ // services/firebase-auth.service.ts
56
+ import {
57
+ signInWithEmailAndPassword,
58
+ createUserWithEmailAndPassword,
59
+ signOut,
60
+ onAuthStateChanged,
61
+ GoogleAuthProvider,
62
+ signInWithPopup
63
+ } from 'firebase/auth';
64
+ import { auth } from '../config/firebase.config';
65
+
66
+ export class FirebaseAuthService {
67
+ // Email/Password Authentication
68
+ async signInWithEmail(email: string, password: string) {
69
+ try {
70
+ const userCredential = await signInWithEmailAndPassword(auth, email, password);
71
+ return { user: userCredential.user, error: null };
72
+ } catch (error) {
73
+ return { user: null, error: error.message };
74
+ }
75
+ }
76
+
77
+ async signUpWithEmail(email: string, password: string) {
78
+ try {
79
+ const userCredential = await createUserWithEmailAndPassword(auth, email, password);
80
+ return { user: userCredential.user, error: null };
81
+ } catch (error) {
82
+ return { user: null, error: error.message };
83
+ }
84
+ }
85
+
86
+ // Google Authentication
87
+ async signInWithGoogle() {
88
+ try {
89
+ const provider = new GoogleAuthProvider();
90
+ const userCredential = await signInWithPopup(auth, provider);
91
+ return { user: userCredential.user, error: null };
92
+ } catch (error) {
93
+ return { user: null, error: error.message };
94
+ }
95
+ }
96
+
97
+ // Sign Out
98
+ async signOut() {
99
+ try {
100
+ await signOut(auth);
101
+ return { success: true, error: null };
102
+ } catch (error) {
103
+ return { success: false, error: error.message };
104
+ }
105
+ }
106
+
107
+ // Auth State Observer
108
+ onAuthStateChange(callback: (user: any) => void) {
109
+ return onAuthStateChanged(auth, callback);
110
+ }
111
+ }
112
+ ```
113
+
114
+ #### 3. Firestore Database Service
115
+ ```typescript
116
+ // services/firebase-firestore.service.ts
117
+ import {
118
+ collection,
119
+ doc,
120
+ getDocs,
121
+ getDoc,
122
+ addDoc,
123
+ updateDoc,
124
+ deleteDoc,
125
+ query,
126
+ where,
127
+ orderBy,
128
+ limit,
129
+ onSnapshot
130
+ } from 'firebase/firestore';
131
+ import { db } from '../config/firebase.config';
132
+
133
+ export class FirestoreService<T> {
134
+ constructor(private collectionName: string) {}
135
+
136
+ // Create document
137
+ async create(data: Omit<T, 'id'>): Promise<string> {
138
+ try {
139
+ const docRef = await addDoc(collection(db, this.collectionName), data);
140
+ return docRef.id;
141
+ } catch (error) {
142
+ throw new Error(`Failed to create document: ${error.message}`);
143
+ }
144
+ }
145
+
146
+ // Get all documents
147
+ async getAll(): Promise<T[]> {
148
+ try {
149
+ const querySnapshot = await getDocs(collection(db, this.collectionName));
150
+ return querySnapshot.docs.map(doc => ({
151
+ id: doc.id,
152
+ ...doc.data()
153
+ } as T));
154
+ } catch (error) {
155
+ throw new Error(`Failed to get documents: ${error.message}`);
156
+ }
157
+ }
158
+
159
+ // Get document by ID
160
+ async getById(id: string): Promise<T | null> {
161
+ try {
162
+ const docRef = doc(db, this.collectionName, id);
163
+ const docSnap = await getDoc(docRef);
164
+
165
+ if (docSnap.exists()) {
166
+ return { id: docSnap.id, ...docSnap.data() } as T;
167
+ }
168
+ return null;
169
+ } catch (error) {
170
+ throw new Error(`Failed to get document: ${error.message}`);
171
+ }
172
+ }
173
+
174
+ // Update document
175
+ async update(id: string, data: Partial<T>): Promise<void> {
176
+ try {
177
+ const docRef = doc(db, this.collectionName, id);
178
+ await updateDoc(docRef, data);
179
+ } catch (error) {
180
+ throw new Error(`Failed to update document: ${error.message}`);
181
+ }
182
+ }
183
+
184
+ // Delete document
185
+ async delete(id: string): Promise<void> {
186
+ try {
187
+ const docRef = doc(db, this.collectionName, id);
188
+ await deleteDoc(docRef);
189
+ } catch (error) {
190
+ throw new Error(`Failed to delete document: ${error.message}`);
191
+ }
192
+ }
193
+
194
+ // Real-time listener
195
+ onSnapshot(callback: (data: T[]) => void) {
196
+ const q = collection(db, this.collectionName);
197
+ return onSnapshot(q, (querySnapshot) => {
198
+ const data = querySnapshot.docs.map(doc => ({
199
+ id: doc.id,
200
+ ...doc.data()
201
+ } as T));
202
+ callback(data);
203
+ });
204
+ }
205
+
206
+ // Query with filters
207
+ async query(filters: { field: string; operator: any; value: any }[]): Promise<T[]> {
208
+ try {
209
+ let q = collection(db, this.collectionName);
210
+
211
+ filters.forEach(filter => {
212
+ q = query(q, where(filter.field, filter.operator, filter.value));
213
+ });
214
+
215
+ const querySnapshot = await getDocs(q);
216
+ return querySnapshot.docs.map(doc => ({
217
+ id: doc.id,
218
+ ...doc.data()
219
+ } as T));
220
+ } catch (error) {
221
+ throw new Error(`Failed to query documents: ${error.message}`);
222
+ }
223
+ }
224
+ }
225
+ ```
226
+
227
+ ### Firebase MCP Integration
228
+
229
+ ```typescript
230
+ // MCP Firebase integration
231
+ interface FirebaseMCPIntegration {
232
+ // Firebase project management
233
+ createProject(config: FirebaseConfig): Promise<ProjectResult>;
234
+ deployFunctions(functions: CloudFunction[]): Promise<DeploymentResult>;
235
+ configureFirestore(rules: FirestoreRules): Promise<ConfigResult>;
236
+ setupAuthentication(providers: AuthProvider[]): Promise<AuthSetupResult>;
237
+
238
+ // Development helpers
239
+ generateFirebaseConfig(): Promise<ConfigCode>;
240
+ createServiceBoilerplate(service: FirebaseService): Promise<ServiceCode>;
241
+ optimizeFirestoreQueries(queries: FirestoreQuery[]): Promise<OptimizationSuggestions>;
242
+ }
243
+ ```
244
+
245
+ ## 🚀 Supabase Integration
246
+
247
+ ### Supabase Services Overview
248
+
249
+ Supabase provides an open-source Firebase alternative:
250
+ - **Database**: PostgreSQL with Row Level Security (RLS)
251
+ - **Authentication**: Multi-provider auth with JWT tokens
252
+ - **Storage**: File storage with CDN
253
+ - **Edge Functions**: Deno-based serverless functions
254
+ - **Real-time**: Real-time subscriptions
255
+ - **API**: Auto-generated REST and GraphQL APIs
256
+
257
+ ### Supabase Setup
258
+
259
+ #### 1. Project Configuration
260
+ ```typescript
261
+ // supabase.config.ts
262
+ import { createClient } from '@supabase/supabase-js';
263
+
264
+ const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!;
265
+ const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!;
266
+
267
+ export const supabase = createClient(supabaseUrl, supabaseAnonKey, {
268
+ auth: {
269
+ autoRefreshToken: true,
270
+ persistSession: true,
271
+ detectSessionInUrl: true
272
+ }
273
+ });
274
+
275
+ // Type-safe database interface
276
+ export type Database = {
277
+ public: {
278
+ Tables: {
279
+ users: {
280
+ Row: {
281
+ id: string;
282
+ email: string;
283
+ name: string;
284
+ created_at: string;
285
+ updated_at: string;
286
+ };
287
+ Insert: {
288
+ id?: string;
289
+ email: string;
290
+ name: string;
291
+ created_at?: string;
292
+ updated_at?: string;
293
+ };
294
+ Update: {
295
+ id?: string;
296
+ email?: string;
297
+ name?: string;
298
+ updated_at?: string;
299
+ };
300
+ };
301
+ };
302
+ };
303
+ };
304
+ ```
305
+
306
+ #### 2. Authentication Service
307
+ ```typescript
308
+ // services/supabase-auth.service.ts
309
+ import { supabase } from '../config/supabase.config';
310
+
311
+ export class SupabaseAuthService {
312
+ // Email/Password Authentication
313
+ async signInWithEmail(email: string, password: string) {
314
+ try {
315
+ const { data, error } = await supabase.auth.signInWithPassword({
316
+ email,
317
+ password
318
+ });
319
+ return { user: data.user, session: data.session, error };
320
+ } catch (error) {
321
+ return { user: null, session: null, error: error.message };
322
+ }
323
+ }
324
+
325
+ async signUpWithEmail(email: string, password: string) {
326
+ try {
327
+ const { data, error } = await supabase.auth.signUp({
328
+ email,
329
+ password
330
+ });
331
+ return { user: data.user, session: data.session, error };
332
+ } catch (error) {
333
+ return { user: null, session: null, error: error.message };
334
+ }
335
+ }
336
+
337
+ // OAuth Authentication
338
+ async signInWithProvider(provider: 'google' | 'github' | 'discord') {
339
+ try {
340
+ const { data, error } = await supabase.auth.signInWithOAuth({
341
+ provider,
342
+ options: {
343
+ redirectTo: `${window.location.origin}/auth/callback`
344
+ }
345
+ });
346
+ return { data, error };
347
+ } catch (error) {
348
+ return { data: null, error: error.message };
349
+ }
350
+ }
351
+
352
+ // Sign Out
353
+ async signOut() {
354
+ try {
355
+ const { error } = await supabase.auth.signOut();
356
+ return { success: !error, error };
357
+ } catch (error) {
358
+ return { success: false, error: error.message };
359
+ }
360
+ }
361
+
362
+ // Get current session
363
+ async getSession() {
364
+ try {
365
+ const { data: { session }, error } = await supabase.auth.getSession();
366
+ return { session, error };
367
+ } catch (error) {
368
+ return { session: null, error: error.message };
369
+ }
370
+ }
371
+
372
+ // Auth state change listener
373
+ onAuthStateChange(callback: (event: string, session: any) => void) {
374
+ return supabase.auth.onAuthStateChange(callback);
375
+ }
376
+ }
377
+ ```
378
+
379
+ #### 3. Database Service
380
+ ```typescript
381
+ // services/supabase-database.service.ts
382
+ import { supabase } from '../config/supabase.config';
383
+ import type { Database } from '../config/supabase.config';
384
+
385
+ type Tables = Database['public']['Tables'];
386
+
387
+ export class SupabaseService<T extends keyof Tables> {
388
+ constructor(private tableName: T) {}
389
+
390
+ // Create record
391
+ async create(data: Tables[T]['Insert']) {
392
+ try {
393
+ const { data: result, error } = await supabase
394
+ .from(this.tableName)
395
+ .insert(data)
396
+ .select()
397
+ .single();
398
+
399
+ if (error) throw error;
400
+ return { data: result, error: null };
401
+ } catch (error) {
402
+ return { data: null, error: error.message };
403
+ }
404
+ }
405
+
406
+ // Get all records
407
+ async getAll() {
408
+ try {
409
+ const { data, error } = await supabase
410
+ .from(this.tableName)
411
+ .select('*');
412
+
413
+ if (error) throw error;
414
+ return { data, error: null };
415
+ } catch (error) {
416
+ return { data: null, error: error.message };
417
+ }
418
+ }
419
+
420
+ // Get record by ID
421
+ async getById(id: string) {
422
+ try {
423
+ const { data, error } = await supabase
424
+ .from(this.tableName)
425
+ .select('*')
426
+ .eq('id', id)
427
+ .single();
428
+
429
+ if (error) throw error;
430
+ return { data, error: null };
431
+ } catch (error) {
432
+ return { data: null, error: error.message };
433
+ }
434
+ }
435
+
436
+ // Update record
437
+ async update(id: string, data: Tables[T]['Update']) {
438
+ try {
439
+ const { data: result, error } = await supabase
440
+ .from(this.tableName)
441
+ .update(data)
442
+ .eq('id', id)
443
+ .select()
444
+ .single();
445
+
446
+ if (error) throw error;
447
+ return { data: result, error: null };
448
+ } catch (error) {
449
+ return { data: null, error: error.message };
450
+ }
451
+ }
452
+
453
+ // Delete record
454
+ async delete(id: string) {
455
+ try {
456
+ const { error } = await supabase
457
+ .from(this.tableName)
458
+ .delete()
459
+ .eq('id', id);
460
+
461
+ if (error) throw error;
462
+ return { success: true, error: null };
463
+ } catch (error) {
464
+ return { success: false, error: error.message };
465
+ }
466
+ }
467
+
468
+ // Real-time subscription
469
+ subscribe(callback: (payload: any) => void) {
470
+ return supabase
471
+ .channel(`public:${this.tableName}`)
472
+ .on('postgres_changes',
473
+ { event: '*', schema: 'public', table: this.tableName },
474
+ callback
475
+ )
476
+ .subscribe();
477
+ }
478
+
479
+ // Query with filters
480
+ async query(filters: { column: string; operator: string; value: any }[]) {
481
+ try {
482
+ let query = supabase.from(this.tableName).select('*');
483
+
484
+ filters.forEach(filter => {
485
+ query = query.filter(filter.column, filter.operator, filter.value);
486
+ });
487
+
488
+ const { data, error } = await query;
489
+ if (error) throw error;
490
+ return { data, error: null };
491
+ } catch (error) {
492
+ return { data: null, error: error.message };
493
+ }
494
+ }
495
+ }
496
+ ```
497
+
498
+ ### Supabase MCP Integration
499
+
500
+ ```typescript
501
+ // MCP Supabase integration
502
+ interface SupabaseMCPIntegration {
503
+ // Project management
504
+ createProject(config: SupabaseConfig): Promise<ProjectResult>;
505
+ generateTypes(databaseUrl: string): Promise<TypeDefinitions>;
506
+ setupRLS(policies: RLSPolicy[]): Promise<PolicyResult>;
507
+ deployEdgeFunctions(functions: EdgeFunction[]): Promise<DeploymentResult>;
508
+
509
+ // Development helpers
510
+ generateSupabaseClient(): Promise<ClientCode>;
511
+ createServiceBoilerplate(table: string): Promise<ServiceCode>;
512
+ optimizeQueries(queries: SupabaseQuery[]): Promise<OptimizationSuggestions>;
513
+ }
514
+ ```
515
+
516
+ ## 🏗️ Traditional Backend Integration
517
+
518
+ ### Node.js + Express Setup
519
+
520
+ ```typescript
521
+ // server.ts
522
+ import express from 'express';
523
+ import cors from 'cors';
524
+ import helmet from 'helmet';
525
+ import rateLimit from 'express-rate-limit';
526
+ import { authRouter } from './routes/auth.routes';
527
+ import { userRouter } from './routes/user.routes';
528
+
529
+ const app = express();
530
+
531
+ // Security middleware
532
+ app.use(helmet());
533
+ app.use(cors({
534
+ origin: process.env.FRONTEND_URL,
535
+ credentials: true
536
+ }));
537
+
538
+ // Rate limiting
539
+ const limiter = rateLimit({
540
+ windowMs: 15 * 60 * 1000, // 15 minutes
541
+ max: 100 // limit each IP to 100 requests per windowMs
542
+ });
543
+ app.use(limiter);
544
+
545
+ // Body parsing
546
+ app.use(express.json({ limit: '10mb' }));
547
+ app.use(express.urlencoded({ extended: true }));
548
+
549
+ // Routes
550
+ app.use('/api/auth', authRouter);
551
+ app.use('/api/users', userRouter);
552
+
553
+ // Error handling middleware
554
+ app.use((err: any, req: any, res: any, next: any) => {
555
+ console.error(err.stack);
556
+ res.status(500).json({ error: 'Something went wrong!' });
557
+ });
558
+
559
+ const PORT = process.env.PORT || 3001;
560
+ app.listen(PORT, () => {
561
+ console.log(`Server running on port ${PORT}`);
562
+ });
563
+ ```
564
+
565
+ ### Database Integration (PostgreSQL)
566
+
567
+ ```typescript
568
+ // database/connection.ts
569
+ import { Pool } from 'pg';
570
+
571
+ const pool = new Pool({
572
+ user: process.env.DB_USER,
573
+ host: process.env.DB_HOST,
574
+ database: process.env.DB_NAME,
575
+ password: process.env.DB_PASSWORD,
576
+ port: parseInt(process.env.DB_PORT || '5432'),
577
+ ssl: process.env.NODE_ENV === 'production' ? { rejectUnauthorized: false } : false
578
+ });
579
+
580
+ export class DatabaseService {
581
+ async query(text: string, params?: any[]) {
582
+ const client = await pool.connect();
583
+ try {
584
+ const result = await client.query(text, params);
585
+ return result;
586
+ } finally {
587
+ client.release();
588
+ }
589
+ }
590
+
591
+ async transaction(queries: { text: string; params?: any[] }[]) {
592
+ const client = await pool.connect();
593
+ try {
594
+ await client.query('BEGIN');
595
+ const results = [];
596
+
597
+ for (const query of queries) {
598
+ const result = await client.query(query.text, query.params);
599
+ results.push(result);
600
+ }
601
+
602
+ await client.query('COMMIT');
603
+ return results;
604
+ } catch (error) {
605
+ await client.query('ROLLBACK');
606
+ throw error;
607
+ } finally {
608
+ client.release();
609
+ }
610
+ }
611
+ }
612
+ ```
613
+
614
+ ## 🔧 MCP Tool Integration
615
+
616
+ ### Backend Service Selection
617
+
618
+ ```typescript
619
+ // MCP integration for backend service selection
620
+ interface BackendServiceMCP {
621
+ analyzeRequirements(requirements: ProjectRequirements): Promise<ServiceRecommendation>;
622
+ compareServices(services: BackendService[]): Promise<ComparisonMatrix>;
623
+ generateIntegration(service: BackendService): Promise<IntegrationCode>;
624
+ optimizeConfiguration(config: ServiceConfig): Promise<OptimizedConfig>;
625
+ }
626
+
627
+ // Usage example
628
+ const mcp = new BackendServiceMCP();
629
+
630
+ const recommendation = await mcp.analyzeRequirements({
631
+ scalability: 'high',
632
+ realtime: true,
633
+ authentication: 'multi-provider',
634
+ database: 'relational',
635
+ budget: 'medium'
636
+ });
637
+
638
+ // Recommendation might suggest Supabase for this combination
639
+ ```
640
+
641
+ ### Code Generation
642
+
643
+ ```typescript
644
+ // Automated service integration code generation
645
+ interface CodeGenerationMCP {
646
+ generateAuthService(provider: AuthProvider): Promise<ServiceCode>;
647
+ generateDatabaseService(schema: DatabaseSchema): Promise<ServiceCode>;
648
+ generateAPIRoutes(endpoints: APIEndpoint[]): Promise<RouteCode>;
649
+ generateMigrations(changes: SchemaChange[]): Promise<MigrationCode>;
650
+ }
651
+ ```
652
+
653
+ ## 📋 Best Practices
654
+
655
+ ### Security
656
+ - **Environment Variables**: Store sensitive data in environment variables
657
+ - **Authentication**: Implement proper JWT token management
658
+ - **Authorization**: Use Row Level Security (RLS) for database access
659
+ - **Input Validation**: Validate all inputs on both client and server
660
+ - **Rate Limiting**: Implement rate limiting to prevent abuse
661
+ - **HTTPS**: Always use HTTPS in production
662
+ - **CORS**: Configure CORS properly for your domain
663
+
664
+ ### Performance
665
+ - **Caching**: Implement caching strategies for frequently accessed data
666
+ - **Database Indexing**: Create proper database indexes
667
+ - **Connection Pooling**: Use connection pooling for database connections
668
+ - **CDN**: Use CDN for static assets
669
+ - **Compression**: Enable gzip compression
670
+ - **Monitoring**: Implement proper monitoring and logging
671
+
672
+ ### Development Workflow
673
+ - **Type Safety**: Use TypeScript for type safety
674
+ - **Error Handling**: Implement comprehensive error handling
675
+ - **Testing**: Write unit and integration tests
676
+ - **Documentation**: Document APIs with OpenAPI/Swagger
677
+ - **Version Control**: Use semantic versioning for APIs
678
+ - **CI/CD**: Implement automated testing and deployment
679
+
680
+ ### Cost Optimization
681
+ - **Resource Monitoring**: Monitor resource usage and costs
682
+ - **Auto-scaling**: Implement auto-scaling for variable loads
683
+ - **Cleanup**: Regular cleanup of unused resources
684
+ - **Optimization**: Regular performance and cost optimization reviews
685
+
686
+ This comprehensive guide ensures proper integration of modern backend services with the BMAD framework, providing developers with the tools and knowledge needed to build scalable, secure, and maintainable applications.