thachvd-kit 1.0.29 → 1.0.31

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 (408) hide show
  1. package/README.md +53 -148
  2. package/bin/cli.js +407 -310
  3. package/package.json +1 -10
  4. package/.agent/agents/backend-specialist.md +0 -263
  5. package/.agent/agents/code-archaeologist.md +0 -106
  6. package/.agent/agents/database-architect.md +0 -226
  7. package/.agent/agents/debugger.md +0 -225
  8. package/.agent/agents/devops-engineer.md +0 -242
  9. package/.agent/agents/documentation-writer.md +0 -104
  10. package/.agent/agents/explorer-agent.md +0 -73
  11. package/.agent/agents/frontend-specialist.md +0 -593
  12. package/.agent/agents/game-developer.md +0 -162
  13. package/.agent/agents/mobile-developer.md +0 -377
  14. package/.agent/agents/orchestrator.md +0 -416
  15. package/.agent/agents/penetration-tester.md +0 -188
  16. package/.agent/agents/performance-optimizer.md +0 -187
  17. package/.agent/agents/product-manager.md +0 -112
  18. package/.agent/agents/product-owner.md +0 -95
  19. package/.agent/agents/project-planner.md +0 -406
  20. package/.agent/agents/qa-automation-engineer.md +0 -103
  21. package/.agent/agents/security-auditor.md +0 -170
  22. package/.agent/agents/seo-specialist.md +0 -111
  23. package/.agent/agents/test-engineer.md +0 -158
  24. package/.agent/docs/architecture.md +0 -15
  25. package/.agent/docs/conventions.md +0 -16
  26. package/.agent/docs/getting-started.md +0 -95
  27. package/.agent/docs/project.md +0 -59
  28. package/.agent/docs/tooling.md +0 -136
  29. package/.agent/docs/workflow.md +0 -79
  30. package/.agent/rules/GEMINI.md +0 -62
  31. package/.agent/skills/api-design/SKILL.md +0 -156
  32. package/.agent/skills/api-patterns/SKILL.md +0 -81
  33. package/.agent/skills/api-patterns/api-style.md +0 -42
  34. package/.agent/skills/api-patterns/auth.md +0 -24
  35. package/.agent/skills/api-patterns/documentation.md +0 -26
  36. package/.agent/skills/api-patterns/graphql.md +0 -41
  37. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  38. package/.agent/skills/api-patterns/response.md +0 -37
  39. package/.agent/skills/api-patterns/rest.md +0 -40
  40. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  41. package/.agent/skills/api-patterns/security-testing.md +0 -122
  42. package/.agent/skills/api-patterns/trpc.md +0 -41
  43. package/.agent/skills/api-patterns/versioning.md +0 -22
  44. package/.agent/skills/app-builder/SKILL.md +0 -75
  45. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  46. package/.agent/skills/app-builder/feature-building.md +0 -53
  47. package/.agent/skills/app-builder/project-detection.md +0 -34
  48. package/.agent/skills/app-builder/scaffolding.md +0 -118
  49. package/.agent/skills/app-builder/tech-stack.md +0 -40
  50. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  51. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  52. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  53. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  54. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  55. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  56. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  57. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  58. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  59. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  60. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  61. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  62. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  63. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  64. package/.agent/skills/architecture/SKILL.md +0 -55
  65. package/.agent/skills/architecture/context-discovery.md +0 -43
  66. package/.agent/skills/architecture/examples.md +0 -94
  67. package/.agent/skills/architecture/pattern-selection.md +0 -68
  68. package/.agent/skills/architecture/patterns-reference.md +0 -50
  69. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  70. package/.agent/skills/bash-linux/SKILL.md +0 -199
  71. package/.agent/skills/behavioral-modes/SKILL.md +0 -242
  72. package/.agent/skills/brainstorming/SKILL.md +0 -163
  73. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -350
  74. package/.agent/skills/clean-code/SKILL.md +0 -201
  75. package/.agent/skills/code-review-checklist/SKILL.md +0 -109
  76. package/.agent/skills/database-design/SKILL.md +0 -52
  77. package/.agent/skills/database-design/database-selection.md +0 -43
  78. package/.agent/skills/database-design/indexing.md +0 -39
  79. package/.agent/skills/database-design/migrations.md +0 -48
  80. package/.agent/skills/database-design/optimization.md +0 -36
  81. package/.agent/skills/database-design/orm-selection.md +0 -30
  82. package/.agent/skills/database-design/schema-design.md +0 -56
  83. package/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  84. package/.agent/skills/deployment-procedures/SKILL.md +0 -241
  85. package/.agent/skills/desktop-design/SKILL.md +0 -25
  86. package/.agent/skills/dispatching-parallel-agents/SKILL.md +0 -112
  87. package/.agent/skills/doc.md +0 -177
  88. package/.agent/skills/docker-patterns/SKILL.md +0 -232
  89. package/.agent/skills/documentation-templates/SKILL.md +0 -194
  90. package/.agent/skills/executing-plans/SKILL.md +0 -61
  91. package/.agent/skills/finishing-a-development-branch/SKILL.md +0 -135
  92. package/.agent/skills/frontend-design/SKILL.md +0 -418
  93. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  94. package/.agent/skills/frontend-design/color-system.md +0 -311
  95. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  96. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  97. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  98. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  99. package/.agent/skills/frontend-design/typography-system.md +0 -345
  100. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  101. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  102. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  103. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  104. package/.agent/skills/game-development/SKILL.md +0 -167
  105. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  106. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  107. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  108. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  109. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  110. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  111. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  112. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  113. package/.agent/skills/geo-fundamentals/SKILL.md +0 -156
  114. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  115. package/.agent/skills/golang-patterns/SKILL.md +0 -226
  116. package/.agent/skills/golang-testing/SKILL.md +0 -182
  117. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  118. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  119. package/.agent/skills/intelligent-routing/SKILL.md +0 -335
  120. package/.agent/skills/laravel-patterns/SKILL.md +0 -224
  121. package/.agent/skills/laravel-security/SKILL.md +0 -171
  122. package/.agent/skills/laravel-tdd/SKILL.md +0 -149
  123. package/.agent/skills/lint-and-validate/SKILL.md +0 -45
  124. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  125. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  126. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  127. package/.agent/skills/mobile-design/SKILL.md +0 -394
  128. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  129. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  130. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  131. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  132. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  133. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  134. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  135. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  136. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  137. package/.agent/skills/mobile-design/platform-android.md +0 -666
  138. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  139. package/.agent/skills/mobile-design/scripts/mobile_audit.py +0 -670
  140. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  141. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  142. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  143. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  144. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  145. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  146. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  147. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  148. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  149. package/.agent/skills/nextjs-react-expert/SKILL.md +0 -286
  150. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  151. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  152. package/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  153. package/.agent/skills/parallel-agents/SKILL.md +0 -175
  154. package/.agent/skills/performance-profiling/SKILL.md +0 -143
  155. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  156. package/.agent/skills/plan-writing/SKILL.md +0 -152
  157. package/.agent/skills/powershell-windows/SKILL.md +0 -167
  158. package/.agent/skills/project-onboarding/SKILL.md +0 -42
  159. package/.agent/skills/python-patterns/SKILL.md +0 -441
  160. package/.agent/skills/react-frontend/SKILL.md +0 -25
  161. package/.agent/skills/receiving-code-review/SKILL.md +0 -120
  162. package/.agent/skills/red-team-tactics/SKILL.md +0 -199
  163. package/.agent/skills/requesting-code-review/SKILL.md +0 -67
  164. package/.agent/skills/rust-pro/SKILL.md +0 -176
  165. package/.agent/skills/seo-fundamentals/SKILL.md +0 -129
  166. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  167. package/.agent/skills/server-management/SKILL.md +0 -161
  168. package/.agent/skills/subagent-driven-development/SKILL.md +0 -76
  169. package/.agent/skills/systematic-debugging/SKILL.md +0 -109
  170. package/.agent/skills/tailwind-patterns/SKILL.md +0 -269
  171. package/.agent/skills/tdd-workflow/SKILL.md +0 -149
  172. package/.agent/skills/testing-patterns/SKILL.md +0 -178
  173. package/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  174. package/.agent/skills/using-git-worktrees/SKILL.md +0 -121
  175. package/.agent/skills/verification-before-completion/SKILL.md +0 -99
  176. package/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  177. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  178. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  179. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  180. package/.agent/skills/webapp-testing/SKILL.md +0 -187
  181. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  182. package/.agent/skills/writing-skills/SKILL.md +0 -170
  183. package/.agent/workflows/brainstorm.md +0 -113
  184. package/.agent/workflows/create.md +0 -59
  185. package/.agent/workflows/debug.md +0 -103
  186. package/.agent/workflows/deploy.md +0 -176
  187. package/.agent/workflows/enhance.md +0 -63
  188. package/.agent/workflows/forge-debug.md +0 -12
  189. package/.agent/workflows/forge-fast.md +0 -22
  190. package/.agent/workflows/forge-release.md +0 -12
  191. package/.agent/workflows/forge-research.md +0 -24
  192. package/.agent/workflows/forge-review.md +0 -12
  193. package/.agent/workflows/forge-task.md +0 -37
  194. package/.agent/workflows/orchestrate.md +0 -237
  195. package/.agent/workflows/plan.md +0 -89
  196. package/.agent/workflows/preview.md +0 -81
  197. package/.agent/workflows/release.md +0 -42
  198. package/.agent/workflows/review.md +0 -125
  199. package/.agent/workflows/simple.md +0 -42
  200. package/.agent/workflows/spec.md +0 -140
  201. package/.agent/workflows/status.md +0 -86
  202. package/.agent/workflows/task.md +0 -59
  203. package/.agent/workflows/test.md +0 -144
  204. package/.agent/workflows/ui-ux-pro-max.md +0 -296
  205. package/agents/backend-specialist.md +0 -263
  206. package/agents/code-archaeologist.md +0 -106
  207. package/agents/database-architect.md +0 -226
  208. package/agents/debugger.md +0 -225
  209. package/agents/devops-engineer.md +0 -242
  210. package/agents/documentation-writer.md +0 -104
  211. package/agents/explorer-agent.md +0 -73
  212. package/agents/frontend-specialist.md +0 -593
  213. package/agents/game-developer.md +0 -162
  214. package/agents/mobile-developer.md +0 -377
  215. package/agents/orchestrator.md +0 -416
  216. package/agents/penetration-tester.md +0 -188
  217. package/agents/performance-optimizer.md +0 -187
  218. package/agents/product-manager.md +0 -112
  219. package/agents/product-owner.md +0 -95
  220. package/agents/project-planner.md +0 -406
  221. package/agents/qa-automation-engineer.md +0 -103
  222. package/agents/security-auditor.md +0 -170
  223. package/agents/seo-specialist.md +0 -111
  224. package/agents/test-engineer.md +0 -158
  225. package/commands/forge-debug.md +0 -12
  226. package/commands/forge-fast.md +0 -22
  227. package/commands/forge-release.md +0 -12
  228. package/commands/forge-research.md +0 -24
  229. package/commands/forge-review.md +0 -12
  230. package/commands/forge-task.md +0 -37
  231. package/kit/PROMPT_RECIPE.md +0 -30
  232. package/kit/README.md +0 -30
  233. package/prompts/debug.md +0 -11
  234. package/prompts/release.md +0 -11
  235. package/prompts/simple.md +0 -11
  236. package/prompts/spec.md +0 -11
  237. package/prompts/task.md +0 -12
  238. package/rules/GEMINI.md +0 -45
  239. package/scripts/auto_preview.py +0 -148
  240. package/scripts/checklist.py +0 -217
  241. package/scripts/session_manager.py +0 -120
  242. package/scripts/verify_all.py +0 -327
  243. package/skills/api-design/SKILL.md +0 -156
  244. package/skills/api-patterns/SKILL.md +0 -81
  245. package/skills/api-patterns/api-style.md +0 -42
  246. package/skills/api-patterns/auth.md +0 -24
  247. package/skills/api-patterns/documentation.md +0 -26
  248. package/skills/api-patterns/graphql.md +0 -41
  249. package/skills/api-patterns/rate-limiting.md +0 -31
  250. package/skills/api-patterns/response.md +0 -37
  251. package/skills/api-patterns/rest.md +0 -40
  252. package/skills/api-patterns/scripts/api_validator.py +0 -211
  253. package/skills/api-patterns/security-testing.md +0 -122
  254. package/skills/api-patterns/trpc.md +0 -41
  255. package/skills/api-patterns/versioning.md +0 -22
  256. package/skills/app-builder/SKILL.md +0 -75
  257. package/skills/app-builder/agent-coordination.md +0 -71
  258. package/skills/app-builder/feature-building.md +0 -53
  259. package/skills/app-builder/project-detection.md +0 -34
  260. package/skills/app-builder/scaffolding.md +0 -118
  261. package/skills/app-builder/tech-stack.md +0 -40
  262. package/skills/app-builder/templates/SKILL.md +0 -39
  263. package/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  264. package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  265. package/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  266. package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  267. package/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  268. package/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  269. package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  270. package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  271. package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  272. package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  273. package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  274. package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  275. package/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  276. package/skills/architecture/SKILL.md +0 -55
  277. package/skills/architecture/context-discovery.md +0 -43
  278. package/skills/architecture/examples.md +0 -94
  279. package/skills/architecture/pattern-selection.md +0 -68
  280. package/skills/architecture/patterns-reference.md +0 -50
  281. package/skills/architecture/trade-off-analysis.md +0 -77
  282. package/skills/bash-linux/SKILL.md +0 -199
  283. package/skills/behavioral-modes/SKILL.md +0 -242
  284. package/skills/brainstorming/SKILL.md +0 -163
  285. package/skills/brainstorming/dynamic-questioning.md +0 -350
  286. package/skills/clean-code/SKILL.md +0 -201
  287. package/skills/code-review-checklist/SKILL.md +0 -142
  288. package/skills/database-design/SKILL.md +0 -52
  289. package/skills/database-design/database-selection.md +0 -43
  290. package/skills/database-design/indexing.md +0 -39
  291. package/skills/database-design/migrations.md +0 -48
  292. package/skills/database-design/optimization.md +0 -36
  293. package/skills/database-design/orm-selection.md +0 -30
  294. package/skills/database-design/schema-design.md +0 -56
  295. package/skills/database-design/scripts/schema_validator.py +0 -172
  296. package/skills/deployment-procedures/SKILL.md +0 -241
  297. package/skills/desktop-design/SKILL.md +0 -25
  298. package/skills/dispatching-parallel-agents/SKILL.md +0 -112
  299. package/skills/doc.md +0 -177
  300. package/skills/docker-patterns/SKILL.md +0 -232
  301. package/skills/documentation-templates/SKILL.md +0 -194
  302. package/skills/executing-plans/SKILL.md +0 -61
  303. package/skills/finishing-a-development-branch/SKILL.md +0 -135
  304. package/skills/frontend-design/SKILL.md +0 -418
  305. package/skills/frontend-design/animation-guide.md +0 -331
  306. package/skills/frontend-design/color-system.md +0 -311
  307. package/skills/frontend-design/decision-trees.md +0 -418
  308. package/skills/frontend-design/motion-graphics.md +0 -306
  309. package/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  310. package/skills/frontend-design/scripts/ux_audit.py +0 -722
  311. package/skills/frontend-design/typography-system.md +0 -345
  312. package/skills/frontend-design/ux-psychology.md +0 -1116
  313. package/skills/frontend-design/visual-effects.md +0 -383
  314. package/skills/game-development/2d-games/SKILL.md +0 -119
  315. package/skills/game-development/3d-games/SKILL.md +0 -135
  316. package/skills/game-development/SKILL.md +0 -167
  317. package/skills/game-development/game-art/SKILL.md +0 -185
  318. package/skills/game-development/game-audio/SKILL.md +0 -190
  319. package/skills/game-development/game-design/SKILL.md +0 -129
  320. package/skills/game-development/mobile-games/SKILL.md +0 -108
  321. package/skills/game-development/multiplayer/SKILL.md +0 -132
  322. package/skills/game-development/pc-games/SKILL.md +0 -144
  323. package/skills/game-development/vr-ar/SKILL.md +0 -123
  324. package/skills/game-development/web-games/SKILL.md +0 -150
  325. package/skills/geo-fundamentals/SKILL.md +0 -156
  326. package/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  327. package/skills/golang-patterns/SKILL.md +0 -226
  328. package/skills/golang-testing/SKILL.md +0 -182
  329. package/skills/i18n-localization/SKILL.md +0 -154
  330. package/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  331. package/skills/intelligent-routing/SKILL.md +0 -335
  332. package/skills/laravel-patterns/SKILL.md +0 -224
  333. package/skills/laravel-security/SKILL.md +0 -171
  334. package/skills/laravel-tdd/SKILL.md +0 -149
  335. package/skills/lint-and-validate/SKILL.md +0 -45
  336. package/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  337. package/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  338. package/skills/mcp-builder/SKILL.md +0 -176
  339. package/skills/mobile-design/SKILL.md +0 -394
  340. package/skills/mobile-design/decision-trees.md +0 -516
  341. package/skills/mobile-design/mobile-backend.md +0 -491
  342. package/skills/mobile-design/mobile-color-system.md +0 -420
  343. package/skills/mobile-design/mobile-debugging.md +0 -122
  344. package/skills/mobile-design/mobile-design-thinking.md +0 -357
  345. package/skills/mobile-design/mobile-navigation.md +0 -458
  346. package/skills/mobile-design/mobile-performance.md +0 -767
  347. package/skills/mobile-design/mobile-testing.md +0 -356
  348. package/skills/mobile-design/mobile-typography.md +0 -433
  349. package/skills/mobile-design/platform-android.md +0 -666
  350. package/skills/mobile-design/platform-ios.md +0 -561
  351. package/skills/mobile-design/scripts/mobile_audit.py +0 -670
  352. package/skills/mobile-design/touch-psychology.md +0 -537
  353. package/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  354. package/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  355. package/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  356. package/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  357. package/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  358. package/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  359. package/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  360. package/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  361. package/skills/nextjs-react-expert/SKILL.md +0 -286
  362. package/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  363. package/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  364. package/skills/nodejs-best-practices/SKILL.md +0 -333
  365. package/skills/parallel-agents/SKILL.md +0 -175
  366. package/skills/performance-profiling/SKILL.md +0 -143
  367. package/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  368. package/skills/plan-writing/SKILL.md +0 -152
  369. package/skills/powershell-windows/SKILL.md +0 -167
  370. package/skills/project-onboarding/SKILL.md +0 -42
  371. package/skills/python-patterns/SKILL.md +0 -441
  372. package/skills/react-frontend/SKILL.md +0 -25
  373. package/skills/receiving-code-review/SKILL.md +0 -120
  374. package/skills/red-team-tactics/SKILL.md +0 -199
  375. package/skills/requesting-code-review/SKILL.md +0 -67
  376. package/skills/rust-pro/SKILL.md +0 -176
  377. package/skills/seo-fundamentals/SKILL.md +0 -129
  378. package/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  379. package/skills/server-management/SKILL.md +0 -161
  380. package/skills/subagent-driven-development/SKILL.md +0 -76
  381. package/skills/systematic-debugging/SKILL.md +0 -109
  382. package/skills/tailwind-patterns/SKILL.md +0 -269
  383. package/skills/tdd-workflow/SKILL.md +0 -173
  384. package/skills/testing-patterns/SKILL.md +0 -178
  385. package/skills/testing-patterns/scripts/test_runner.py +0 -219
  386. package/skills/using-git-worktrees/SKILL.md +0 -121
  387. package/skills/verification-before-completion/SKILL.md +0 -113
  388. package/skills/vulnerability-scanner/SKILL.md +0 -276
  389. package/skills/vulnerability-scanner/checklists.md +0 -121
  390. package/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  391. package/skills/web-design-guidelines/SKILL.md +0 -57
  392. package/skills/webapp-testing/SKILL.md +0 -187
  393. package/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  394. package/skills/writing-skills/SKILL.md +0 -170
  395. package/workflows/brainstorm.md +0 -113
  396. package/workflows/create.md +0 -59
  397. package/workflows/debug.md +0 -103
  398. package/workflows/deploy.md +0 -176
  399. package/workflows/enhance.md +0 -63
  400. package/workflows/orchestrate.md +0 -237
  401. package/workflows/plan.md +0 -89
  402. package/workflows/preview.md +0 -81
  403. package/workflows/release.md +0 -42
  404. package/workflows/simple.md +0 -42
  405. package/workflows/status.md +0 -86
  406. package/workflows/task.md +0 -59
  407. package/workflows/test.md +0 -144
  408. package/workflows/ui-ux-pro-max.md +0 -296
