dev-booster 1.0.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.
Files changed (294) hide show
  1. package/README.md +203 -0
  2. package/bin/dev-booster.js +4 -0
  3. package/package.json +41 -0
  4. package/src/index.js +78 -0
  5. package/src/sync-template.js +55 -0
  6. package/template/.devbooster/MANIFEST.md +177 -0
  7. package/template/.devbooster/boosters/accessibility.md +63 -0
  8. package/template/.devbooster/boosters/advisor.md +68 -0
  9. package/template/.devbooster/boosters/atomic.md +58 -0
  10. package/template/.devbooster/boosters/backend.md +75 -0
  11. package/template/.devbooster/boosters/changelog.md +126 -0
  12. package/template/.devbooster/boosters/create.md +85 -0
  13. package/template/.devbooster/boosters/debug.md +55 -0
  14. package/template/.devbooster/boosters/deploy.md +11 -0
  15. package/template/.devbooster/boosters/design.md +56 -0
  16. package/template/.devbooster/boosters/discovery.md +75 -0
  17. package/template/.devbooster/boosters/documentation.md +106 -0
  18. package/template/.devbooster/boosters/frontend.md +82 -0
  19. package/template/.devbooster/boosters/i18n.md +63 -0
  20. package/template/.devbooster/boosters/implementation.md +82 -0
  21. package/template/.devbooster/boosters/investigation.md +96 -0
  22. package/template/.devbooster/boosters/mobile.md +56 -0
  23. package/template/.devbooster/boosters/performance.md +70 -0
  24. package/template/.devbooster/boosters/planning.md +92 -0
  25. package/template/.devbooster/boosters/refactor.md +17 -0
  26. package/template/.devbooster/boosters/review.md +88 -0
  27. package/template/.devbooster/boosters/security.md +60 -0
  28. package/template/.devbooster/boosters/seo.md +59 -0
  29. package/template/.devbooster/boosters/templates/implementation_heavy.md +130 -0
  30. package/template/.devbooster/boosters/templates/implementation_simple.md +109 -0
  31. package/template/.devbooster/boosters/templates/implementation_standard.md +134 -0
  32. package/template/.devbooster/boosters/testing.md +76 -0
  33. package/template/.devbooster/hub/personas/agent_backend-specialist.md +263 -0
  34. package/template/.devbooster/hub/personas/agent_code-archaeologist.md +106 -0
  35. package/template/.devbooster/hub/personas/agent_database-architect.md +226 -0
  36. package/template/.devbooster/hub/personas/agent_debugger.md +225 -0
  37. package/template/.devbooster/hub/personas/agent_devops-engineer.md +242 -0
  38. package/template/.devbooster/hub/personas/agent_documentation-writer.md +104 -0
  39. package/template/.devbooster/hub/personas/agent_explorer-agent.md +73 -0
  40. package/template/.devbooster/hub/personas/agent_frontend-specialist.md +593 -0
  41. package/template/.devbooster/hub/personas/agent_game-developer.md +162 -0
  42. package/template/.devbooster/hub/personas/agent_mobile-developer.md +377 -0
  43. package/template/.devbooster/hub/personas/agent_orchestrator.md +416 -0
  44. package/template/.devbooster/hub/personas/agent_penetration-tester.md +188 -0
  45. package/template/.devbooster/hub/personas/agent_performance-optimizer.md +187 -0
  46. package/template/.devbooster/hub/personas/agent_product-manager.md +112 -0
  47. package/template/.devbooster/hub/personas/agent_product-owner.md +95 -0
  48. package/template/.devbooster/hub/personas/agent_project-planner.md +406 -0
  49. package/template/.devbooster/hub/personas/agent_qa-automation-engineer.md +103 -0
  50. package/template/.devbooster/hub/personas/agent_security-auditor.md +170 -0
  51. package/template/.devbooster/hub/personas/agent_seo-specialist.md +111 -0
  52. package/template/.devbooster/hub/personas/agent_test-engineer.md +158 -0
  53. package/template/.devbooster/hub/personas/backend-specialist.md +263 -0
  54. package/template/.devbooster/hub/personas/brainstorm.md +113 -0
  55. package/template/.devbooster/hub/personas/code-archaeologist.md +106 -0
  56. package/template/.devbooster/hub/personas/create.md +59 -0
  57. package/template/.devbooster/hub/personas/database-architect.md +226 -0
  58. package/template/.devbooster/hub/personas/debug.md +103 -0
  59. package/template/.devbooster/hub/personas/debugger.md +225 -0
  60. package/template/.devbooster/hub/personas/deploy.md +176 -0
  61. package/template/.devbooster/hub/personas/devops-engineer.md +242 -0
  62. package/template/.devbooster/hub/personas/documentation-writer.md +104 -0
  63. package/template/.devbooster/hub/personas/enhance.md +63 -0
  64. package/template/.devbooster/hub/personas/explorer-agent.md +73 -0
  65. package/template/.devbooster/hub/personas/frontend-specialist.md +593 -0
  66. package/template/.devbooster/hub/personas/game-developer.md +162 -0
  67. package/template/.devbooster/hub/personas/mobile-developer.md +377 -0
  68. package/template/.devbooster/hub/personas/orchestrate.md +237 -0
  69. package/template/.devbooster/hub/personas/orchestrator.md +416 -0
  70. package/template/.devbooster/hub/personas/penetration-tester.md +188 -0
  71. package/template/.devbooster/hub/personas/performance-optimizer.md +187 -0
  72. package/template/.devbooster/hub/personas/plan.md +89 -0
  73. package/template/.devbooster/hub/personas/preview.md +81 -0
  74. package/template/.devbooster/hub/personas/product-manager.md +112 -0
  75. package/template/.devbooster/hub/personas/product-owner.md +95 -0
  76. package/template/.devbooster/hub/personas/project-planner.md +406 -0
  77. package/template/.devbooster/hub/personas/qa-automation-engineer.md +103 -0
  78. package/template/.devbooster/hub/personas/security-auditor.md +170 -0
  79. package/template/.devbooster/hub/personas/seo-specialist.md +111 -0
  80. package/template/.devbooster/hub/personas/skill_api-patterns.md +567 -0
  81. package/template/.devbooster/hub/personas/skill_app-builder.md +1855 -0
  82. package/template/.devbooster/hub/personas/skill_architecture.md +417 -0
  83. package/template/.devbooster/hub/personas/skill_bash-linux.md +199 -0
  84. package/template/.devbooster/hub/personas/skill_behavioral-modes.md +242 -0
  85. package/template/.devbooster/hub/personas/skill_brainstorming.md +519 -0
  86. package/template/.devbooster/hub/personas/skill_clean-code.md +201 -0
  87. package/template/.devbooster/hub/personas/skill_code-review-checklist.md +109 -0
  88. package/template/.devbooster/hub/personas/skill_database-design.md +340 -0
  89. package/template/.devbooster/hub/personas/skill_deployment-procedures.md +241 -0
  90. package/template/.devbooster/hub/personas/skill_doc.md +177 -0
  91. package/template/.devbooster/hub/personas/skill_documentation-templates.md +194 -0
  92. package/template/.devbooster/hub/personas/skill_frontend-design.md +3670 -0
  93. package/template/.devbooster/hub/personas/skill_game-development.md +167 -0
  94. package/template/.devbooster/hub/personas/skill_geo-fundamentals.md +156 -0
  95. package/template/.devbooster/hub/personas/skill_i18n-localization.md +154 -0
  96. package/template/.devbooster/hub/personas/skill_intelligent-routing.md +335 -0
  97. package/template/.devbooster/hub/personas/skill_lint-and-validate.md +45 -0
  98. package/template/.devbooster/hub/personas/skill_mcp-builder.md +176 -0
  99. package/template/.devbooster/hub/personas/skill_mobile-design.md +6150 -0
  100. package/template/.devbooster/hub/personas/skill_nextjs-react-expert.md +3487 -0
  101. package/template/.devbooster/hub/personas/skill_nodejs-best-practices.md +333 -0
  102. package/template/.devbooster/hub/personas/skill_parallel-agents.md +175 -0
  103. package/template/.devbooster/hub/personas/skill_performance-profiling.md +143 -0
  104. package/template/.devbooster/hub/personas/skill_plan-writing.md +152 -0
  105. package/template/.devbooster/hub/personas/skill_powershell-windows.md +167 -0
  106. package/template/.devbooster/hub/personas/skill_python-patterns.md +441 -0
  107. package/template/.devbooster/hub/personas/skill_red-team-tactics.md +199 -0
  108. package/template/.devbooster/hub/personas/skill_rust-pro.md +176 -0
  109. package/template/.devbooster/hub/personas/skill_seo-fundamentals.md +129 -0
  110. package/template/.devbooster/hub/personas/skill_server-management.md +161 -0
  111. package/template/.devbooster/hub/personas/skill_systematic-debugging.md +109 -0
  112. package/template/.devbooster/hub/personas/skill_tailwind-patterns.md +269 -0
  113. package/template/.devbooster/hub/personas/skill_tdd-workflow.md +149 -0
  114. package/template/.devbooster/hub/personas/skill_testing-patterns.md +178 -0
  115. package/template/.devbooster/hub/personas/skill_vulnerability-scanner.md +403 -0
  116. package/template/.devbooster/hub/personas/skill_web-design-guidelines.md +57 -0
  117. package/template/.devbooster/hub/personas/skill_webapp-testing.md +187 -0
  118. package/template/.devbooster/hub/personas/status.md +86 -0
  119. package/template/.devbooster/hub/personas/test-engineer.md +158 -0
  120. package/template/.devbooster/hub/personas/test.md +144 -0
  121. package/template/.devbooster/hub/personas/ui-ux-pro-max.md +296 -0
  122. package/template/.devbooster/hub/scripts/accessibility_checker.py +183 -0
  123. package/template/.devbooster/hub/scripts/api_validator.py +211 -0
  124. package/template/.devbooster/hub/scripts/auto_preview.py +148 -0
  125. package/template/.devbooster/hub/scripts/checklist.py +217 -0
  126. package/template/.devbooster/hub/scripts/convert_rules.py +222 -0
  127. package/template/.devbooster/hub/scripts/geo_checker.py +289 -0
  128. package/template/.devbooster/hub/scripts/i18n_checker.py +241 -0
  129. package/template/.devbooster/hub/scripts/lighthouse_audit.py +76 -0
  130. package/template/.devbooster/hub/scripts/lint_runner.py +184 -0
  131. package/template/.devbooster/hub/scripts/mobile_audit.py +670 -0
  132. package/template/.devbooster/hub/scripts/playwright_runner.py +173 -0
  133. package/template/.devbooster/hub/scripts/react_performance_checker.py +252 -0
  134. package/template/.devbooster/hub/scripts/schema_validator.py +172 -0
  135. package/template/.devbooster/hub/scripts/security_scan.py +458 -0
  136. package/template/.devbooster/hub/scripts/seo_checker.py +219 -0
  137. package/template/.devbooster/hub/scripts/session_manager.py +120 -0
  138. package/template/.devbooster/hub/scripts/test_runner.py +219 -0
  139. package/template/.devbooster/hub/scripts/type_coverage.py +173 -0
  140. package/template/.devbooster/hub/scripts/ux_audit.py +722 -0
  141. package/template/.devbooster/hub/scripts/verify_all.py +327 -0
  142. package/template/.devbooster/hub/skills/api-patterns/SKILL.md +81 -0
  143. package/template/.devbooster/hub/skills/api-patterns/api-style.md +42 -0
  144. package/template/.devbooster/hub/skills/api-patterns/auth.md +24 -0
  145. package/template/.devbooster/hub/skills/api-patterns/documentation.md +26 -0
  146. package/template/.devbooster/hub/skills/api-patterns/graphql.md +41 -0
  147. package/template/.devbooster/hub/skills/api-patterns/rate-limiting.md +31 -0
  148. package/template/.devbooster/hub/skills/api-patterns/response.md +37 -0
  149. package/template/.devbooster/hub/skills/api-patterns/rest.md +40 -0
  150. package/template/.devbooster/hub/skills/api-patterns/scripts/api_validator.py +211 -0
  151. package/template/.devbooster/hub/skills/api-patterns/security-testing.md +122 -0
  152. package/template/.devbooster/hub/skills/api-patterns/trpc.md +41 -0
  153. package/template/.devbooster/hub/skills/api-patterns/versioning.md +22 -0
  154. package/template/.devbooster/hub/skills/app-builder/SKILL.md +75 -0
  155. package/template/.devbooster/hub/skills/app-builder/agent-coordination.md +71 -0
  156. package/template/.devbooster/hub/skills/app-builder/feature-building.md +53 -0
  157. package/template/.devbooster/hub/skills/app-builder/project-detection.md +34 -0
  158. package/template/.devbooster/hub/skills/app-builder/scaffolding.md +118 -0
  159. package/template/.devbooster/hub/skills/app-builder/tech-stack.md +40 -0
  160. package/template/.devbooster/hub/skills/app-builder/templates/SKILL.md +39 -0
  161. package/template/.devbooster/hub/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  162. package/template/.devbooster/hub/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  163. package/template/.devbooster/hub/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  164. package/template/.devbooster/hub/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  165. package/template/.devbooster/hub/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  166. package/template/.devbooster/hub/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  167. package/template/.devbooster/hub/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  168. package/template/.devbooster/hub/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  169. package/template/.devbooster/hub/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  170. package/template/.devbooster/hub/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  171. package/template/.devbooster/hub/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  172. package/template/.devbooster/hub/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  173. package/template/.devbooster/hub/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  174. package/template/.devbooster/hub/skills/architecture/SKILL.md +55 -0
  175. package/template/.devbooster/hub/skills/architecture/context-discovery.md +43 -0
  176. package/template/.devbooster/hub/skills/architecture/examples.md +94 -0
  177. package/template/.devbooster/hub/skills/architecture/pattern-selection.md +68 -0
  178. package/template/.devbooster/hub/skills/architecture/patterns-reference.md +50 -0
  179. package/template/.devbooster/hub/skills/architecture/trade-off-analysis.md +77 -0
  180. package/template/.devbooster/hub/skills/bash-linux/SKILL.md +199 -0
  181. package/template/.devbooster/hub/skills/behavioral-modes/SKILL.md +242 -0
  182. package/template/.devbooster/hub/skills/brainstorming/SKILL.md +163 -0
  183. package/template/.devbooster/hub/skills/brainstorming/dynamic-questioning.md +350 -0
  184. package/template/.devbooster/hub/skills/clean-code/SKILL.md +201 -0
  185. package/template/.devbooster/hub/skills/code-review-checklist/SKILL.md +109 -0
  186. package/template/.devbooster/hub/skills/database-design/SKILL.md +52 -0
  187. package/template/.devbooster/hub/skills/database-design/database-selection.md +43 -0
  188. package/template/.devbooster/hub/skills/database-design/indexing.md +39 -0
  189. package/template/.devbooster/hub/skills/database-design/migrations.md +48 -0
  190. package/template/.devbooster/hub/skills/database-design/optimization.md +36 -0
  191. package/template/.devbooster/hub/skills/database-design/orm-selection.md +30 -0
  192. package/template/.devbooster/hub/skills/database-design/schema-design.md +56 -0
  193. package/template/.devbooster/hub/skills/database-design/scripts/schema_validator.py +172 -0
  194. package/template/.devbooster/hub/skills/deployment-procedures/SKILL.md +241 -0
  195. package/template/.devbooster/hub/skills/doc.md +177 -0
  196. package/template/.devbooster/hub/skills/documentation-templates/SKILL.md +194 -0
  197. package/template/.devbooster/hub/skills/frontend-design/SKILL.md +418 -0
  198. package/template/.devbooster/hub/skills/frontend-design/animation-guide.md +331 -0
  199. package/template/.devbooster/hub/skills/frontend-design/anti-generic-guide.md +252 -0
  200. package/template/.devbooster/hub/skills/frontend-design/color-system.md +311 -0
  201. package/template/.devbooster/hub/skills/frontend-design/decision-trees.md +418 -0
  202. package/template/.devbooster/hub/skills/frontend-design/motion-graphics.md +306 -0
  203. package/template/.devbooster/hub/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  204. package/template/.devbooster/hub/skills/frontend-design/scripts/ux_audit.py +722 -0
  205. package/template/.devbooster/hub/skills/frontend-design/typography-system.md +345 -0
  206. package/template/.devbooster/hub/skills/frontend-design/ux-psychology.md +1116 -0
  207. package/template/.devbooster/hub/skills/frontend-design/visual-effects.md +383 -0
  208. package/template/.devbooster/hub/skills/game-development/2d-games/SKILL.md +119 -0
  209. package/template/.devbooster/hub/skills/game-development/3d-games/SKILL.md +135 -0
  210. package/template/.devbooster/hub/skills/game-development/SKILL.md +167 -0
  211. package/template/.devbooster/hub/skills/game-development/game-art/SKILL.md +185 -0
  212. package/template/.devbooster/hub/skills/game-development/game-audio/SKILL.md +190 -0
  213. package/template/.devbooster/hub/skills/game-development/game-design/SKILL.md +129 -0
  214. package/template/.devbooster/hub/skills/game-development/mobile-games/SKILL.md +108 -0
  215. package/template/.devbooster/hub/skills/game-development/multiplayer/SKILL.md +132 -0
  216. package/template/.devbooster/hub/skills/game-development/pc-games/SKILL.md +144 -0
  217. package/template/.devbooster/hub/skills/game-development/vr-ar/SKILL.md +123 -0
  218. package/template/.devbooster/hub/skills/game-development/web-games/SKILL.md +150 -0
  219. package/template/.devbooster/hub/skills/geo-fundamentals/SKILL.md +156 -0
  220. package/template/.devbooster/hub/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  221. package/template/.devbooster/hub/skills/i18n-localization/SKILL.md +154 -0
  222. package/template/.devbooster/hub/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  223. package/template/.devbooster/hub/skills/intelligent-routing/SKILL.md +335 -0
  224. package/template/.devbooster/hub/skills/lint-and-validate/SKILL.md +45 -0
  225. package/template/.devbooster/hub/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  226. package/template/.devbooster/hub/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  227. package/template/.devbooster/hub/skills/mcp-builder/SKILL.md +176 -0
  228. package/template/.devbooster/hub/skills/mobile-design/SKILL.md +394 -0
  229. package/template/.devbooster/hub/skills/mobile-design/decision-trees.md +516 -0
  230. package/template/.devbooster/hub/skills/mobile-design/mobile-backend.md +491 -0
  231. package/template/.devbooster/hub/skills/mobile-design/mobile-color-system.md +420 -0
  232. package/template/.devbooster/hub/skills/mobile-design/mobile-debugging.md +122 -0
  233. package/template/.devbooster/hub/skills/mobile-design/mobile-design-thinking.md +357 -0
  234. package/template/.devbooster/hub/skills/mobile-design/mobile-navigation.md +458 -0
  235. package/template/.devbooster/hub/skills/mobile-design/mobile-performance.md +767 -0
  236. package/template/.devbooster/hub/skills/mobile-design/mobile-testing.md +356 -0
  237. package/template/.devbooster/hub/skills/mobile-design/mobile-typography.md +433 -0
  238. package/template/.devbooster/hub/skills/mobile-design/platform-android.md +666 -0
  239. package/template/.devbooster/hub/skills/mobile-design/platform-ios.md +561 -0
  240. package/template/.devbooster/hub/skills/mobile-design/scripts/mobile_audit.py +670 -0
  241. package/template/.devbooster/hub/skills/mobile-design/touch-psychology.md +537 -0
  242. package/template/.devbooster/hub/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  243. package/template/.devbooster/hub/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  244. package/template/.devbooster/hub/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  245. package/template/.devbooster/hub/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  246. package/template/.devbooster/hub/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  247. package/template/.devbooster/hub/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  248. package/template/.devbooster/hub/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  249. package/template/.devbooster/hub/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  250. package/template/.devbooster/hub/skills/nextjs-react-expert/SKILL.md +286 -0
  251. package/template/.devbooster/hub/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  252. package/template/.devbooster/hub/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  253. package/template/.devbooster/hub/skills/nodejs-best-practices/SKILL.md +333 -0
  254. package/template/.devbooster/hub/skills/parallel-agents/SKILL.md +175 -0
  255. package/template/.devbooster/hub/skills/performance-profiling/SKILL.md +143 -0
  256. package/template/.devbooster/hub/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  257. package/template/.devbooster/hub/skills/plan-writing/SKILL.md +152 -0
  258. package/template/.devbooster/hub/skills/powershell-windows/SKILL.md +167 -0
  259. package/template/.devbooster/hub/skills/python-patterns/SKILL.md +441 -0
  260. package/template/.devbooster/hub/skills/red-team-tactics/SKILL.md +199 -0
  261. package/template/.devbooster/hub/skills/rust-pro/SKILL.md +176 -0
  262. package/template/.devbooster/hub/skills/seo-fundamentals/SKILL.md +129 -0
  263. package/template/.devbooster/hub/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  264. package/template/.devbooster/hub/skills/server-management/SKILL.md +161 -0
  265. package/template/.devbooster/hub/skills/systematic-debugging/SKILL.md +109 -0
  266. package/template/.devbooster/hub/skills/tailwind-patterns/SKILL.md +269 -0
  267. package/template/.devbooster/hub/skills/tdd-workflow/SKILL.md +149 -0
  268. package/template/.devbooster/hub/skills/testing-patterns/SKILL.md +178 -0
  269. package/template/.devbooster/hub/skills/testing-patterns/scripts/test_runner.py +219 -0
  270. package/template/.devbooster/hub/skills/vulnerability-scanner/SKILL.md +276 -0
  271. package/template/.devbooster/hub/skills/vulnerability-scanner/checklists.md +121 -0
  272. package/template/.devbooster/hub/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  273. package/template/.devbooster/hub/skills/web-design-guidelines/SKILL.md +57 -0
  274. package/template/.devbooster/hub/skills/webapp-testing/SKILL.md +187 -0
  275. package/template/.devbooster/hub/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  276. package/template/.devbooster/hub/workflows/brainstorm.md +113 -0
  277. package/template/.devbooster/hub/workflows/create.md +59 -0
  278. package/template/.devbooster/hub/workflows/debug.md +103 -0
  279. package/template/.devbooster/hub/workflows/deploy.md +176 -0
  280. package/template/.devbooster/hub/workflows/enhance.md +63 -0
  281. package/template/.devbooster/hub/workflows/orchestrate.md +237 -0
  282. package/template/.devbooster/hub/workflows/plan.md +89 -0
  283. package/template/.devbooster/hub/workflows/preview.md +81 -0
  284. package/template/.devbooster/hub/workflows/status.md +86 -0
  285. package/template/.devbooster/hub/workflows/test.md +144 -0
  286. package/template/.devbooster/hub/workflows/ui-ux-pro-max.md +296 -0
  287. package/template/.devbooster/rules/BACKEND.md +72 -0
  288. package/template/.devbooster/rules/COMERCIAL.md +69 -0
  289. package/template/.devbooster/rules/FRONTEND.md +76 -0
  290. package/template/.devbooster/rules/GUIDE.md +111 -0
  291. package/template/.devbooster/rules/PROJECT.md +83 -0
  292. package/template/.devbooster/rules/PROTOCOL.md +42 -0
  293. package/template/.devbooster/rules/USER_PREFERENCES.md +33 -0
  294. package/template/DEVBOOSTER_INIT.md +42 -0