@@ -1,327 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Full Verification Suite - Antigravity Kit
4
- ==========================================
5
-
6
- Runs COMPLETE validation including all checks + performance + E2E.
7
- Use this before deployment or major releases.
8
-
9
- Usage:
10
- python scripts/verify_all.py . --url <URL>
11
-
12
- Includes ALL checks:
13
- ✅ Security Scan (OWASP, secrets, dependencies)
14
- ✅ Lint & Type Coverage
15
- ✅ Schema Validation
16
- ✅ Test Suite (unit + integration)
17
- ✅ UX Audit (psychology, accessibility)
18
- ✅ SEO Check
19
- ✅ Lighthouse (Core Web Vitals)
20
- ✅ Playwright E2E
21
- ✅ Bundle Analysis (if applicable)
22
- ✅ Mobile Audit (if applicable)
23
- """
24
-
25
- import sys
26
- import subprocess
27
- import argparse
28
- from pathlib import Path
29
- from typing import List, Dict, Optional
30
- from datetime import datetime
31
-
32
- # ANSI colors
33
- class Colors:
34
- HEADER = '\033[95m'
35
- BLUE = '\033[94m'
36
- CYAN = '\033[96m'
37
- GREEN = '\033[92m'
38
- YELLOW = '\033[93m'
39
- RED = '\033[91m'
40
- ENDC = '\033[0m'
41
- BOLD = '\033[1m'
42
-
43
- def print_header(text: str):
44
- print(f"\n{Colors.BOLD}{Colors.CYAN}{'='*70}{Colors.ENDC}")
45
- print(f"{Colors.BOLD}{Colors.CYAN}{text.center(70)}{Colors.ENDC}")
46
- print(f"{Colors.BOLD}{Colors.CYAN}{'='*70}{Colors.ENDC}\n")
47
-
48
- def print_step(text: str):
49
- print(f"{Colors.BOLD}{Colors.BLUE}🔄 {text}{Colors.ENDC}")
50
-
51
- def print_success(text: str):
52
- print(f"{Colors.GREEN}✅ {text}{Colors.ENDC}")
53
-
54
- def print_warning(text: str):
55
- print(f"{Colors.YELLOW}⚠️ {text}{Colors.ENDC}")
56
-
57
- def print_error(text: str):
58
- print(f"{Colors.RED}❌ {text}{Colors.ENDC}")
59
-
60
- # Complete verification suite
61
- VERIFICATION_SUITE = [
62
- # P0: Security (CRITICAL)
63
- {
64
- "category": "Security",
65
- "checks": [
66
- ("Security Scan", ".agent/skills/vulnerability-scanner/scripts/security_scan.py", True),
67
- ("Dependency Analysis", ".agent/skills/vulnerability-scanner/scripts/dependency_analyzer.py", False),
68
- ]
69
- },
70
-
71
- # P1: Code Quality (CRITICAL)
72
- {
73
- "category": "Code Quality",
74
- "checks": [
75
- ("Lint Check", ".agent/skills/lint-and-validate/scripts/lint_runner.py", True),
76
- ("Type Coverage", ".agent/skills/lint-and-validate/scripts/type_coverage.py", False),
77
- ]
78
- },
79
-
80
- # P2: Data Layer
81
- {
82
- "category": "Data Layer",
83
- "checks": [
84
- ("Schema Validation", ".agent/skills/database-design/scripts/schema_validator.py", False),
85
- ]
86
- },
87
-
88
- # P3: Testing
89
- {
90
- "category": "Testing",
91
- "checks": [
92
- ("Test Suite", ".agent/skills/testing-patterns/scripts/test_runner.py", False),
93
- ]
94
- },
95
-
96
- # P4: UX & Accessibility
97
- {
98
- "category": "UX & Accessibility",
99
- "checks": [
100
- ("UX Audit", ".agent/skills/frontend-design/scripts/ux_audit.py", False),
101
- ("Accessibility Check", ".agent/skills/frontend-design/scripts/accessibility_checker.py", False),
102
- ]
103
- },
104
-
105
- # P5: SEO & Content
106
- {
107
- "category": "SEO & Content",
108
- "checks": [
109
- ("SEO Check", ".agent/skills/seo-fundamentals/scripts/seo_checker.py", False),
110
- ("GEO Check", ".agent/skills/geo-fundamentals/scripts/geo_checker.py", False),
111
- ]
112
- },
113
-
114
- # P6: Performance (requires URL)
115
- {
116
- "category": "Performance",
117
- "requires_url": True,
118
- "checks": [
119
- ("Lighthouse Audit", ".agent/skills/performance-profiling/scripts/lighthouse_audit.py", True),
120
- ("Bundle Analysis", ".agent/skills/performance-profiling/scripts/bundle_analyzer.py", False),
121
- ]
122
- },
123
-
124
- # P7: E2E Testing (requires URL)
125
- {
126
- "category": "E2E Testing",
127
- "requires_url": True,
128
- "checks": [
129
- ("Playwright E2E", ".agent/skills/webapp-testing/scripts/playwright_runner.py", False),
130
- ]
131
- },
132
-
133
- # P8: Mobile (if applicable)
134
- {
135
- "category": "Mobile",
136
- "checks": [
137
- ("Mobile Audit", ".agent/skills/mobile-design/scripts/mobile_audit.py", False),
138
- ]
139
- },
140
-
141
- # P9: Internationalization
142
- {
143
- "category": "Internationalization",
144
- "checks": [
145
- ("i18n Check", ".agent/skills/i18n-localization/scripts/i18n_checker.py", False),
146
- ]
147
- },
148
- ]
149
-
150
- def run_script(name: str, script_path: Path, project_path: str, url: Optional[str] = None) -> dict:
151
- """Run validation script"""
152
- if not script_path.exists():
153
- print_warning(f"{name}: Script not found, skipping")
154
- return {"name": name, "passed": True, "skipped": True, "duration": 0}
155
-
156
- print_step(f"Running: {name}")
157
- start_time = datetime.now()
158
-
159
- # Build command
160
- cmd = ["python", str(script_path), project_path]
161
- if url and ("lighthouse" in script_path.name.lower() or "playwright" in script_path.name.lower()):
162
- cmd.append(url)
163
-
164
- # Run
165
- try:
166
- result = subprocess.run(
167
- cmd,
168
- capture_output=True,
169
- text=True,
170
- timeout=600 # 10 minute timeout for slow checks
171
- )
172
-
173
- duration = (datetime.now() - start_time).total_seconds()
174
- passed = result.returncode == 0
175
-
176
- if passed:
177
- print_success(f"{name}: PASSED ({duration:.1f}s)")
178
- else:
179
- print_error(f"{name}: FAILED ({duration:.1f}s)")
180
- if result.stderr:
181
- print(f" {result.stderr[:300]}")
182
-
183
- return {
184
- "name": name,
185
- "passed": passed,
186
- "output": result.stdout,
187
- "error": result.stderr,
188
- "skipped": False,
189
- "duration": duration
190
- }
191
-
192
- except subprocess.TimeoutExpired:
193
- duration = (datetime.now() - start_time).total_seconds()
194
- print_error(f"{name}: TIMEOUT (>{duration:.0f}s)")
195
- return {"name": name, "passed": False, "skipped": False, "duration": duration, "error": "Timeout"}
196
-
197
- except Exception as e:
198
- duration = (datetime.now() - start_time).total_seconds()
199
- print_error(f"{name}: ERROR - {str(e)}")
200
- return {"name": name, "passed": False, "skipped": False, "duration": duration, "error": str(e)}
201
-
202
- def print_final_report(results: List[dict], start_time: datetime):
203
- """Print comprehensive final report"""
204
- total_duration = (datetime.now() - start_time).total_seconds()
205
-
206
- print_header("📊 FULL VERIFICATION REPORT")
207
-
208
- # Statistics
209
- total = len(results)
210
- passed = sum(1 for r in results if r["passed"] and not r.get("skipped"))
211
- failed = sum(1 for r in results if not r["passed"] and not r.get("skipped"))
212
- skipped = sum(1 for r in results if r.get("skipped"))
213
-
214
- print(f"Total Duration: {total_duration:.1f}s")
215
- print(f"Total Checks: {total}")
216
- print(f"{Colors.GREEN}✅ Passed: {passed}{Colors.ENDC}")
217
- print(f"{Colors.RED}❌ Failed: {failed}{Colors.ENDC}")
218
- print(f"{Colors.YELLOW}⏭️ Skipped: {skipped}{Colors.ENDC}")
219
- print()
220
-
221
- # Category breakdown
222
- print(f"{Colors.BOLD}Results by Category:{Colors.ENDC}")
223
- current_category = None
224
- for r in results:
225
- # Print category header if changed
226
- if r.get("category") and r["category"] != current_category:
227
- current_category = r["category"]
228
- print(f"\n{Colors.BOLD}{Colors.CYAN}{current_category}:{Colors.ENDC}")
229
-
230
- # Print result
231
- if r.get("skipped"):
232
- status = f"{Colors.YELLOW}⏭️ {Colors.ENDC}"
233
- elif r["passed"]:
234
- status = f"{Colors.GREEN}✅{Colors.ENDC}"
235
- else:
236
- status = f"{Colors.RED}❌{Colors.ENDC}"
237
-
238
- duration_str = f"({r.get('duration', 0):.1f}s)" if not r.get("skipped") else ""
239
- print(f" {status} {r['name']} {duration_str}")
240
-
241
- print()
242
-
243
- # Failed checks detail
244
- if failed > 0:
245
- print(f"{Colors.BOLD}{Colors.RED}❌ FAILED CHECKS:{Colors.ENDC}")
246
- for r in results:
247
- if not r["passed"] and not r.get("skipped"):
248
- print(f"\n{Colors.RED}✗ {r['name']}{Colors.ENDC}")
249
- if r.get("error"):
250
- error_preview = r["error"][:200]
251
- print(f" Error: {error_preview}")
252
- print()
253
-
254
- # Final verdict
255
- if failed > 0:
256
- print_error(f"VERIFICATION FAILED - {failed} check(s) need attention")
257
- print(f"\n{Colors.YELLOW}💡 Tip: Fix critical (security, lint) issues first{Colors.ENDC}")
258
- return False
259
- else:
260
- print_success("✨ ALL CHECKS PASSED - Ready for deployment! ✨")
261
- return True
262
-
263
- def main():
264
- parser = argparse.ArgumentParser(
265
- description="Run complete Antigravity Kit verification suite",
266
- formatter_class=argparse.RawDescriptionHelpFormatter,
267
- epilog="""
268
- Examples:
269
- python scripts/verify_all.py . --url http://localhost:3000
270
- python scripts/verify_all.py . --url https://staging.example.com --no-e2e
271
- """
272
- )
273
- parser.add_argument("project", help="Project path to validate")
274
- parser.add_argument("--url", required=True, help="URL for performance & E2E checks")
275
- parser.add_argument("--no-e2e", action="store_true", help="Skip E2E tests")
276
- parser.add_argument("--stop-on-fail", action="store_true", help="Stop on first failure")
277
-
278
- args = parser.parse_args()
279
-
280
- project_path = Path(args.project).resolve()
281
-
282
- if not project_path.exists():
283
- print_error(f"Project path does not exist: {project_path}")
284
- sys.exit(1)
285
-
286
- print_header("🚀 ANTIGRAVITY KIT - FULL VERIFICATION SUITE")
287
- print(f"Project: {project_path}")
288
- print(f"URL: {args.url}")
289
- print(f"Started: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
290
-
291
- start_time = datetime.now()
292
- results = []
293
-
294
- # Run all verification categories
295
- for suite in VERIFICATION_SUITE:
296
- category = suite["category"]
297
- requires_url = suite.get("requires_url", False)
298
-
299
- # Skip if requires URL and not provided
300
- if requires_url and not args.url:
301
- continue
302
-
303
- # Skip E2E if flag set
304
- if args.no_e2e and category == "E2E Testing":
305
- continue
306
-
307
- print_header(f"📋 {category.upper()}")
308
-
309
- for name, script_path, required in suite["checks"]:
310
- script = project_path / script_path
311
- result = run_script(name, script, str(project_path), args.url)
312
- result["category"] = category
313
- results.append(result)
314
-
315
- # Stop on critical failure if flag set
316
- if args.stop_on_fail and required and not result["passed"] and not result.get("skipped"):
317
- print_error(f"CRITICAL: {name} failed. Stopping verification.")
318
- print_final_report(results, start_time)
319
- sys.exit(1)
320
-
321
- # Print final report
322
- all_passed = print_final_report(results, start_time)
323
-
324
- sys.exit(0 if all_passed else 1)
325
-
326
- if __name__ == "__main__":
327
- main()
@@ -1,156 +0,0 @@
1
- ---
2
- name: api-design
3
- description: REST API design patterns. Use when designing new API endpoints, reviewing API contracts, choosing pagination strategies, error response formats, versioning, or HTTP status codes.
4
- allowed-tools: Read, Edit, Write
5
- ---
6
-
7
- # API Design Patterns
8
-
9
- ## URL Structure
10
-
11
- ```
12
- # Resources: plural nouns, lowercase, kebab-case, no verbs
13
- GET /api/v1/users
14
- POST /api/v1/users
15
- GET /api/v1/users/:id
16
- PUT /api/v1/users/:id
17
- PATCH /api/v1/users/:id
18
- DELETE /api/v1/users/:id
19
-
20
- # Sub-resources for relationships
21
- GET /api/v1/users/:id/orders
22
- POST /api/v1/users/:id/orders
23
-
24
- # Actions that don't map to CRUD
25
- POST /api/v1/orders/:id/cancel
26
- POST /api/v1/auth/refresh
27
- ```
28
-
29
- **Naming rules:**
30
- ```
31
- ✅ /api/v1/team-members kebab-case
32
- ✅ /api/v1/orders?status=active query params for filtering
33
- ✅ /api/v1/users/123/orders nested for ownership
34
-
35
- ❌ /api/v1/getUsers verb in URL
36
- ❌ /api/v1/user singular
37
- ❌ /api/v1/team_members snake_case in URLs
38
- ```
39
-
40
- ## HTTP Methods and Status Codes
41
-
42
- | Method | Idempotent | Use For |
43
- |--------|-----------|---------|
44
- | GET | Yes | Retrieve |
45
- | POST | No | Create / trigger actions |
46
- | PUT | Yes | Full replacement |
47
- | PATCH | No | Partial update |
48
- | DELETE | Yes | Remove |
49
-
50
- ```
51
- # Success
52
- 200 OK GET, PUT, PATCH (with body)
53
- 201 Created POST (add Location header)
54
- 204 No Content DELETE, PUT (no body)
55
-
56
- # Client Errors
57
- 400 Bad Request Validation failure, malformed JSON
58
- 401 Unauthorized Missing or invalid auth
59
- 403 Forbidden Authenticated, not authorized
60
- 404 Not Found Resource doesn't exist
61
- 409 Conflict Duplicate entry, state conflict
62
- 422 Unprocessable Entity Valid JSON, semantically invalid
63
- 429 Too Many Requests Rate limit exceeded
64
-
65
- # Server Errors
66
- 500 Internal Server Error Never expose internal details
67
- 503 Service Unavailable Include Retry-After header
68
- ```
69
-
70
- ## Response Format
71
-
72
- ```json
73
- // Success
74
- { "data": { "id": "abc-123", "email": "alice@example.com", "created_at": "2025-01-15T10:30:00Z" } }
75
-
76
- // Collection with pagination
77
- {
78
- "data": [{ "id": "abc-123", "name": "Alice" }],
79
- "meta": { "total": 142, "page": 1, "per_page": 20, "total_pages": 8 },
80
- "links": { "next": "/api/v1/users?page=2&per_page=20" }
81
- }
82
-
83
- // Error
84
- {
85
- "error": {
86
- "code": "validation_error",
87
- "message": "Request validation failed",
88
- "details": [
89
- { "field": "email", "message": "Must be a valid email", "code": "invalid_format" }
90
- ]
91
- }
92
- }
93
- ```
94
-
95
- ## Pagination
96
-
97
- | Use Case | Type |
98
- |----------|------|
99
- | Admin dashboards, small datasets (<10K) | Offset |
100
- | Infinite scroll, feeds, large datasets | **Cursor** |
101
- | Public APIs | Cursor (default) |
102
- | Search results | Offset (users expect page numbers) |
103
-
104
- ```
105
- # Offset
106
- GET /api/v1/users?page=2&per_page=20
107
-
108
- # Cursor
109
- GET /api/v1/users?cursor=eyJpZCI6MTIzfQ&limit=20
110
- → { "data": [...], "meta": { "has_next": true, "next_cursor": "eyJpZCI6MTQzfQ" } }
111
- ```
112
-
113
- ## Versioning
114
-
115
- ```
116
- /api/v1/users ← recommended
117
- /api/v2/users ← when breaking changes needed
118
- ```
119
-
120
- **Breaking changes** (require new version): removing fields, changing types, changing URL structure.
121
- **Non-breaking** (no new version): adding optional fields/params, adding endpoints.
122
-
123
- Deprecation: 6-month notice, add `Sunset` header, return `410 Gone` after.
124
-
125
- ## Filtering, Sorting, Search
126
-
127
- ```
128
- GET /api/v1/orders?status=active&created_after=2025-01-01
129
- GET /api/v1/users?sort=created_at&order=desc
130
- GET /api/v1/products?q=widget
131
- GET /api/v1/users?fields=id,email,name # Sparse fieldsets
132
- ```
133
-
134
- ## Rate Limiting Headers
135
-
136
- ```
137
- X-RateLimit-Limit: 100
138
- X-RateLimit-Remaining: 45
139
- X-RateLimit-Reset: 1640995200
140
- Retry-After: 30 # on 429
141
- ```
142
-
143
- ## API Design Checklist
144
-
145
- Before shipping a new endpoint:
146
-
147
- - [ ] URL: plural noun, kebab-case, no verbs
148
- - [ ] Correct HTTP method and status code
149
- - [ ] Input validated with schema (Zod, Pydantic, Go validator)
150
- - [ ] Error response follows standard format with field-level details
151
- - [ ] Pagination implemented for list endpoints
152
- - [ ] Authentication required (or explicitly marked public)
153
- - [ ] Authorization checked (user can only access their own resources)
154
- - [ ] Rate limiting configured
155
- - [ ] Response does not leak internal details (stack traces, SQL errors)
156
- - [ ] OpenAPI spec updated
@@ -1,81 +0,0 @@
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
-
@@ -1,42 +0,0 @@
1
- # API Style Selection (2025)
2
-
3
- > REST vs GraphQL vs tRPC - Hangi durumda hangisi?
4
-
5
- ## Decision Tree
6
-
7
- ```
8
- Who are the API consumers?
9
- │
10
- ├── Public API / Multiple platforms
11
- │ └── REST + OpenAPI (widest compatibility)
12
- │
13
- ├── Complex data needs / Multiple frontends
14
- │ └── GraphQL (flexible queries)
15
- │
16
- ├── TypeScript frontend + backend (monorepo)
17
- │ └── tRPC (end-to-end type safety)
18
- │
19
- ├── Real-time / Event-driven
20
- │ └── WebSocket + AsyncAPI
21
- │
22
- └── Internal microservices
23
- └── gRPC (performance) or REST (simplicity)
24
- ```
25
-
26
- ## Comparison
27
-
28
- | Factor | REST | GraphQL | tRPC |
29
- |--------|------|---------|------|
30
- | **Best for** | Public APIs | Complex apps | TS monorepos |
31
- | **Learning curve** | Low | Medium | Low (if TS) |
32
- | **Over/under fetching** | Common | Solved | Solved |
33
- | **Type safety** | Manual (OpenAPI) | Schema-based | Automatic |
34
- | **Caching** | HTTP native | Complex | Client-based |
35
-
36
- ## Selection Questions
37
-
38
- 1. Who are the API consumers?
39
- 2. Is the frontend TypeScript?
40
- 3. How complex are the data relationships?
41
- 4. Is caching critical?
42
- 5. Public or internal API?
@@ -1,24 +0,0 @@
1
- # Authentication Patterns
2
-
3
- > Choose auth pattern based on use case.
4
-
5
- ## Selection Guide
6
-
7
- | Pattern | Best For |
8
- |---------|----------|
9
- | **JWT** | Stateless, microservices |
10
- | **Session** | Traditional web, simple |
11
- | **OAuth 2.0** | Third-party integration |
12
- | **API Keys** | Server-to-server, public APIs |
13
- | **Passkey** | Modern passwordless (2025+) |
14
-
15
- ## JWT Principles
16
-
17
- ```
18
- Important:
19
- ├── Always verify signature
20
- ├── Check expiration
21
- ├── Include minimal claims
22
- ├── Use short expiry + refresh tokens
23
- └── Never store sensitive data in JWT
24
- ```
@@ -1,26 +0,0 @@
1
- # API Documentation Principles
2
-
3
- > Good docs = happy developers = API adoption.
4
-
5
- ## OpenAPI/Swagger Essentials
6
-
7
- ```
8
- Include:
9
- ├── All endpoints with examples
10
- ├── Request/response schemas
11
- ├── Authentication requirements
12
- ├── Error response formats
13
- └── Rate limiting info
14
- ```
15
-
16
- ## Good Documentation Has
17
-
18
- ```
19
- Essentials:
20
- ├── Quick start / Getting started
21
- ├── Authentication guide
22
- ├── Complete API reference
23
- ├── Error handling guide
24
- ├── Code examples (multiple languages)
25
- └── Changelog
26
- ```
@@ -1,41 +0,0 @@
1
- # GraphQL Principles
2
-
3
- > Flexible queries for complex, interconnected data.
4
-
5
- ## When to Use
6
-
7
- ```
8
- ✅ Good fit:
9
- ├── Complex, interconnected data
10
- ├── Multiple frontend platforms
11
- ├── Clients need flexible queries
12
- ├── Evolving data requirements
13
- └── Reducing over-fetching matters
14
-
15
- ❌ Poor fit:
16
- ├── Simple CRUD operations
17
- ├── File upload heavy
18
- ├── HTTP caching important
19
- └── Team unfamiliar with GraphQL
20
- ```
21
-
22
- ## Schema Design Principles
23
-
24
- ```
25
- Principles:
26
- ├── Think in graphs, not endpoints
27
- ├── Design for evolvability (no versions)
28
- ├── Use connections for pagination
29
- ├── Be specific with types (not generic "data")
30
- └── Handle nullability thoughtfully
31
- ```
32
-
33
- ## Security Considerations
34
-
35
- ```
36
- Protect against:
37
- ├── Query depth attacks → Set max depth
38
- ├── Query complexity → Calculate cost
39
- ├── Batching abuse → Limit batch size
40
- ├── Introspection → Disable in production
41
- ```