@@ -0,0 +1,567 @@
1
+ ---
2
+ name: api-patterns
3
+ description: API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ ---
6
+
7
+ # API Patterns
8
+
9
+ > API design principles and decision-making for 2025.
10
+ > **Learn to THINK, not copy fixed patterns.**
11
+
12
+ ## 🎯 Selective Reading Rule
13
+
14
+ **Read ONLY files relevant to the request!** Check the content map, find what you need.
15
+
16
+ ---
17
+
18
+ ## 📑 Content Map
19
+
20
+ | File | Description | When to Read |
21
+ |------|-------------|--------------|
22
+ | `api-style.md` | REST vs GraphQL vs tRPC decision tree | Choosing API type |
23
+ | `rest.md` | Resource naming, HTTP methods, status codes | Designing REST API |
24
+ | `response.md` | Envelope pattern, error format, pagination | Response structure |
25
+ | `graphql.md` | Schema design, when to use, security | Considering GraphQL |
26
+ | `trpc.md` | TypeScript monorepo, type safety | TS fullstack projects |
27
+ | `versioning.md` | URI/Header/Query versioning | API evolution planning |
28
+ | `auth.md` | JWT, OAuth, Passkey, API Keys | Auth pattern selection |
29
+ | `rate-limiting.md` | Token bucket, sliding window | API protection |
30
+ | `documentation.md` | OpenAPI/Swagger best practices | Documentation |
31
+ | `security-testing.md` | OWASP API Top 10, auth/authz testing | Security audits |
32
+
33
+ ---
34
+
35
+ ## 🔗 Related Skills
36
+
37
+ | Need | Skill |
38
+ |------|-------|
39
+ | API implementation | `@[skills/backend-development]` |
40
+ | Data structure | `@[skills/database-design]` |
41
+ | Security details | `@[skills/security-hardening]` |
42
+
43
+ ---
44
+
45
+ ## ✅ Decision Checklist
46
+
47
+ Before designing an API:
48
+
49
+ - [ ] **Asked user about API consumers?**
50
+ - [ ] **Chosen API style for THIS context?** (REST/GraphQL/tRPC)
51
+ - [ ] **Defined consistent response format?**
52
+ - [ ] **Planned versioning strategy?**
53
+ - [ ] **Considered authentication needs?**
54
+ - [ ] **Planned rate limiting?**
55
+ - [ ] **Documentation approach defined?**
56
+
57
+ ---
58
+
59
+ ## ❌ Anti-Patterns
60
+
61
+ **DON'T:**
62
+ - Default to REST for everything
63
+ - Use verbs in REST endpoints (/getUsers)
64
+ - Return inconsistent response formats
65
+ - Expose internal errors to clients
66
+ - Skip rate limiting
67
+
68
+ **DO:**
69
+ - Choose API style based on context
70
+ - Ask about client requirements
71
+ - Document thoroughly
72
+ - Use appropriate status codes
73
+
74
+ ---
75
+
76
+ ## Script
77
+
78
+ | Script | Purpose | Command |
79
+ |--------|---------|---------|
80
+ | `scripts/api_validator.py` | API endpoint validation | `python scripts/api_validator.py <project_path>` |
81
+
82
+
83
+
84
+
85
+ ---
86
+ # Content from api-style.md
87
+
88
+ # API Style Selection (2025)
89
+
90
+ > REST vs GraphQL vs tRPC - Hangi durumda hangisi?
91
+
92
+ ## Decision Tree
93
+
94
+ ```
95
+ Who are the API consumers?
96
+
97
+ ├── Public API / Multiple platforms
98
+ │ └── REST + OpenAPI (widest compatibility)
99
+
100
+ ├── Complex data needs / Multiple frontends
101
+ │ └── GraphQL (flexible queries)
102
+
103
+ ├── TypeScript frontend + backend (monorepo)
104
+ │ └── tRPC (end-to-end type safety)
105
+
106
+ ├── Real-time / Event-driven
107
+ │ └── WebSocket + AsyncAPI
108
+
109
+ └── Internal microservices
110
+ └── gRPC (performance) or REST (simplicity)
111
+ ```
112
+
113
+ ## Comparison
114
+
115
+ | Factor | REST | GraphQL | tRPC |
116
+ |--------|------|---------|------|
117
+ | **Best for** | Public APIs | Complex apps | TS monorepos |
118
+ | **Learning curve** | Low | Medium | Low (if TS) |
119
+ | **Over/under fetching** | Common | Solved | Solved |
120
+ | **Type safety** | Manual (OpenAPI) | Schema-based | Automatic |
121
+ | **Caching** | HTTP native | Complex | Client-based |
122
+
123
+ ## Selection Questions
124
+
125
+ 1. Who are the API consumers?
126
+ 2. Is the frontend TypeScript?
127
+ 3. How complex are the data relationships?
128
+ 4. Is caching critical?
129
+ 5. Public or internal API?
130
+
131
+
132
+
133
+ ---
134
+ # Content from auth.md
135
+
136
+ # Authentication Patterns
137
+
138
+ > Choose auth pattern based on use case.
139
+
140
+ ## Selection Guide
141
+
142
+ | Pattern | Best For |
143
+ |---------|----------|
144
+ | **JWT** | Stateless, microservices |
145
+ | **Session** | Traditional web, simple |
146
+ | **OAuth 2.0** | Third-party integration |
147
+ | **API Keys** | Server-to-server, public APIs |
148
+ | **Passkey** | Modern passwordless (2025+) |
149
+
150
+ ## JWT Principles
151
+
152
+ ```
153
+ Important:
154
+ ├── Always verify signature
155
+ ├── Check expiration
156
+ ├── Include minimal claims
157
+ ├── Use short expiry + refresh tokens
158
+ └── Never store sensitive data in JWT
159
+ ```
160
+
161
+
162
+
163
+ ---
164
+ # Content from documentation.md
165
+
166
+ # API Documentation Principles
167
+
168
+ > Good docs = happy developers = API adoption.
169
+
170
+ ## OpenAPI/Swagger Essentials
171
+
172
+ ```
173
+ Include:
174
+ ├── All endpoints with examples
175
+ ├── Request/response schemas
176
+ ├── Authentication requirements
177
+ ├── Error response formats
178
+ └── Rate limiting info
179
+ ```
180
+
181
+ ## Good Documentation Has
182
+
183
+ ```
184
+ Essentials:
185
+ ├── Quick start / Getting started
186
+ ├── Authentication guide
187
+ ├── Complete API reference
188
+ ├── Error handling guide
189
+ ├── Code examples (multiple languages)
190
+ └── Changelog
191
+ ```
192
+
193
+
194
+
195
+ ---
196
+ # Content from graphql.md
197
+
198
+ # GraphQL Principles
199
+
200
+ > Flexible queries for complex, interconnected data.
201
+
202
+ ## When to Use
203
+
204
+ ```
205
+ ✅ Good fit:
206
+ ├── Complex, interconnected data
207
+ ├── Multiple frontend platforms
208
+ ├── Clients need flexible queries
209
+ ├── Evolving data requirements
210
+ └── Reducing over-fetching matters
211
+
212
+ ❌ Poor fit:
213
+ ├── Simple CRUD operations
214
+ ├── File upload heavy
215
+ ├── HTTP caching important
216
+ └── Team unfamiliar with GraphQL
217
+ ```
218
+
219
+ ## Schema Design Principles
220
+
221
+ ```
222
+ Principles:
223
+ ├── Think in graphs, not endpoints
224
+ ├── Design for evolvability (no versions)
225
+ ├── Use connections for pagination
226
+ ├── Be specific with types (not generic "data")
227
+ └── Handle nullability thoughtfully
228
+ ```
229
+
230
+ ## Security Considerations
231
+
232
+ ```
233
+ Protect against:
234
+ ├── Query depth attacks → Set max depth
235
+ ├── Query complexity → Calculate cost
236
+ ├── Batching abuse → Limit batch size
237
+ ├── Introspection → Disable in production
238
+ ```
239
+
240
+
241
+
242
+ ---
243
+ # Content from rate-limiting.md
244
+
245
+ # Rate Limiting Principles
246
+
247
+ > Protect your API from abuse and overload.
248
+
249
+ ## Why Rate Limit
250
+
251
+ ```
252
+ Protect against:
253
+ ├── Brute force attacks
254
+ ├── Resource exhaustion
255
+ ├── Cost overruns (if pay-per-use)
256
+ └── Unfair usage
257
+ ```
258
+
259
+ ## Strategy Selection
260
+
261
+ | Type | How | When |
262
+ |------|-----|------|
263
+ | **Token bucket** | Burst allowed, refills over time | Most APIs |
264
+ | **Sliding window** | Smooth distribution | Strict limits |
265
+ | **Fixed window** | Simple counters per window | Basic needs |
266
+
267
+ ## Response Headers
268
+
269
+ ```
270
+ Include in headers:
271
+ ├── X-RateLimit-Limit (max requests)
272
+ ├── X-RateLimit-Remaining (requests left)
273
+ ├── X-RateLimit-Reset (when limit resets)
274
+ └── Return 429 when exceeded
275
+ ```
276
+
277
+
278
+
279
+ ---
280
+ # Content from response.md
281
+
282
+ # Response Format Principles
283
+
284
+ > Consistency is key - choose a format and stick to it.
285
+
286
+ ## Common Patterns
287
+
288
+ ```
289
+ Choose one:
290
+ ├── Envelope pattern ({ success, data, error })
291
+ ├── Direct data (just return the resource)
292
+ └── HAL/JSON:API (hypermedia)
293
+ ```
294
+
295
+ ## Error Response
296
+
297
+ ```
298
+ Include:
299
+ ├── Error code (for programmatic handling)
300
+ ├── User message (for display)
301
+ ├── Details (for debugging, field-level errors)
302
+ ├── Request ID (for support)
303
+ └── NOT internal details (security!)
304
+ ```
305
+
306
+ ## Pagination Types
307
+
308
+ | Type | Best For | Trade-offs |
309
+ |------|----------|------------|
310
+ | **Offset** | Simple, jumpable | Performance on large datasets |
311
+ | **Cursor** | Large datasets | Can't jump to page |
312
+ | **Keyset** | Performance critical | Requires sortable key |
313
+
314
+ ### Selection Questions
315
+
316
+ 1. How large is the dataset?
317
+ 2. Do users need to jump to specific pages?
318
+ 3. Is data frequently changing?
319
+
320
+
321
+
322
+ ---
323
+ # Content from rest.md
324
+
325
+ # REST Principles
326
+
327
+ > Resource-based API design - nouns not verbs.
328
+
329
+ ## Resource Naming Rules
330
+
331
+ ```
332
+ Principles:
333
+ ├── Use NOUNS, not verbs (resources, not actions)
334
+ ├── Use PLURAL forms (/users not /user)
335
+ ├── Use lowercase with hyphens (/user-profiles)
336
+ ├── Nest for relationships (/users/123/posts)
337
+ └── Keep shallow (max 3 levels deep)
338
+ ```
339
+
340
+ ## HTTP Method Selection
341
+
342
+ | Method | Purpose | Idempotent? | Body? |
343
+ |--------|---------|-------------|-------|
344
+ | **GET** | Read resource(s) | Yes | No |
345
+ | **POST** | Create new resource | No | Yes |
346
+ | **PUT** | Replace entire resource | Yes | Yes |
347
+ | **PATCH** | Partial update | No | Yes |
348
+ | **DELETE** | Remove resource | Yes | No |
349
+
350
+ ## Status Code Selection
351
+
352
+ | Situation | Code | Why |
353
+ |-----------|------|-----|
354
+ | Success (read) | 200 | Standard success |
355
+ | Created | 201 | New resource created |
356
+ | No content | 204 | Success, nothing to return |
357
+ | Bad request | 400 | Malformed request |
358
+ | Unauthorized | 401 | Missing/invalid auth |
359
+ | Forbidden | 403 | Valid auth, no permission |
360
+ | Not found | 404 | Resource doesn't exist |
361
+ | Conflict | 409 | State conflict (duplicate) |
362
+ | Validation error | 422 | Valid syntax, invalid data |
363
+ | Rate limited | 429 | Too many requests |
364
+ | Server error | 500 | Our fault |
365
+
366
+
367
+
368
+ ---
369
+ # Content from security-testing.md
370
+
371
+ # API Security Testing
372
+
373
+ > Principles for testing API security. OWASP API Top 10, authentication, authorization testing.
374
+
375
+ ---
376
+
377
+ ## OWASP API Security Top 10
378
+
379
+ | Vulnerability | Test Focus |
380
+ |---------------|------------|
381
+ | **API1: BOLA** | Access other users' resources |
382
+ | **API2: Broken Auth** | JWT, session, credentials |
383
+ | **API3: Property Auth** | Mass assignment, data exposure |
384
+ | **API4: Resource Consumption** | Rate limiting, DoS |
385
+ | **API5: Function Auth** | Admin endpoints, role bypass |
386
+ | **API6: Business Flow** | Logic abuse, automation |
387
+ | **API7: SSRF** | Internal network access |
388
+ | **API8: Misconfiguration** | Debug endpoints, CORS |
389
+ | **API9: Inventory** | Shadow APIs, old versions |
390
+ | **API10: Unsafe Consumption** | Third-party API trust |
391
+
392
+ ---
393
+
394
+ ## Authentication Testing
395
+
396
+ ### JWT Testing
397
+
398
+ | Check | What to Test |
399
+ |-------|--------------|
400
+ | Algorithm | None, algorithm confusion |
401
+ | Secret | Weak secrets, brute force |
402
+ | Claims | Expiration, issuer, audience |
403
+ | Signature | Manipulation, key injection |
404
+
405
+ ### Session Testing
406
+
407
+ | Check | What to Test |
408
+ |-------|--------------|
409
+ | Generation | Predictability |
410
+ | Storage | Client-side security |
411
+ | Expiration | Timeout enforcement |
412
+ | Invalidation | Logout effectiveness |
413
+
414
+ ---
415
+
416
+ ## Authorization Testing
417
+
418
+ | Test Type | Approach |
419
+ |-----------|----------|
420
+ | **Horizontal** | Access peer users' data |
421
+ | **Vertical** | Access higher privilege functions |
422
+ | **Context** | Access outside allowed scope |
423
+
424
+ ### BOLA/IDOR Testing
425
+
426
+ 1. Identify resource IDs in requests
427
+ 2. Capture request with user A's session
428
+ 3. Replay with user B's session
429
+ 4. Check for unauthorized access
430
+
431
+ ---
432
+
433
+ ## Input Validation Testing
434
+
435
+ | Injection Type | Test Focus |
436
+ |----------------|------------|
437
+ | SQL | Query manipulation |
438
+ | NoSQL | Document queries |
439
+ | Command | System commands |
440
+ | LDAP | Directory queries |
441
+
442
+ **Approach:** Test all parameters, try type coercion, test boundaries, check error messages.
443
+
444
+ ---
445
+
446
+ ## Rate Limiting Testing
447
+
448
+ | Aspect | Check |
449
+ |--------|-------|
450
+ | Existence | Is there any limit? |
451
+ | Bypass | Headers, IP rotation |
452
+ | Scope | Per-user, per-IP, global |
453
+
454
+ **Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.
455
+
456
+ ---
457
+
458
+ ## GraphQL Security
459
+
460
+ | Test | Focus |
461
+ |------|-------|
462
+ | Introspection | Schema disclosure |
463
+ | Batching | Query DoS |
464
+ | Nesting | Depth-based DoS |
465
+ | Authorization | Field-level access |
466
+
467
+ ---
468
+
469
+ ## Security Testing Checklist
470
+
471
+ **Authentication:**
472
+ - [ ] Test for bypass
473
+ - [ ] Check credential strength
474
+ - [ ] Verify token security
475
+
476
+ **Authorization:**
477
+ - [ ] Test BOLA/IDOR
478
+ - [ ] Check privilege escalation
479
+ - [ ] Verify function access
480
+
481
+ **Input:**
482
+ - [ ] Test all parameters
483
+ - [ ] Check for injection
484
+
485
+ **Config:**
486
+ - [ ] Check CORS
487
+ - [ ] Verify headers
488
+ - [ ] Test error handling
489
+
490
+ ---
491
+
492
+ > **Remember:** APIs are the backbone of modern apps. Test them like attackers will.
493
+
494
+
495
+
496
+ ---
497
+ # Content from trpc.md
498
+
499
+ # tRPC Principles
500
+
501
+ > End-to-end type safety for TypeScript monorepos.
502
+
503
+ ## When to Use
504
+
505
+ ```
506
+ ✅ Perfect fit:
507
+ ├── TypeScript on both ends
508
+ ├── Monorepo structure
509
+ ├── Internal tools
510
+ ├── Rapid development
511
+ └── Type safety critical
512
+
513
+ ❌ Poor fit:
514
+ ├── Non-TypeScript clients
515
+ ├── Public API
516
+ ├── Need REST conventions
517
+ └── Multiple language backends
518
+ ```
519
+
520
+ ## Key Benefits
521
+
522
+ ```
523
+ Why tRPC:
524
+ ├── Zero schema maintenance
525
+ ├── End-to-end type inference
526
+ ├── IDE autocomplete across stack
527
+ ├── Instant API changes reflected
528
+ └── No code generation step
529
+ ```
530
+
531
+ ## Integration Patterns
532
+
533
+ ```
534
+ Common setups:
535
+ ├── Next.js + tRPC (most common)
536
+ ├── Monorepo with shared types
537
+ ├── Remix + tRPC
538
+ └── Any TS frontend + backend
539
+ ```
540
+
541
+
542
+
543
+ ---
544
+ # Content from versioning.md
545
+
546
+ # Versioning Strategies
547
+
548
+ > Plan for API evolution from day one.
549
+
550
+ ## Decision Factors
551
+
552
+ | Strategy | Implementation | Trade-offs |
553
+ |----------|---------------|------------|
554
+ | **URI** | /v1/users | Clear, easy caching |
555
+ | **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |
556
+ | **Query** | ?version=1 | Easy to add, messy |
557
+ | **None** | Evolve carefully | Best for internal, risky for public |
558
+
559
+ ## Versioning Philosophy
560
+
561
+ ```
562
+ Consider:
563
+ ├── Public API? → Version in URI
564
+ ├── Internal only? → May not need versioning
565
+ ├── GraphQL? → Typically no versions (evolve schema)
566
+ ├── tRPC? → Types enforce compatibility
567
+ ```