ai-qakit 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 (875) hide show
  1. package/README.md +240 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +208 -0
  4. package/dist/commands/clean.d.ts +10 -0
  5. package/dist/commands/clean.js +53 -0
  6. package/dist/commands/init.d.ts +20 -0
  7. package/dist/commands/init.js +195 -0
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.js +2 -0
  10. package/dist/utils/file-operations.d.ts +18 -0
  11. package/dist/utils/file-operations.js +79 -0
  12. package/dist/utils/git.d.ts +4 -0
  13. package/dist/utils/git.js +27 -0
  14. package/dist/utils/index.d.ts +5 -0
  15. package/dist/utils/index.js +5 -0
  16. package/dist/utils/logger.d.ts +22 -0
  17. package/dist/utils/logger.js +23 -0
  18. package/dist/utils/manifest.d.ts +37 -0
  19. package/dist/utils/manifest.js +120 -0
  20. package/dist/utils/package.d.ts +19 -0
  21. package/dist/utils/package.js +47 -0
  22. package/package.json +61 -0
  23. package/templates/.antigravity/agents/qa-agents.yaml +50 -0
  24. package/templates/.antigravity/prompts/qa-prompts.md +56 -0
  25. package/templates/.claude/.scoutignore +33 -0
  26. package/templates/.claude/CHANGELOG.md +587 -0
  27. package/templates/.claude/CLAUDE.md +335 -0
  28. package/templates/.claude/README.md +428 -0
  29. package/templates/.claude/TROUBLESHOOTING.md +789 -0
  30. package/templates/.claude/agents/accessibility-tester.md +29 -0
  31. package/templates/.claude/agents/api-tester.md +29 -0
  32. package/templates/.claude/agents/automation-engineer.md +30 -0
  33. package/templates/.claude/agents/brainstormer.md +123 -0
  34. package/templates/.claude/agents/bug-hunter.md +30 -0
  35. package/templates/.claude/agents/claude-optimizer.md +221 -0
  36. package/templates/.claude/agents/code-reviewer.md +176 -0
  37. package/templates/.claude/agents/code-simplifier.md +103 -0
  38. package/templates/.claude/agents/coder.md +163 -0
  39. package/templates/.claude/agents/context-manager.md +110 -0
  40. package/templates/.claude/agents/cunningham.md +134 -0
  41. package/templates/.claude/agents/database-admin.md +112 -0
  42. package/templates/.claude/agents/debugger.md +156 -0
  43. package/templates/.claude/agents/docs-manager.md +181 -0
  44. package/templates/.claude/agents/e2e-tester.md +30 -0
  45. package/templates/.claude/agents/performance-engineer.md +48 -0
  46. package/templates/.claude/agents/performance-tester.md +29 -0
  47. package/templates/.claude/agents/planner.md +72 -0
  48. package/templates/.claude/agents/project-manager.md +152 -0
  49. package/templates/.claude/agents/qa-scout.md +29 -0
  50. package/templates/.claude/agents/quality-engineer.md +48 -0
  51. package/templates/.claude/agents/readme-writer.md +67 -0
  52. package/templates/.claude/agents/researcher.md +57 -0
  53. package/templates/.claude/agents/scout.md +125 -0
  54. package/templates/.claude/agents/security-agent.md +564 -0
  55. package/templates/.claude/agents/security-tester.md +29 -0
  56. package/templates/.claude/agents/storage-path-convention.md +102 -0
  57. package/templates/.claude/agents/tattletale-reporter.md +77 -0
  58. package/templates/.claude/agents/test-architect.md +32 -0
  59. package/templates/.claude/agents/test-reviewer.md +29 -0
  60. package/templates/.claude/agents/tester.md +286 -0
  61. package/templates/.claude/agents/typescript-pro.md +280 -0
  62. package/templates/.claude/agents/ui-ux-designer.md +256 -0
  63. package/templates/.claude/commands/devkit/analyze.md +92 -0
  64. package/templates/.claude/commands/devkit/ask.md +269 -0
  65. package/templates/.claude/commands/devkit/backend/create-api.md +220 -0
  66. package/templates/.claude/commands/devkit/backend/create-migration.md +130 -0
  67. package/templates/.claude/commands/devkit/backend/create-schema.md +158 -0
  68. package/templates/.claude/commands/devkit/backend/design-graphql-api.md +302 -0
  69. package/templates/.claude/commands/devkit/backend/design-rest-api.md +192 -0
  70. package/templates/.claude/commands/devkit/config/bootstrap.md +137 -0
  71. package/templates/.claude/commands/devkit/config/init-backend.md +233 -0
  72. package/templates/.claude/commands/devkit/config/init-frontend.md +911 -0
  73. package/templates/.claude/commands/devkit/create-test.md +165 -0
  74. package/templates/.claude/commands/devkit/debug.md +481 -0
  75. package/templates/.claude/commands/devkit/docs/capture-knowledge.md +424 -0
  76. package/templates/.claude/commands/devkit/docs/init.md +203 -0
  77. package/templates/.claude/commands/devkit/docs/summarize.md +33 -0
  78. package/templates/.claude/commands/devkit/docs/update.md +207 -0
  79. package/templates/.claude/commands/devkit/fix/fast.md +22 -0
  80. package/templates/.claude/commands/devkit/fix/hard.md +44 -0
  81. package/templates/.claude/commands/devkit/fix.md +16 -0
  82. package/templates/.claude/commands/devkit/frontend/create-api-integration.md +507 -0
  83. package/templates/.claude/commands/devkit/frontend/create-component.md +461 -0
  84. package/templates/.claude/commands/devkit/frontend/create-form.md +804 -0
  85. package/templates/.claude/commands/devkit/frontend/create-page.md +484 -0
  86. package/templates/.claude/commands/devkit/frontend/create-storybook.md +899 -0
  87. package/templates/.claude/commands/devkit/frontend/create-table.md +1035 -0
  88. package/templates/.claude/commands/devkit/help.md +148 -0
  89. package/templates/.claude/commands/devkit/refactor.md +510 -0
  90. package/templates/.claude/commands/devkit/research.md +394 -0
  91. package/templates/.claude/commands/devkit/review/code.md +349 -0
  92. package/templates/.claude/commands/devkit/review/codebase.md +51 -0
  93. package/templates/.claude/commands/devkit/scout.md +312 -0
  94. package/templates/.claude/commands/devkit/skill/add.md +29 -0
  95. package/templates/.claude/commands/devkit/skill/create.md +22 -0
  96. package/templates/.claude/commands/devkit/skill/optimize.md +34 -0
  97. package/templates/.claude/commands/devkit/solve.md +364 -0
  98. package/templates/.claude/commands/devkit/spec/brainstorm.md +309 -0
  99. package/templates/.claude/commands/devkit/spec/capture-requirement.md +202 -0
  100. package/templates/.claude/commands/devkit/spec/cook.md +157 -0
  101. package/templates/.claude/commands/devkit/spec/deep-capture-requirement.md +393 -0
  102. package/templates/.claude/commands/devkit/spec/implement.md +350 -0
  103. package/templates/.claude/commands/devkit/spec/plan.md +269 -0
  104. package/templates/.claude/commands/devkit/spec/task.md +156 -0
  105. package/templates/.claude/commands/devkit/spec/test.md +259 -0
  106. package/templates/.claude/commands/devkit/spec/update-plan.md +263 -0
  107. package/templates/.claude/commands/devkit/spec/update-requirement.md +239 -0
  108. package/templates/.claude/commands/devkit/spec-lite/do.md +280 -0
  109. package/templates/.claude/commands/devkit/spec-lite/plan.md +236 -0
  110. package/templates/.claude/commands/devkit/spec-lite/task.md +141 -0
  111. package/templates/.claude/commands/devkit/spec-lite/test.md +171 -0
  112. package/templates/.claude/commands/devkit/spec-lite/update-plan.md +154 -0
  113. package/templates/.claude/commands/qakit/a11y/audit.md +38 -0
  114. package/templates/.claude/commands/qakit/a11y/fix.md +22 -0
  115. package/templates/.claude/commands/qakit/analyze/full.md +459 -0
  116. package/templates/.claude/commands/qakit/analyze/quick.md +84 -0
  117. package/templates/.claude/commands/qakit/api/analyze.md +34 -0
  118. package/templates/.claude/commands/qakit/api/contract.md +22 -0
  119. package/templates/.claude/commands/qakit/api/generate.md +20 -0
  120. package/templates/.claude/commands/qakit/api/run.md +16 -0
  121. package/templates/.claude/commands/qakit/ask.md +57 -0
  122. package/templates/.claude/commands/qakit/automation/fix-flaky.md +233 -0
  123. package/templates/.claude/commands/qakit/automation/health-check.md +192 -0
  124. package/templates/.claude/commands/qakit/automation/maintenance.md +311 -0
  125. package/templates/.claude/commands/qakit/automation/scaffold-playwright.md +689 -0
  126. package/templates/.claude/commands/qakit/automation/scaffold-webdriverio.md +802 -0
  127. package/templates/.claude/commands/qakit/automation/scaffold.md +447 -0
  128. package/templates/.claude/commands/qakit/automation/update-deps.md +219 -0
  129. package/templates/.claude/commands/qakit/bug/investigate.md +96 -0
  130. package/templates/.claude/commands/qakit/bug/report.md +147 -0
  131. package/templates/.claude/commands/qakit/bug/reproduce.md +101 -0
  132. package/templates/.claude/commands/qakit/bug/triage.md +101 -0
  133. package/templates/.claude/commands/qakit/bug/verify.md +106 -0
  134. package/templates/.claude/commands/qakit/config/init-qa.md +107 -0
  135. package/templates/.claude/commands/qakit/confluence/fetch.md +192 -0
  136. package/templates/.claude/commands/qakit/confluence/search.md +201 -0
  137. package/templates/.claude/commands/qakit/docs/capture-test-knowledge.md +451 -0
  138. package/templates/.claude/commands/qakit/docs/update-changelog.md +207 -0
  139. package/templates/.claude/commands/qakit/docs/update-readme.md +296 -0
  140. package/templates/.claude/commands/qakit/e2e/generate.md +18 -0
  141. package/templates/.claude/commands/qakit/e2e/page-object.md +37 -0
  142. package/templates/.claude/commands/qakit/e2e/run.md +17 -0
  143. package/templates/.claude/commands/qakit/e2e/scenario.md +20 -0
  144. package/templates/.claude/commands/qakit/feature/create.md +178 -0
  145. package/templates/.claude/commands/qakit/feature/enrich-api.md +352 -0
  146. package/templates/.claude/commands/qakit/feature/enrich-tests.md +243 -0
  147. package/templates/.claude/commands/qakit/feature/enrich-ui.md +217 -0
  148. package/templates/.claude/commands/qakit/feature/enrich.md +246 -0
  149. package/templates/.claude/commands/qakit/feature/from-jira.md +184 -0
  150. package/templates/.claude/commands/qakit/feature/update.md +136 -0
  151. package/templates/.claude/commands/qakit/help.md +98 -0
  152. package/templates/.claude/commands/qakit/jira/analyze.md +329 -0
  153. package/templates/.claude/commands/qakit/jira/create-tests.md +319 -0
  154. package/templates/.claude/commands/qakit/kb/add-design.md +258 -0
  155. package/templates/.claude/commands/qakit/kb/capture.md +325 -0
  156. package/templates/.claude/commands/qakit/kb/clean.md +157 -0
  157. package/templates/.claude/commands/qakit/kb/dedupe.md +281 -0
  158. package/templates/.claude/commands/qakit/kb/init.md +234 -0
  159. package/templates/.claude/commands/qakit/kb/link.md +124 -0
  160. package/templates/.claude/commands/qakit/kb/list.md +185 -0
  161. package/templates/.claude/commands/qakit/kb/resolve.md +234 -0
  162. package/templates/.claude/commands/qakit/kb/search.md +202 -0
  163. package/templates/.claude/commands/qakit/kb/sync-confluence.md +474 -0
  164. package/templates/.claude/commands/qakit/metrics/coverage.md +46 -0
  165. package/templates/.claude/commands/qakit/metrics/dashboard.md +62 -0
  166. package/templates/.claude/commands/qakit/metrics/trends.md +42 -0
  167. package/templates/.claude/commands/qakit/perf/analyze.md +31 -0
  168. package/templates/.claude/commands/qakit/perf/plan.md +18 -0
  169. package/templates/.claude/commands/qakit/perf/run.md +17 -0
  170. package/templates/.claude/commands/qakit/perf/script.md +38 -0
  171. package/templates/.claude/commands/qakit/rca/analyze.md +166 -0
  172. package/templates/.claude/commands/qakit/regression/analyze.md +36 -0
  173. package/templates/.claude/commands/qakit/regression/report.md +30 -0
  174. package/templates/.claude/commands/qakit/regression/run.md +17 -0
  175. package/templates/.claude/commands/qakit/regression/select.md +34 -0
  176. package/templates/.claude/commands/qakit/research/deep.md +328 -0
  177. package/templates/.claude/commands/qakit/review/coverage.md +116 -0
  178. package/templates/.claude/commands/qakit/review/quality-gate.md +126 -0
  179. package/templates/.claude/commands/qakit/review/test-code.md +320 -0
  180. package/templates/.claude/commands/qakit/review/test-review.md +109 -0
  181. package/templates/.claude/commands/qakit/scout.md +195 -0
  182. package/templates/.claude/commands/qakit/setup/confluence.md +140 -0
  183. package/templates/.claude/commands/qakit/setup/jira.md +154 -0
  184. package/templates/.claude/commands/qakit/spec/analyze.md +46 -0
  185. package/templates/.claude/commands/qakit/spec/cook.md +344 -0
  186. package/templates/.claude/commands/qakit/spec/execute.md +38 -0
  187. package/templates/.claude/commands/qakit/spec/plan.md +46 -0
  188. package/templates/.claude/commands/qakit/spec/report.md +40 -0
  189. package/templates/.claude/commands/qakit/spec/task.md +40 -0
  190. package/templates/.claude/commands/qakit/test/create-test-case.md +151 -0
  191. package/templates/.claude/commands/qakit/test/create-test-suite.md +84 -0
  192. package/templates/.claude/commands/qakit/test/generate-api-tests.md +82 -0
  193. package/templates/.claude/commands/qakit/test/generate-data.md +114 -0
  194. package/templates/.claude/commands/qakit/test/generate-e2e.md +99 -0
  195. package/templates/.claude/commands/qakit/test/generate-ui-tests.md +97 -0
  196. package/templates/.claude/commands/qakit/testmo/report.md +22 -0
  197. package/templates/.claude/commands/qakit/testmo/sync.md +31 -0
  198. package/templates/.claude/doc-templates/bug-report-template.md +247 -0
  199. package/templates/.claude/doc-templates/code-standards.md +486 -0
  200. package/templates/.claude/doc-templates/codebase-summary.md +426 -0
  201. package/templates/.claude/doc-templates/development-rules.md +553 -0
  202. package/templates/.claude/doc-templates/feature-spec-template.md +167 -0
  203. package/templates/.claude/doc-templates/performance-report-template.md +49 -0
  204. package/templates/.claude/doc-templates/project-overview-pdr.md +494 -0
  205. package/templates/.claude/doc-templates/quality-report-template.md +44 -0
  206. package/templates/.claude/doc-templates/regression-report-template.md +41 -0
  207. package/templates/.claude/doc-templates/system-architecture.md +615 -0
  208. package/templates/.claude/doc-templates/technical-documents.md +127 -0
  209. package/templates/.claude/doc-templates/test-case-template.md +198 -0
  210. package/templates/.claude/doc-templates/test-plan-template.md +366 -0
  211. package/templates/.claude/doc-templates/test-summary-report.md +401 -0
  212. package/templates/.claude/hooks/dev-rules-reminder.cjs +101 -0
  213. package/templates/.claude/hooks/dev-rules-reminder.js +96 -0
  214. package/templates/.claude/hooks/executable_force-agent-skills-eval.sh +38 -0
  215. package/templates/.claude/hooks/scout-block/scout-block.ps1 +92 -0
  216. package/templates/.claude/hooks/scout-block/scout-block.sh +119 -0
  217. package/templates/.claude/hooks/scout-block.cjs +100 -0
  218. package/templates/.claude/hooks/scout-block.js +104 -0
  219. package/templates/.claude/repomix.config.json +34 -0
  220. package/templates/.claude/rules/01-core-principles.md +81 -0
  221. package/templates/.claude/rules/02-naming-and-constants.md +115 -0
  222. package/templates/.claude/rules/03-function-design.md +167 -0
  223. package/templates/.claude/rules/04-error-handling.md +83 -0
  224. package/templates/.claude/rules/05-testing.md +86 -0
  225. package/templates/.claude/rules/06-code-quality.md +107 -0
  226. package/templates/.claude/rules/07-architecture.md +105 -0
  227. package/templates/.claude/rules/08-performance-security.md +93 -0
  228. package/templates/.claude/rules/index.md +77 -0
  229. package/templates/.claude/scripts/README.md +153 -0
  230. package/templates/.claude/scripts/commands_data.yaml +336 -0
  231. package/templates/.claude/scripts/generate_catalogs.py +163 -0
  232. package/templates/.claude/scripts/helper.py +723 -0
  233. package/templates/.claude/scripts/scan_commands.py +101 -0
  234. package/templates/.claude/scripts/scan_skills.py +187 -0
  235. package/templates/.claude/scripts/skills_data.yaml +348 -0
  236. package/templates/.claude/settings.json +54 -0
  237. package/templates/.claude/settings.local.README.md +650 -0
  238. package/templates/.claude/settings.local.json +41 -0
  239. package/templates/.claude/setup/dependencies/setup-claude-mem.ps1 +534 -0
  240. package/templates/.claude/setup/dependencies/setup-claude-mem.sh +477 -0
  241. package/templates/.claude/setup/dependencies/setup-mcp-servers.ps1 +562 -0
  242. package/templates/.claude/setup/dependencies/setup-mcp-servers.sh +511 -0
  243. package/templates/.claude/setup/jira-env.example.sh +22 -0
  244. package/templates/.claude/setup/setup.ps1 +240 -0
  245. package/templates/.claude/setup/setup.sh +222 -0
  246. package/templates/.claude/skills/accessibility-testing/SKILL.md +34 -0
  247. package/templates/.claude/skills/aesthetic/SKILL.md +121 -0
  248. package/templates/.claude/skills/aesthetic/assets/design-guideline-template.md +163 -0
  249. package/templates/.claude/skills/aesthetic/assets/design-story-template.md +135 -0
  250. package/templates/.claude/skills/aesthetic/references/design-principles.md +62 -0
  251. package/templates/.claude/skills/aesthetic/references/design-resources.md +75 -0
  252. package/templates/.claude/skills/aesthetic/references/micro-interactions.md +53 -0
  253. package/templates/.claude/skills/aesthetic/references/storytelling-design.md +50 -0
  254. package/templates/.claude/skills/aesthetic/skill-creator/LICENSE.txt +202 -0
  255. package/templates/.claude/skills/aesthetic/skill-creator/SKILL.md +266 -0
  256. package/templates/.claude/skills/aesthetic/skill-creator/scripts/init_skill.py +303 -0
  257. package/templates/.claude/skills/aesthetic/skill-creator/scripts/package_skill.py +110 -0
  258. package/templates/.claude/skills/aesthetic/skill-creator/scripts/quick_validate.py +65 -0
  259. package/templates/.claude/skills/agent_skills_spec.md +51 -0
  260. package/templates/.claude/skills/ai-multimodal/.env.example +185 -0
  261. package/templates/.claude/skills/ai-multimodal/SKILL.md +69 -0
  262. package/templates/.claude/skills/ai-multimodal/references/audio-processing.md +386 -0
  263. package/templates/.claude/skills/ai-multimodal/references/image-generation.md +722 -0
  264. package/templates/.claude/skills/ai-multimodal/references/video-analysis.md +515 -0
  265. package/templates/.claude/skills/ai-multimodal/references/video-generation.md +457 -0
  266. package/templates/.claude/skills/ai-multimodal/references/vision-understanding.md +492 -0
  267. package/templates/.claude/skills/ai-multimodal/scripts/check_setup.py +299 -0
  268. package/templates/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
  269. package/templates/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +1067 -0
  270. package/templates/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
  271. package/templates/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
  272. package/templates/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
  273. package/templates/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
  274. package/templates/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
  275. package/templates/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
  276. package/templates/.claude/skills/api-design-principles/SKILL.md +527 -0
  277. package/templates/.claude/skills/api-design-principles/assets/api-design-checklist.md +136 -0
  278. package/templates/.claude/skills/api-design-principles/assets/rest-api-template.py +165 -0
  279. package/templates/.claude/skills/api-design-principles/references/graphql-schema-design.md +566 -0
  280. package/templates/.claude/skills/api-design-principles/references/rest-best-practices.md +385 -0
  281. package/templates/.claude/skills/api-testing/SKILL.md +24 -0
  282. package/templates/.claude/skills/backend-development/SKILL.md +95 -0
  283. package/templates/.claude/skills/backend-development/references/backend-api-design.md +495 -0
  284. package/templates/.claude/skills/backend-development/references/backend-architecture.md +454 -0
  285. package/templates/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
  286. package/templates/.claude/skills/backend-development/references/backend-debugging.md +904 -0
  287. package/templates/.claude/skills/backend-development/references/backend-devops.md +494 -0
  288. package/templates/.claude/skills/backend-development/references/backend-mindset.md +387 -0
  289. package/templates/.claude/skills/backend-development/references/backend-performance.md +397 -0
  290. package/templates/.claude/skills/backend-development/references/backend-security.md +290 -0
  291. package/templates/.claude/skills/backend-development/references/backend-technologies.md +256 -0
  292. package/templates/.claude/skills/backend-development/references/backend-testing.md +429 -0
  293. package/templates/.claude/skills/bug-investigation/SKILL.md +24 -0
  294. package/templates/.claude/skills/chrome-devtools/SKILL.md +472 -0
  295. package/templates/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  296. package/templates/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  297. package/templates/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  298. package/templates/.claude/skills/chrome-devtools/scripts/README.md +228 -0
  299. package/templates/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  300. package/templates/.claude/skills/chrome-devtools/scripts/aria-snapshot.js +362 -0
  301. package/templates/.claude/skills/chrome-devtools/scripts/click.js +83 -0
  302. package/templates/.claude/skills/chrome-devtools/scripts/console.js +79 -0
  303. package/templates/.claude/skills/chrome-devtools/scripts/evaluate.js +53 -0
  304. package/templates/.claude/skills/chrome-devtools/scripts/fill.js +76 -0
  305. package/templates/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
  306. package/templates/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
  307. package/templates/.claude/skills/chrome-devtools/scripts/lib/browser.js +217 -0
  308. package/templates/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
  309. package/templates/.claude/skills/chrome-devtools/scripts/navigate.js +54 -0
  310. package/templates/.claude/skills/chrome-devtools/scripts/network.js +106 -0
  311. package/templates/.claude/skills/chrome-devtools/scripts/package.json +16 -0
  312. package/templates/.claude/skills/chrome-devtools/scripts/performance.js +149 -0
  313. package/templates/.claude/skills/chrome-devtools/scripts/screenshot.js +194 -0
  314. package/templates/.claude/skills/chrome-devtools/scripts/select-ref.js +131 -0
  315. package/templates/.claude/skills/chrome-devtools/scripts/snapshot.js +135 -0
  316. package/templates/.claude/skills/claude-code-analyzer/SKILL.md +299 -0
  317. package/templates/.claude/skills/claude-code-analyzer/references/best-practices.md +290 -0
  318. package/templates/.claude/skills/claude-code-analyzer/scripts/analyze-claude-md.sh +239 -0
  319. package/templates/.claude/skills/claude-code-analyzer/scripts/analyze.sh +274 -0
  320. package/templates/.claude/skills/claude-code-analyzer/scripts/fetch-features.sh +69 -0
  321. package/templates/.claude/skills/claude-code-analyzer/scripts/github-discovery.sh +178 -0
  322. package/templates/.claude/skills/code-review/SKILL.md +155 -0
  323. package/templates/.claude/skills/code-review/references/code-review-reception.md +209 -0
  324. package/templates/.claude/skills/code-review/references/human-code-review-practices.md +370 -0
  325. package/templates/.claude/skills/code-review/references/requesting-code-review.md +105 -0
  326. package/templates/.claude/skills/code-review/references/verification-before-completion.md +139 -0
  327. package/templates/.claude/skills/command-development/README.md +272 -0
  328. package/templates/.claude/skills/command-development/SKILL.md +834 -0
  329. package/templates/.claude/skills/command-development/examples/plugin-commands.md +557 -0
  330. package/templates/.claude/skills/command-development/examples/simple-commands.md +504 -0
  331. package/templates/.claude/skills/command-development/references/advanced-workflows.md +722 -0
  332. package/templates/.claude/skills/command-development/references/documentation-patterns.md +739 -0
  333. package/templates/.claude/skills/command-development/references/frontmatter-reference.md +463 -0
  334. package/templates/.claude/skills/command-development/references/interactive-commands.md +920 -0
  335. package/templates/.claude/skills/command-development/references/marketplace-considerations.md +904 -0
  336. package/templates/.claude/skills/command-development/references/plugin-features-reference.md +609 -0
  337. package/templates/.claude/skills/command-development/references/testing-strategies.md +702 -0
  338. package/templates/.claude/skills/confluence-integration/confluence-integration.md +260 -0
  339. package/templates/.claude/skills/databases/SKILL.md +232 -0
  340. package/templates/.claude/skills/databases/references/mongodb-aggregation.md +447 -0
  341. package/templates/.claude/skills/databases/references/mongodb-atlas.md +465 -0
  342. package/templates/.claude/skills/databases/references/mongodb-crud.md +408 -0
  343. package/templates/.claude/skills/databases/references/mongodb-indexing.md +442 -0
  344. package/templates/.claude/skills/databases/references/postgresql-administration.md +594 -0
  345. package/templates/.claude/skills/databases/references/postgresql-performance.md +527 -0
  346. package/templates/.claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  347. package/templates/.claude/skills/databases/references/postgresql-queries.md +475 -0
  348. package/templates/.claude/skills/databases/scripts/db_backup.py +502 -0
  349. package/templates/.claude/skills/databases/scripts/db_migrate.py +414 -0
  350. package/templates/.claude/skills/databases/scripts/db_performance_check.py +444 -0
  351. package/templates/.claude/skills/databases/scripts/dot_coverage +0 -0
  352. package/templates/.claude/skills/databases/scripts/requirements.txt +20 -0
  353. package/templates/.claude/skills/databases/scripts/tests/coverage-db.json +1 -0
  354. package/templates/.claude/skills/databases/scripts/tests/requirements.txt +4 -0
  355. package/templates/.claude/skills/databases/scripts/tests/test_db_backup.py +340 -0
  356. package/templates/.claude/skills/databases/scripts/tests/test_db_migrate.py +277 -0
  357. package/templates/.claude/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
  358. package/templates/.claude/skills/debugging/SKILL.md +84 -0
  359. package/templates/.claude/skills/debugging/references/defense-in-depth.md +124 -0
  360. package/templates/.claude/skills/debugging/references/root-cause-tracing.md +122 -0
  361. package/templates/.claude/skills/debugging/references/systematic-debugging.md +102 -0
  362. package/templates/.claude/skills/debugging/references/verification.md +123 -0
  363. package/templates/.claude/skills/debugging/scripts/find-polluter.sh +63 -0
  364. package/templates/.claude/skills/debugging/scripts/find-polluter.test.md +102 -0
  365. package/templates/.claude/skills/docs-discovery/COMPARISON.md +313 -0
  366. package/templates/.claude/skills/docs-discovery/README.md +53 -0
  367. package/templates/.claude/skills/docs-discovery/REFACTORING_SUMMARY.md +144 -0
  368. package/templates/.claude/skills/docs-discovery/SKILL.md +64 -0
  369. package/templates/.claude/skills/docs-discovery/archive/dot_env.example +15 -0
  370. package/templates/.claude/skills/docs-discovery/archive/package.json +24 -0
  371. package/templates/.claude/skills/docs-discovery/archive/references/advanced.md +79 -0
  372. package/templates/.claude/skills/docs-discovery/archive/references/context7-patterns.md +68 -0
  373. package/templates/.claude/skills/docs-discovery/archive/references/errors.md +68 -0
  374. package/templates/.claude/skills/docs-discovery/archive/scripts/analyze-llms-txt.js +211 -0
  375. package/templates/.claude/skills/docs-discovery/archive/scripts/detect-topic.js +172 -0
  376. package/templates/.claude/skills/docs-discovery/archive/scripts/fetch-docs.js +213 -0
  377. package/templates/.claude/skills/docs-discovery/archive/scripts/tests/run-tests.js +72 -0
  378. package/templates/.claude/skills/docs-discovery/archive/scripts/tests/test-analyze-llms.js +119 -0
  379. package/templates/.claude/skills/docs-discovery/archive/scripts/tests/test-detect-topic.js +112 -0
  380. package/templates/.claude/skills/docs-discovery/archive/scripts/tests/test-fetch-docs.js +84 -0
  381. package/templates/.claude/skills/docs-discovery/archive/scripts/utils/env-loader.js +94 -0
  382. package/templates/.claude/skills/docs-discovery/archive/workflows/library-search.md +87 -0
  383. package/templates/.claude/skills/docs-discovery/archive/workflows/repo-analysis.md +91 -0
  384. package/templates/.claude/skills/docs-discovery/archive/workflows/topic-search.md +77 -0
  385. package/templates/.claude/skills/docs-seeker/.env.example +15 -0
  386. package/templates/.claude/skills/docs-seeker/SKILL.md +97 -0
  387. package/templates/.claude/skills/docs-seeker/package.json +24 -0
  388. package/templates/.claude/skills/docs-seeker/references/advanced.md +79 -0
  389. package/templates/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  390. package/templates/.claude/skills/docs-seeker/references/errors.md +68 -0
  391. package/templates/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  392. package/templates/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  393. package/templates/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
  394. package/templates/.claude/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
  395. package/templates/.claude/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  396. package/templates/.claude/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  397. package/templates/.claude/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  398. package/templates/.claude/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  399. package/templates/.claude/skills/docs-seeker/workflows/library-search.md +87 -0
  400. package/templates/.claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  401. package/templates/.claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  402. package/templates/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
  403. package/templates/.claude/skills/document-skills/docx/SKILL.md +197 -0
  404. package/templates/.claude/skills/document-skills/docx/docx-js.md +350 -0
  405. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  406. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  407. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  408. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  409. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  410. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  411. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  412. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  413. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  414. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  415. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  416. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  417. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  418. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  419. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  420. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  421. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  422. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  423. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  424. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  425. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  426. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  427. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  428. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  429. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  430. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  431. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  432. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  433. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  434. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  435. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  436. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  437. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  438. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  439. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  440. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  441. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  442. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  443. package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  444. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  445. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  446. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  447. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  448. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  449. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  450. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  451. package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  452. package/templates/.claude/skills/document-skills/docx/ooxml.md +610 -0
  453. package/templates/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
  454. package/templates/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
  455. package/templates/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  456. package/templates/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  457. package/templates/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  458. package/templates/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  459. package/templates/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  460. package/templates/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
  461. package/templates/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
  462. package/templates/.claude/skills/document-skills/pdf/SKILL.md +294 -0
  463. package/templates/.claude/skills/document-skills/pdf/forms.md +205 -0
  464. package/templates/.claude/skills/document-skills/pdf/reference.md +612 -0
  465. package/templates/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  466. package/templates/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  467. package/templates/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  468. package/templates/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  469. package/templates/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  470. package/templates/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  471. package/templates/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  472. package/templates/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  473. package/templates/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
  474. package/templates/.claude/skills/document-skills/pptx/SKILL.md +484 -0
  475. package/templates/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
  476. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  477. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  478. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  479. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  480. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  481. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  482. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  483. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  484. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  485. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  486. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  487. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  488. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  489. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  490. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  491. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  492. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  493. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  494. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  495. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  496. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  497. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  498. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  499. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  500. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  501. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  502. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  503. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  504. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  505. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  506. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  507. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  508. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  509. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  510. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  511. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  512. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  513. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  514. package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  515. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  516. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  517. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  518. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  519. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  520. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  521. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  522. package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  523. package/templates/.claude/skills/document-skills/pptx/ooxml.md +427 -0
  524. package/templates/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  525. package/templates/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  526. package/templates/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  527. package/templates/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
  528. package/templates/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  529. package/templates/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
  530. package/templates/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
  531. package/templates/.claude/skills/document-skills/xlsx/recalc.py +178 -0
  532. package/templates/.claude/skills/frontend-development/SKILL.md +208 -0
  533. package/templates/.claude/skills/frontend-development/references/accessibility.md +720 -0
  534. package/templates/.claude/skills/frontend-development/references/data-fetching.md +412 -0
  535. package/templates/.claude/skills/frontend-development/references/forms.md +809 -0
  536. package/templates/.claude/skills/frontend-development/references/fsd-architecture.md +442 -0
  537. package/templates/.claude/skills/frontend-development/references/graphql-apollo.md +731 -0
  538. package/templates/.claude/skills/frontend-development/references/performance.md +417 -0
  539. package/templates/.claude/skills/frontend-development/references/react-patterns.md +451 -0
  540. package/templates/.claude/skills/frontend-development/references/routing.md +436 -0
  541. package/templates/.claude/skills/frontend-development/references/state-management.md +510 -0
  542. package/templates/.claude/skills/frontend-development/references/tailwind-css.md +397 -0
  543. package/templates/.claude/skills/frontend-development/references/testing.md +630 -0
  544. package/templates/.claude/skills/frontend-development/references/typescript-standards.md +363 -0
  545. package/templates/.claude/skills/frontend-development/references/ui-libraries.md +586 -0
  546. package/templates/.claude/skills/infra-engineer/SKILL.md +642 -0
  547. package/templates/.claude/skills/infra-engineer/dot_env.example +76 -0
  548. package/templates/.claude/skills/infra-engineer/references/aws-overview.md +171 -0
  549. package/templates/.claude/skills/infra-engineer/references/browser-rendering.md +305 -0
  550. package/templates/.claude/skills/infra-engineer/references/cicd-github-actions.md +439 -0
  551. package/templates/.claude/skills/infra-engineer/references/cloudflare-d1-kv.md +123 -0
  552. package/templates/.claude/skills/infra-engineer/references/cloudflare-platform.md +271 -0
  553. package/templates/.claude/skills/infra-engineer/references/cloudflare-r2-storage.md +280 -0
  554. package/templates/.claude/skills/infra-engineer/references/cloudflare-workers-advanced.md +312 -0
  555. package/templates/.claude/skills/infra-engineer/references/cloudflare-workers-apis.md +309 -0
  556. package/templates/.claude/skills/infra-engineer/references/cloudflare-workers-basics.md +418 -0
  557. package/templates/.claude/skills/infra-engineer/references/devsecops-basics.md +361 -0
  558. package/templates/.claude/skills/infra-engineer/references/docker-basics.md +297 -0
  559. package/templates/.claude/skills/infra-engineer/references/docker-compose.md +292 -0
  560. package/templates/.claude/skills/infra-engineer/references/finops-basics.md +278 -0
  561. package/templates/.claude/skills/infra-engineer/references/gcloud-platform.md +297 -0
  562. package/templates/.claude/skills/infra-engineer/references/gcloud-services.md +304 -0
  563. package/templates/.claude/skills/infra-engineer/references/kubernetes-basics.md +295 -0
  564. package/templates/.claude/skills/infra-engineer/scripts/cloudflare_deploy.py +269 -0
  565. package/templates/.claude/skills/infra-engineer/scripts/docker_optimize.py +320 -0
  566. package/templates/.claude/skills/infra-engineer/scripts/requirements.txt +20 -0
  567. package/templates/.claude/skills/infra-engineer/scripts/tests/requirements.txt +3 -0
  568. package/templates/.claude/skills/infra-engineer/scripts/tests/test_cloudflare_deploy.py +285 -0
  569. package/templates/.claude/skills/infra-engineer/scripts/tests/test_docker_optimize.py +436 -0
  570. package/templates/.claude/skills/javascript-pro/SKILL.md +96 -0
  571. package/templates/.claude/skills/javascript-pro/references/async-patterns.md +96 -0
  572. package/templates/.claude/skills/javascript-pro/references/best-practices.md +98 -0
  573. package/templates/.claude/skills/javascript-pro/references/design-patterns.md +100 -0
  574. package/templates/.claude/skills/javascript-pro/references/error-handling.md +100 -0
  575. package/templates/.claude/skills/javascript-pro/references/functional-patterns.md +93 -0
  576. package/templates/.claude/skills/javascript-pro/references/modern-syntax.md +100 -0
  577. package/templates/.claude/skills/javascript-pro/references/performance.md +98 -0
  578. package/templates/.claude/skills/jira-integration/adf-parser.md +338 -0
  579. package/templates/.claude/skills/jira-integration/jira-integration.md +353 -0
  580. package/templates/.claude/skills/knowledge-base/knowledge-base.md +212 -0
  581. package/templates/.claude/skills/mobile-development/SKILL.md +212 -0
  582. package/templates/.claude/skills/mobile-development/references/mobile-android.md +604 -0
  583. package/templates/.claude/skills/mobile-development/references/mobile-best-practices.md +545 -0
  584. package/templates/.claude/skills/mobile-development/references/mobile-debugging.md +1089 -0
  585. package/templates/.claude/skills/mobile-development/references/mobile-frameworks.md +465 -0
  586. package/templates/.claude/skills/mobile-development/references/mobile-ios.md +496 -0
  587. package/templates/.claude/skills/mobile-development/references/mobile-mindset.md +544 -0
  588. package/templates/.claude/skills/mobile-testing/SKILL.md +24 -0
  589. package/templates/.claude/skills/performance-testing/SKILL.md +30 -0
  590. package/templates/.claude/skills/planning/SKILL.md +143 -0
  591. package/templates/.claude/skills/planning/references/codebase-understanding.md +62 -0
  592. package/templates/.claude/skills/planning/references/output-standards.md +87 -0
  593. package/templates/.claude/skills/planning/references/plan-organization.md +137 -0
  594. package/templates/.claude/skills/planning/references/research-phase.md +47 -0
  595. package/templates/.claude/skills/planning/references/solution-design.md +63 -0
  596. package/templates/.claude/skills/playwright/SKILL.md +303 -0
  597. package/templates/.claude/skills/playwright/examples/auth.fixture.ts +172 -0
  598. package/templates/.claude/skills/playwright/examples/login.page.ts +232 -0
  599. package/templates/.claude/skills/playwright/references/config.md +391 -0
  600. package/templates/.claude/skills/problem-solving/SKILL.md +96 -0
  601. package/templates/.claude/skills/problem-solving/references/attribution.md +69 -0
  602. package/templates/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  603. package/templates/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  604. package/templates/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  605. package/templates/.claude/skills/problem-solving/references/scale-game.md +95 -0
  606. package/templates/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  607. package/templates/.claude/skills/problem-solving/references/when-stuck.md +72 -0
  608. package/templates/.claude/skills/prompt-enhancer/SKILL.md +380 -0
  609. package/templates/.claude/skills/python-pro/SKILL.md +59 -0
  610. package/templates/.claude/skills/python-pro/references/async-patterns.md +96 -0
  611. package/templates/.claude/skills/python-pro/references/error-handling.md +84 -0
  612. package/templates/.claude/skills/python-pro/references/performance.md +71 -0
  613. package/templates/.claude/skills/python-pro/references/project-setup.md +78 -0
  614. package/templates/.claude/skills/python-pro/references/security.md +73 -0
  615. package/templates/.claude/skills/python-pro/references/testing.md +90 -0
  616. package/templates/.claude/skills/python-pro/references/type-system.md +88 -0
  617. package/templates/.claude/skills/qa-standards/SKILL.md +176 -0
  618. package/templates/.claude/skills/qa-standards/references/naming-conventions.md +262 -0
  619. package/templates/.claude/skills/quality-metrics/SKILL.md +27 -0
  620. package/templates/.claude/skills/repomix/SKILL.md +247 -0
  621. package/templates/.claude/skills/repomix/references/configuration.md +211 -0
  622. package/templates/.claude/skills/repomix/references/usage-patterns.md +232 -0
  623. package/templates/.claude/skills/repomix/scripts/README.md +179 -0
  624. package/templates/.claude/skills/repomix/scripts/repomix_batch.py +455 -0
  625. package/templates/.claude/skills/repomix/scripts/repos.example.json +15 -0
  626. package/templates/.claude/skills/repomix/scripts/requirements.txt +15 -0
  627. package/templates/.claude/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
  628. package/templates/.claude/skills/research/SKILL.md +168 -0
  629. package/templates/.claude/skills/sequential-thinking/.env.example +8 -0
  630. package/templates/.claude/skills/sequential-thinking/README.md +183 -0
  631. package/templates/.claude/skills/sequential-thinking/SKILL.md +94 -0
  632. package/templates/.claude/skills/sequential-thinking/package.json +31 -0
  633. package/templates/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  634. package/templates/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  635. package/templates/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  636. package/templates/.claude/skills/sequential-thinking/references/examples-api.md +88 -0
  637. package/templates/.claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  638. package/templates/.claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  639. package/templates/.claude/skills/sequential-thinking/scripts/format-thought.js +159 -0
  640. package/templates/.claude/skills/sequential-thinking/scripts/process-thought.js +236 -0
  641. package/templates/.claude/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  642. package/templates/.claude/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  643. package/templates/.claude/skills/test-automation/SKILL.md +93 -0
  644. package/templates/.claude/skills/test-automation/examples/page-object.ts +44 -0
  645. package/templates/.claude/skills/test-automation/references/frameworks.md +96 -0
  646. package/templates/.claude/skills/test-data-management/SKILL.md +24 -0
  647. package/templates/.claude/skills/test-design/SKILL.md +25 -0
  648. package/templates/.claude/skills/typescript-pro/SKILL.md +84 -0
  649. package/templates/.claude/skills/typescript-pro/references/advanced-patterns.md +100 -0
  650. package/templates/.claude/skills/typescript-pro/references/best-practices.md +96 -0
  651. package/templates/.claude/skills/typescript-pro/references/conditional-types.md +85 -0
  652. package/templates/.claude/skills/typescript-pro/references/generics.md +97 -0
  653. package/templates/.claude/skills/typescript-pro/references/mapped-types.md +99 -0
  654. package/templates/.claude/skills/typescript-pro/references/template-literals.md +85 -0
  655. package/templates/.claude/skills/typescript-pro/references/type-inference.md +94 -0
  656. package/templates/.claude/skills/typescript-pro/references/utility-types.md +96 -0
  657. package/templates/.claude/skills/ui-testing/SKILL.md +24 -0
  658. package/templates/.claude/skills/ui-ux-pro-max/SKILL.md +229 -0
  659. package/templates/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
  660. package/templates/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
  661. package/templates/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
  662. package/templates/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
  663. package/templates/.claude/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  664. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  665. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  666. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  667. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  668. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  669. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  670. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  671. package/templates/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  672. package/templates/.claude/skills/ui-ux-pro-max/data/styles.csv +59 -0
  673. package/templates/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
  674. package/templates/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  675. package/templates/.claude/skills/ui-ux-pro-max/scripts/core.py +236 -0
  676. package/templates/.claude/skills/ui-ux-pro-max/scripts/search.py +61 -0
  677. package/templates/.claude/skills/webdriverio/SKILL.md +433 -0
  678. package/templates/.claude/skills/webdriverio/examples/mobile.page.ts +369 -0
  679. package/templates/.claude/skills/webdriverio/references/capabilities.md +377 -0
  680. package/templates/.claude/statusline.cjs +105 -0
  681. package/templates/.claude/statusline.ps1 +187 -0
  682. package/templates/.claude/statusline.sh +161 -0
  683. package/templates/.claude/workflows/api-testing-workflow.md +36 -0
  684. package/templates/.claude/workflows/bug-investigation-workflow.md +42 -0
  685. package/templates/.claude/workflows/development-rules.md +366 -0
  686. package/templates/.claude/workflows/documentation-management.md +128 -0
  687. package/templates/.claude/workflows/e2e-testing-workflow.md +36 -0
  688. package/templates/.claude/workflows/orchestration-protocol.md +16 -0
  689. package/templates/.claude/workflows/performance-testing-workflow.md +42 -0
  690. package/templates/.claude/workflows/primary-workflow.md +45 -0
  691. package/templates/.claude/workflows/qa-primary-workflow.md +48 -0
  692. package/templates/.claude/workflows/qa-rules.md +42 -0
  693. package/templates/.claude/workflows/regression-testing-workflow.md +36 -0
  694. package/templates/.claude/workflows/test-driven-qa-workflow.md +37 -0
  695. package/templates/.codex/config.toml.template +29 -0
  696. package/templates/.codex/prompts/qa-commands.md +32 -0
  697. package/templates/.codex/prompts/test-generation.md +29 -0
  698. package/templates/.cursor/CHANGELOG.md +540 -0
  699. package/templates/.cursor/README.md +261 -0
  700. package/templates/.cursor/commands/devkit/ask.md +71 -0
  701. package/templates/.cursor/commands/devkit/backend/create-api.md +207 -0
  702. package/templates/.cursor/commands/devkit/backend/create-migration.md +169 -0
  703. package/templates/.cursor/commands/devkit/backend/create-schema.md +183 -0
  704. package/templates/.cursor/commands/devkit/backend/design-graphql-api.md +287 -0
  705. package/templates/.cursor/commands/devkit/backend/design-rest-api.md +219 -0
  706. package/templates/.cursor/commands/devkit/config/init-backend.md +219 -0
  707. package/templates/.cursor/commands/devkit/config/init-frontend.md +114 -0
  708. package/templates/.cursor/commands/devkit/create-api-integration.md +196 -0
  709. package/templates/.cursor/commands/devkit/create-component.md +104 -0
  710. package/templates/.cursor/commands/devkit/create-form.md +189 -0
  711. package/templates/.cursor/commands/devkit/create-page.md +111 -0
  712. package/templates/.cursor/commands/devkit/create-storybook.md +235 -0
  713. package/templates/.cursor/commands/devkit/create-table.md +251 -0
  714. package/templates/.cursor/commands/devkit/create-test.md +174 -0
  715. package/templates/.cursor/commands/devkit/debug.md +192 -0
  716. package/templates/.cursor/commands/devkit/docs/capture-knowledge.md +252 -0
  717. package/templates/.cursor/commands/devkit/docs/init.md +153 -0
  718. package/templates/.cursor/commands/devkit/docs/summarize.md +82 -0
  719. package/templates/.cursor/commands/devkit/docs/update.md +174 -0
  720. package/templates/.cursor/commands/devkit/fix.md +24 -0
  721. package/templates/.cursor/commands/devkit/help.md +148 -0
  722. package/templates/.cursor/commands/devkit/refactor.md +476 -0
  723. package/templates/.cursor/commands/devkit/research.md +135 -0
  724. package/templates/.cursor/commands/devkit/review/code.md +297 -0
  725. package/templates/.cursor/commands/devkit/review/codebase.md +37 -0
  726. package/templates/.cursor/commands/devkit/scout.md +103 -0
  727. package/templates/.cursor/commands/devkit/solve.md +355 -0
  728. package/templates/.cursor/commands/devkit/spec/brainstorm.md +184 -0
  729. package/templates/.cursor/commands/devkit/spec/capture-requirement.md +164 -0
  730. package/templates/.cursor/commands/devkit/spec/cook.md +101 -0
  731. package/templates/.cursor/commands/devkit/spec/deep-capture-requirement.md +149 -0
  732. package/templates/.cursor/commands/devkit/spec/implement.md +354 -0
  733. package/templates/.cursor/commands/devkit/spec/plan.md +317 -0
  734. package/templates/.cursor/commands/devkit/spec/task.md +150 -0
  735. package/templates/.cursor/commands/devkit/spec/test.md +203 -0
  736. package/templates/.cursor/commands/devkit/spec/update-plan.md +234 -0
  737. package/templates/.cursor/commands/devkit/spec/update-requirement.md +222 -0
  738. package/templates/.cursor/commands/devkit/spec-lite/do.md +154 -0
  739. package/templates/.cursor/commands/devkit/spec-lite/plan.md +197 -0
  740. package/templates/.cursor/commands/devkit/spec-lite/task.md +138 -0
  741. package/templates/.cursor/commands/devkit/spec-lite/test.md +129 -0
  742. package/templates/.cursor/commands/devkit/spec-lite/update-plan.md +133 -0
  743. package/templates/.cursor/commands/devkit/ui-ux-pro-max.md +226 -0
  744. package/templates/.cursor/doc-templates/code-standards.md +486 -0
  745. package/templates/.cursor/doc-templates/codebase-summary.md +426 -0
  746. package/templates/.cursor/doc-templates/development-rules.md +553 -0
  747. package/templates/.cursor/doc-templates/project-overview-pdr.md +494 -0
  748. package/templates/.cursor/doc-templates/system-architecture.md +615 -0
  749. package/templates/.cursor/doc-templates/technical-documents.md +127 -0
  750. package/templates/.cursor/repomix.config.json +34 -0
  751. package/templates/.cursor/rules/backend-development/backend-development.mdc +94 -0
  752. package/templates/.cursor/rules/backend-development/references/backend-api-design.md +495 -0
  753. package/templates/.cursor/rules/backend-development/references/backend-architecture.md +454 -0
  754. package/templates/.cursor/rules/backend-development/references/backend-code-quality.md +659 -0
  755. package/templates/.cursor/rules/backend-development/references/backend-debugging.md +904 -0
  756. package/templates/.cursor/rules/backend-development/references/backend-devops.md +494 -0
  757. package/templates/.cursor/rules/backend-development/references/backend-mindset.md +387 -0
  758. package/templates/.cursor/rules/backend-development/references/backend-performance.md +397 -0
  759. package/templates/.cursor/rules/backend-development/references/backend-security.md +290 -0
  760. package/templates/.cursor/rules/backend-development/references/backend-technologies.md +256 -0
  761. package/templates/.cursor/rules/backend-development/references/backend-testing.md +429 -0
  762. package/templates/.cursor/rules/brainstormer.mdc +147 -0
  763. package/templates/.cursor/rules/code-optimizer.mdc +132 -0
  764. package/templates/.cursor/rules/code-review/code-revew.mdc +144 -0
  765. package/templates/.cursor/rules/code-review/references/code-review-reception.md +209 -0
  766. package/templates/.cursor/rules/code-review/references/requesting-code-review.md +105 -0
  767. package/templates/.cursor/rules/code-review/references/verification-before-completion.md +139 -0
  768. package/templates/.cursor/rules/code-reviewer.mdc +85 -0
  769. package/templates/.cursor/rules/code-simplifier.mdc +121 -0
  770. package/templates/.cursor/rules/coder.mdc +86 -0
  771. package/templates/.cursor/rules/community-rules.mdc +38 -0
  772. package/templates/.cursor/rules/cunningham.mdc +114 -0
  773. package/templates/.cursor/rules/debugger.mdc +108 -0
  774. package/templates/.cursor/rules/development-rules.mdc +208 -0
  775. package/templates/.cursor/rules/docs-manager.mdc +121 -0
  776. package/templates/.cursor/rules/docs-seeker/docs-seeker.mdc +57 -0
  777. package/templates/.cursor/rules/docs-seeker/references/advanced.md +80 -0
  778. package/templates/.cursor/rules/docs-seeker/references/context7-patterns.md +69 -0
  779. package/templates/.cursor/rules/docs-seeker/references/errors.md +69 -0
  780. package/templates/.cursor/rules/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  781. package/templates/.cursor/rules/docs-seeker/scripts/detect-topic.js +172 -0
  782. package/templates/.cursor/rules/docs-seeker/scripts/fetch-docs.js +213 -0
  783. package/templates/.cursor/rules/docs-seeker/scripts/tests/run-tests.js +72 -0
  784. package/templates/.cursor/rules/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  785. package/templates/.cursor/rules/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  786. package/templates/.cursor/rules/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  787. package/templates/.cursor/rules/docs-seeker/scripts/utils/env-loader.js +94 -0
  788. package/templates/.cursor/rules/docs-seeker/workflows/library-search.md +88 -0
  789. package/templates/.cursor/rules/docs-seeker/workflows/repo-analysis.md +92 -0
  790. package/templates/.cursor/rules/docs-seeker/workflows/topic-search.md +78 -0
  791. package/templates/.cursor/rules/frontend-development/frontend-development.mdc +131 -0
  792. package/templates/.cursor/rules/frontend-development/references/accessibility.md +719 -0
  793. package/templates/.cursor/rules/frontend-development/references/data-fetching.md +412 -0
  794. package/templates/.cursor/rules/frontend-development/references/forms.md +808 -0
  795. package/templates/.cursor/rules/frontend-development/references/fsd-architecture.md +442 -0
  796. package/templates/.cursor/rules/frontend-development/references/graphql-apollo.md +730 -0
  797. package/templates/.cursor/rules/frontend-development/references/performance.md +417 -0
  798. package/templates/.cursor/rules/frontend-development/references/react-patterns.md +451 -0
  799. package/templates/.cursor/rules/frontend-development/references/routing.md +436 -0
  800. package/templates/.cursor/rules/frontend-development/references/state-management.md +511 -0
  801. package/templates/.cursor/rules/frontend-development/references/tailwind-css.md +398 -0
  802. package/templates/.cursor/rules/frontend-development/references/testing.md +629 -0
  803. package/templates/.cursor/rules/frontend-development/references/typescript-standards.md +364 -0
  804. package/templates/.cursor/rules/frontend-development/references/ui-libraries.md +587 -0
  805. package/templates/.cursor/rules/javascript-pro/javascript-pro.mdc +98 -0
  806. package/templates/.cursor/rules/javascript-pro/references/async-patterns.md +96 -0
  807. package/templates/.cursor/rules/javascript-pro/references/best-practices.md +98 -0
  808. package/templates/.cursor/rules/javascript-pro/references/design-patterns.md +100 -0
  809. package/templates/.cursor/rules/javascript-pro/references/error-handling.md +100 -0
  810. package/templates/.cursor/rules/javascript-pro/references/functional-patterns.md +93 -0
  811. package/templates/.cursor/rules/javascript-pro/references/modern-syntax.md +100 -0
  812. package/templates/.cursor/rules/javascript-pro/references/performance.md +98 -0
  813. package/templates/.cursor/rules/planner.mdc +87 -0
  814. package/templates/.cursor/rules/problem-solving/problem-solving.mdc +96 -0
  815. package/templates/.cursor/rules/problem-solving/references/attribution.md +69 -0
  816. package/templates/.cursor/rules/problem-solving/references/collision-zone-thinking.md +79 -0
  817. package/templates/.cursor/rules/problem-solving/references/inversion-exercise.md +91 -0
  818. package/templates/.cursor/rules/problem-solving/references/meta-pattern-recognition.md +87 -0
  819. package/templates/.cursor/rules/problem-solving/references/scale-game.md +95 -0
  820. package/templates/.cursor/rules/problem-solving/references/simplification-cascades.md +80 -0
  821. package/templates/.cursor/rules/problem-solving/references/when-stuck.md +72 -0
  822. package/templates/.cursor/rules/project-manager.mdc +116 -0
  823. package/templates/.cursor/rules/project-profile.mdc +54 -0
  824. package/templates/.cursor/rules/python-pro/python-pro.mdc +83 -0
  825. package/templates/.cursor/rules/python-pro/references/async-patterns.md +96 -0
  826. package/templates/.cursor/rules/python-pro/references/error-handling.md +84 -0
  827. package/templates/.cursor/rules/python-pro/references/performance.md +71 -0
  828. package/templates/.cursor/rules/python-pro/references/project-setup.md +78 -0
  829. package/templates/.cursor/rules/python-pro/references/security.md +73 -0
  830. package/templates/.cursor/rules/python-pro/references/testing.md +90 -0
  831. package/templates/.cursor/rules/python-pro/references/type-system.md +88 -0
  832. package/templates/.cursor/rules/qa-api-testing.mdc +25 -0
  833. package/templates/.cursor/rules/qa-automation.mdc +28 -0
  834. package/templates/.cursor/rules/qa-testing.mdc +28 -0
  835. package/templates/.cursor/rules/repomix/references/configuration.md +211 -0
  836. package/templates/.cursor/rules/repomix/references/usage-patterns.md +232 -0
  837. package/templates/.cursor/rules/repomix/repomix.mdc +248 -0
  838. package/templates/.cursor/rules/repomix/scripts/README.md +179 -0
  839. package/templates/.cursor/rules/repomix/scripts/repomix_batch.py +455 -0
  840. package/templates/.cursor/rules/repomix/scripts/repos.example.json +15 -0
  841. package/templates/.cursor/rules/repomix/scripts/requirements.txt +15 -0
  842. package/templates/.cursor/rules/repomix/scripts/tests/test_repomix_batch.py +531 -0
  843. package/templates/.cursor/rules/research/research.mdc +111 -0
  844. package/templates/.cursor/rules/researcher.mdc +54 -0
  845. package/templates/.cursor/rules/scout.mdc +105 -0
  846. package/templates/.cursor/rules/security-agent.mdc +122 -0
  847. package/templates/.cursor/rules/security.mdc +90 -0
  848. package/templates/.cursor/rules/sequential-thinking/references/advanced-strategies.md +80 -0
  849. package/templates/.cursor/rules/sequential-thinking/references/advanced-techniques.md +77 -0
  850. package/templates/.cursor/rules/sequential-thinking/references/core-patterns.md +96 -0
  851. package/templates/.cursor/rules/sequential-thinking/references/examples-api.md +89 -0
  852. package/templates/.cursor/rules/sequential-thinking/references/examples-architecture.md +95 -0
  853. package/templates/.cursor/rules/sequential-thinking/references/examples-debug.md +91 -0
  854. package/templates/.cursor/rules/sequential-thinking/scripts/format-thought.js +159 -0
  855. package/templates/.cursor/rules/sequential-thinking/scripts/process-thought.js +236 -0
  856. package/templates/.cursor/rules/sequential-thinking/sequential-thinking.mdc +86 -0
  857. package/templates/.cursor/rules/tattletale-reporter.mdc +64 -0
  858. package/templates/.cursor/rules/tester.mdc +221 -0
  859. package/templates/.cursor/rules/testing.mdc +215 -0
  860. package/templates/.cursor/rules/typescript-pro/references/advanced-patterns.md +100 -0
  861. package/templates/.cursor/rules/typescript-pro/references/best-practices.md +96 -0
  862. package/templates/.cursor/rules/typescript-pro/references/conditional-types.md +85 -0
  863. package/templates/.cursor/rules/typescript-pro/references/generics.md +97 -0
  864. package/templates/.cursor/rules/typescript-pro/references/mapped-types.md +99 -0
  865. package/templates/.cursor/rules/typescript-pro/references/template-literals.md +85 -0
  866. package/templates/.cursor/rules/typescript-pro/references/type-inference.md +94 -0
  867. package/templates/.cursor/rules/typescript-pro/references/utility-types.md +96 -0
  868. package/templates/.cursor/rules/typescript-pro/typescript-pro.mdc +101 -0
  869. package/templates/.cursor/rules/typescript-pro.mdc +129 -0
  870. package/templates/.cursor/rules/ui-ux-designer.mdc +117 -0
  871. package/templates/.cursor/scripts/helper.py +723 -0
  872. package/templates/.cursor/settings.json +5 -0
  873. package/templates/.kiro/steering/qa-standards.md +84 -0
  874. package/templates/.kiro/steering/test-patterns.md +62 -0
  875. package/templates/.kiro/steering/tool-integration.md +73 -0
@@ -0,0 +1,1035 @@
1
+ ---
2
+ description: Generate data table component with sorting, filtering, and pagination
3
+ argument-hint: [table-description]
4
+ allowed-tools: Read, Grep, Write, Edit, AskUserQuestion
5
+ ---
6
+
7
+ **IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
8
+
9
+ ---
10
+
11
+ **Report Protocol**: Follow ./.claude/CLAUDE.md "Sub-Agent Report Generation" protocol before spawning subagents.
12
+
13
+ # Create Table
14
+
15
+ Generate data table for: $ARGUMENTS
16
+
17
+ ## ⚠️ Plan Before Executing
18
+
19
+ **Always create a structured plan and get user approval before making changes.**
20
+
21
+ 1. Analyze the request and show table design
22
+ 2. Display the columns with data types and features
23
+ 3. Show all files that will be created
24
+ 4. Ask for confirmation before writing files
25
+ 5. Never create tables without user approval
26
+
27
+ ## Important: Ask for Clarification
28
+
29
+ **If anything is unclear, DO NOT GUESS. Ask the user:**
30
+
31
+ - "What columns should this table display?"
32
+ - "Which columns should be sortable?"
33
+ - "Should this include search/filter functionality?"
34
+ - "Is pagination needed? Server-side or client-side?"
35
+ - "Should rows be selectable? Single or multi-select?"
36
+ - "Are there any row actions (edit, delete, view)?"
37
+ - "Should columns be resizable or reorderable?"
38
+ - "Do any columns need custom cell rendering?"
39
+
40
+ Use AskUserQuestion tool when you need more context before proceeding.
41
+
42
+ ## Step 1: Reference Project Profile
43
+
44
+ Read @.claude/CLAUDE.md to understand:
45
+ - Table library (TanStack Table, AG Grid, custom)
46
+ - UI components (shadcn/ui, MUI, custom)
47
+ - Styling approach
48
+ - Data fetching patterns
49
+ - Pagination approach (server-side, client-side)
50
+
51
+ If `.claude/CLAUDE.md` doesn't exist, run `/init` first.
52
+
53
+ ## Step 2: Parse Request
54
+
55
+ Analyze "$ARGUMENTS" to determine:
56
+ - Table name (UsersTable, ProductsTable)
57
+ - Data type/resource
58
+ - Column requirements
59
+ - Features needed (sorting, filtering, pagination)
60
+ - Row actions
61
+
62
+ **Common table types:**
63
+ - `List` - Simple display with basic actions
64
+ - `Data Grid` - Full-featured with editing
65
+ - `Selection` - Multi-select with bulk actions
66
+ - `Infinite` - Virtual scrolling for large datasets
67
+ - `Nested` - Expandable rows with child data
68
+
69
+ ## Step 3: Review Existing Tables
70
+
71
+ Find and analyze existing tables to detect:
72
+ - Table component patterns
73
+ - Column definition approach
74
+ - Sorting implementation
75
+ - Filter patterns
76
+ - Pagination component
77
+ - Row action menus
78
+ - Loading/empty states
79
+
80
+ ## Step 4: Define Column Types
81
+
82
+ ```typescript
83
+ // types/table.ts
84
+ export interface ColumnDef<T> {
85
+ id: string
86
+ header: string
87
+ accessorKey?: keyof T
88
+ cell?: (info: { row: T }) => React.ReactNode
89
+ sortable?: boolean
90
+ filterable?: boolean
91
+ width?: number | string
92
+ }
93
+
94
+ export interface TableState {
95
+ sorting: SortingState
96
+ pagination: PaginationState
97
+ filters: FilterState
98
+ selection: SelectionState
99
+ }
100
+
101
+ export interface PaginationState {
102
+ pageIndex: number
103
+ pageSize: number
104
+ total: number
105
+ }
106
+
107
+ export interface SortingState {
108
+ column: string | null
109
+ direction: 'asc' | 'desc'
110
+ }
111
+ ```
112
+
113
+ ## Step 5: Generate Table Component
114
+
115
+ ### TanStack Table + shadcn/ui
116
+
117
+ ```typescript
118
+ // components/tables/UsersTable.tsx
119
+ 'use client'
120
+
121
+ import { useState } from 'react'
122
+ import {
123
+ useReactTable,
124
+ getCoreRowModel,
125
+ getSortedRowModel,
126
+ getFilteredRowModel,
127
+ getPaginationRowModel,
128
+ flexRender,
129
+ type ColumnDef,
130
+ type SortingState,
131
+ type ColumnFiltersState,
132
+ type VisibilityState,
133
+ } from '@tanstack/react-table'
134
+ import {
135
+ Table,
136
+ TableBody,
137
+ TableCell,
138
+ TableHead,
139
+ TableHeader,
140
+ TableRow,
141
+ } from '@/components/ui/table'
142
+ import { Button } from '@/components/ui/button'
143
+ import { Input } from '@/components/ui/input'
144
+ import {
145
+ DropdownMenu,
146
+ DropdownMenuContent,
147
+ DropdownMenuItem,
148
+ DropdownMenuLabel,
149
+ DropdownMenuSeparator,
150
+ DropdownMenuTrigger,
151
+ } from '@/components/ui/dropdown-menu'
152
+ import { Checkbox } from '@/components/ui/checkbox'
153
+ import {
154
+ ArrowUpDown,
155
+ ChevronDown,
156
+ MoreHorizontal,
157
+ Pencil,
158
+ Trash2,
159
+ Eye,
160
+ } from 'lucide-react'
161
+ import type { User } from '@/types/user'
162
+
163
+ interface UsersTableProps {
164
+ data: User[]
165
+ isLoading?: boolean
166
+ onEdit?: (user: User) => void
167
+ onDelete?: (user: User) => void
168
+ onView?: (user: User) => void
169
+ }
170
+
171
+ const columns: ColumnDef<User>[] = [
172
+ {
173
+ id: 'select',
174
+ header: ({ table }) => (
175
+ <Checkbox
176
+ checked={table.getIsAllPageRowsSelected()}
177
+ onCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}
178
+ aria-label="Select all"
179
+ />
180
+ ),
181
+ cell: ({ row }) => (
182
+ <Checkbox
183
+ checked={row.getIsSelected()}
184
+ onCheckedChange={(value) => row.toggleSelected(!!value)}
185
+ aria-label="Select row"
186
+ />
187
+ ),
188
+ enableSorting: false,
189
+ enableHiding: false,
190
+ },
191
+ {
192
+ accessorKey: 'name',
193
+ header: ({ column }) => (
194
+ <Button
195
+ variant="ghost"
196
+ onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
197
+ >
198
+ Name
199
+ <ArrowUpDown className="ml-2 h-4 w-4" />
200
+ </Button>
201
+ ),
202
+ cell: ({ row }) => (
203
+ <div className="flex items-center gap-2">
204
+ <img
205
+ src={row.original.avatar}
206
+ alt={row.getValue('name')}
207
+ className="h-8 w-8 rounded-full"
208
+ />
209
+ <span className="font-medium">{row.getValue('name')}</span>
210
+ </div>
211
+ ),
212
+ },
213
+ {
214
+ accessorKey: 'email',
215
+ header: ({ column }) => (
216
+ <Button
217
+ variant="ghost"
218
+ onClick={() => column.toggleSorting(column.getIsSorted() === 'asc')}
219
+ >
220
+ Email
221
+ <ArrowUpDown className="ml-2 h-4 w-4" />
222
+ </Button>
223
+ ),
224
+ },
225
+ {
226
+ accessorKey: 'role',
227
+ header: 'Role',
228
+ cell: ({ row }) => {
229
+ const role = row.getValue('role') as string
230
+ return (
231
+ <span
232
+ className={cn(
233
+ 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium',
234
+ role === 'admin'
235
+ ? 'bg-purple-100 text-purple-800'
236
+ : 'bg-gray-100 text-gray-800'
237
+ )}
238
+ >
239
+ {role}
240
+ </span>
241
+ )
242
+ },
243
+ filterFn: (row, id, value) => value.includes(row.getValue(id)),
244
+ },
245
+ {
246
+ accessorKey: 'status',
247
+ header: 'Status',
248
+ cell: ({ row }) => {
249
+ const status = row.getValue('status') as string
250
+ return (
251
+ <span
252
+ className={cn(
253
+ 'inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium',
254
+ status === 'active'
255
+ ? 'bg-green-100 text-green-800'
256
+ : 'bg-red-100 text-red-800'
257
+ )}
258
+ >
259
+ <span
260
+ className={cn(
261
+ 'h-1.5 w-1.5 rounded-full',
262
+ status === 'active' ? 'bg-green-500' : 'bg-red-500'
263
+ )}
264
+ />
265
+ {status}
266
+ </span>
267
+ )
268
+ },
269
+ },
270
+ {
271
+ accessorKey: 'createdAt',
272
+ header: 'Created',
273
+ cell: ({ row }) => {
274
+ const date = new Date(row.getValue('createdAt'))
275
+ return <span>{date.toLocaleDateString()}</span>
276
+ },
277
+ },
278
+ {
279
+ id: 'actions',
280
+ enableHiding: false,
281
+ cell: ({ row, table }) => {
282
+ const user = row.original
283
+ const { onEdit, onDelete, onView } = table.options.meta as UsersTableProps
284
+
285
+ return (
286
+ <DropdownMenu>
287
+ <DropdownMenuTrigger asChild>
288
+ <Button variant="ghost" className="h-8 w-8 p-0">
289
+ <span className="sr-only">Open menu</span>
290
+ <MoreHorizontal className="h-4 w-4" />
291
+ </Button>
292
+ </DropdownMenuTrigger>
293
+ <DropdownMenuContent align="end">
294
+ <DropdownMenuLabel>Actions</DropdownMenuLabel>
295
+ <DropdownMenuSeparator />
296
+ <DropdownMenuItem onClick={() => onView?.(user)}>
297
+ <Eye className="mr-2 h-4 w-4" />
298
+ View
299
+ </DropdownMenuItem>
300
+ <DropdownMenuItem onClick={() => onEdit?.(user)}>
301
+ <Pencil className="mr-2 h-4 w-4" />
302
+ Edit
303
+ </DropdownMenuItem>
304
+ <DropdownMenuItem
305
+ onClick={() => onDelete?.(user)}
306
+ className="text-red-600"
307
+ >
308
+ <Trash2 className="mr-2 h-4 w-4" />
309
+ Delete
310
+ </DropdownMenuItem>
311
+ </DropdownMenuContent>
312
+ </DropdownMenu>
313
+ )
314
+ },
315
+ },
316
+ ]
317
+
318
+ export function UsersTable({
319
+ data,
320
+ isLoading,
321
+ onEdit,
322
+ onDelete,
323
+ onView,
324
+ }: UsersTableProps) {
325
+ const [sorting, setSorting] = useState<SortingState>([])
326
+ const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])
327
+ const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({})
328
+ const [rowSelection, setRowSelection] = useState({})
329
+
330
+ const table = useReactTable({
331
+ data,
332
+ columns,
333
+ getCoreRowModel: getCoreRowModel(),
334
+ getSortedRowModel: getSortedRowModel(),
335
+ getFilteredRowModel: getFilteredRowModel(),
336
+ getPaginationRowModel: getPaginationRowModel(),
337
+ onSortingChange: setSorting,
338
+ onColumnFiltersChange: setColumnFilters,
339
+ onColumnVisibilityChange: setColumnVisibility,
340
+ onRowSelectionChange: setRowSelection,
341
+ state: {
342
+ sorting,
343
+ columnFilters,
344
+ columnVisibility,
345
+ rowSelection,
346
+ },
347
+ meta: { onEdit, onDelete, onView },
348
+ })
349
+
350
+ return (
351
+ <div className="space-y-4">
352
+ {/* Toolbar */}
353
+ <div className="flex items-center justify-between">
354
+ <div className="flex items-center gap-2">
355
+ <Input
356
+ placeholder="Filter by name..."
357
+ value={(table.getColumn('name')?.getFilterValue() as string) ?? ''}
358
+ onChange={(e) =>
359
+ table.getColumn('name')?.setFilterValue(e.target.value)
360
+ }
361
+ className="max-w-sm"
362
+ />
363
+ <DropdownMenu>
364
+ <DropdownMenuTrigger asChild>
365
+ <Button variant="outline">
366
+ Columns <ChevronDown className="ml-2 h-4 w-4" />
367
+ </Button>
368
+ </DropdownMenuTrigger>
369
+ <DropdownMenuContent align="end">
370
+ {table
371
+ .getAllColumns()
372
+ .filter((column) => column.getCanHide())
373
+ .map((column) => (
374
+ <DropdownMenuItem
375
+ key={column.id}
376
+ className="capitalize"
377
+ onClick={() => column.toggleVisibility(!column.getIsVisible())}
378
+ >
379
+ <Checkbox
380
+ checked={column.getIsVisible()}
381
+ className="mr-2"
382
+ />
383
+ {column.id}
384
+ </DropdownMenuItem>
385
+ ))}
386
+ </DropdownMenuContent>
387
+ </DropdownMenu>
388
+ </div>
389
+
390
+ {Object.keys(rowSelection).length > 0 && (
391
+ <div className="flex items-center gap-2">
392
+ <span className="text-sm text-muted-foreground">
393
+ {Object.keys(rowSelection).length} selected
394
+ </span>
395
+ <Button variant="destructive" size="sm">
396
+ Delete Selected
397
+ </Button>
398
+ </div>
399
+ )}
400
+ </div>
401
+
402
+ {/* Table */}
403
+ <div className="rounded-md border">
404
+ <Table>
405
+ <TableHeader>
406
+ {table.getHeaderGroups().map((headerGroup) => (
407
+ <TableRow key={headerGroup.id}>
408
+ {headerGroup.headers.map((header) => (
409
+ <TableHead key={header.id}>
410
+ {header.isPlaceholder
411
+ ? null
412
+ : flexRender(
413
+ header.column.columnDef.header,
414
+ header.getContext()
415
+ )}
416
+ </TableHead>
417
+ ))}
418
+ </TableRow>
419
+ ))}
420
+ </TableHeader>
421
+ <TableBody>
422
+ {isLoading ? (
423
+ <TableRow>
424
+ <TableCell
425
+ colSpan={columns.length}
426
+ className="h-24 text-center"
427
+ >
428
+ <div className="flex items-center justify-center">
429
+ <Loader2 className="h-6 w-6 animate-spin" />
430
+ </div>
431
+ </TableCell>
432
+ </TableRow>
433
+ ) : table.getRowModel().rows?.length ? (
434
+ table.getRowModel().rows.map((row) => (
435
+ <TableRow
436
+ key={row.id}
437
+ data-state={row.getIsSelected() && 'selected'}
438
+ >
439
+ {row.getVisibleCells().map((cell) => (
440
+ <TableCell key={cell.id}>
441
+ {flexRender(
442
+ cell.column.columnDef.cell,
443
+ cell.getContext()
444
+ )}
445
+ </TableCell>
446
+ ))}
447
+ </TableRow>
448
+ ))
449
+ ) : (
450
+ <TableRow>
451
+ <TableCell
452
+ colSpan={columns.length}
453
+ className="h-24 text-center"
454
+ >
455
+ No results.
456
+ </TableCell>
457
+ </TableRow>
458
+ )}
459
+ </TableBody>
460
+ </Table>
461
+ </div>
462
+
463
+ {/* Pagination */}
464
+ <div className="flex items-center justify-between px-2">
465
+ <div className="text-sm text-muted-foreground">
466
+ {table.getFilteredSelectedRowModel().rows.length} of{' '}
467
+ {table.getFilteredRowModel().rows.length} row(s) selected.
468
+ </div>
469
+ <div className="flex items-center space-x-2">
470
+ <Button
471
+ variant="outline"
472
+ size="sm"
473
+ onClick={() => table.previousPage()}
474
+ disabled={!table.getCanPreviousPage()}
475
+ >
476
+ Previous
477
+ </Button>
478
+ <div className="text-sm">
479
+ Page {table.getState().pagination.pageIndex + 1} of{' '}
480
+ {table.getPageCount()}
481
+ </div>
482
+ <Button
483
+ variant="outline"
484
+ size="sm"
485
+ onClick={() => table.nextPage()}
486
+ disabled={!table.getCanNextPage()}
487
+ >
488
+ Next
489
+ </Button>
490
+ </div>
491
+ </div>
492
+ </div>
493
+ )
494
+ }
495
+ ```
496
+
497
+ ### Server-Side Pagination
498
+
499
+ ```typescript
500
+ // components/tables/UsersTableServer.tsx
501
+ 'use client'
502
+
503
+ import { useSearchParams, useRouter, usePathname } from 'next/navigation'
504
+ import { useUsers } from '@/hooks/users'
505
+ import {
506
+ Table,
507
+ TableBody,
508
+ TableCell,
509
+ TableHead,
510
+ TableHeader,
511
+ TableRow,
512
+ } from '@/components/ui/table'
513
+ import { Button } from '@/components/ui/button'
514
+ import { Input } from '@/components/ui/input'
515
+ import {
516
+ Select,
517
+ SelectContent,
518
+ SelectItem,
519
+ SelectTrigger,
520
+ SelectValue,
521
+ } from '@/components/ui/select'
522
+ import { useDebouncedCallback } from 'use-debounce'
523
+
524
+ export function UsersTableServer() {
525
+ const searchParams = useSearchParams()
526
+ const pathname = usePathname()
527
+ const router = useRouter()
528
+
529
+ const page = Number(searchParams.get('page')) || 1
530
+ const limit = Number(searchParams.get('limit')) || 10
531
+ const search = searchParams.get('search') || ''
532
+ const sortBy = searchParams.get('sortBy') || 'createdAt'
533
+ const sortOrder = (searchParams.get('sortOrder') as 'asc' | 'desc') || 'desc'
534
+
535
+ const { data, isLoading } = useUsers({
536
+ page,
537
+ limit,
538
+ search,
539
+ sortBy,
540
+ sortOrder,
541
+ })
542
+
543
+ const updateParams = (updates: Record<string, string | number>) => {
544
+ const params = new URLSearchParams(searchParams)
545
+ Object.entries(updates).forEach(([key, value]) => {
546
+ if (value) {
547
+ params.set(key, String(value))
548
+ } else {
549
+ params.delete(key)
550
+ }
551
+ })
552
+ router.push(`${pathname}?${params.toString()}`)
553
+ }
554
+
555
+ const handleSearch = useDebouncedCallback((term: string) => {
556
+ updateParams({ search: term, page: 1 })
557
+ }, 300)
558
+
559
+ const handleSort = (column: string) => {
560
+ const newOrder =
561
+ sortBy === column && sortOrder === 'asc' ? 'desc' : 'asc'
562
+ updateParams({ sortBy: column, sortOrder: newOrder })
563
+ }
564
+
565
+ const handlePageChange = (newPage: number) => {
566
+ updateParams({ page: newPage })
567
+ }
568
+
569
+ const handleLimitChange = (newLimit: string) => {
570
+ updateParams({ limit: parseInt(newLimit), page: 1 })
571
+ }
572
+
573
+ return (
574
+ <div className="space-y-4">
575
+ {/* Search */}
576
+ <div className="flex items-center gap-4">
577
+ <Input
578
+ placeholder="Search users..."
579
+ defaultValue={search}
580
+ onChange={(e) => handleSearch(e.target.value)}
581
+ className="max-w-sm"
582
+ />
583
+ <Select value={String(limit)} onValueChange={handleLimitChange}>
584
+ <SelectTrigger className="w-[180px]">
585
+ <SelectValue placeholder="Rows per page" />
586
+ </SelectTrigger>
587
+ <SelectContent>
588
+ <SelectItem value="10">10 per page</SelectItem>
589
+ <SelectItem value="25">25 per page</SelectItem>
590
+ <SelectItem value="50">50 per page</SelectItem>
591
+ <SelectItem value="100">100 per page</SelectItem>
592
+ </SelectContent>
593
+ </Select>
594
+ </div>
595
+
596
+ {/* Table */}
597
+ <div className="rounded-md border">
598
+ <Table>
599
+ <TableHeader>
600
+ <TableRow>
601
+ <TableHead
602
+ className="cursor-pointer"
603
+ onClick={() => handleSort('name')}
604
+ >
605
+ Name {sortBy === 'name' && (sortOrder === 'asc' ? '↑' : '↓')}
606
+ </TableHead>
607
+ <TableHead
608
+ className="cursor-pointer"
609
+ onClick={() => handleSort('email')}
610
+ >
611
+ Email {sortBy === 'email' && (sortOrder === 'asc' ? '↑' : '↓')}
612
+ </TableHead>
613
+ <TableHead>Role</TableHead>
614
+ <TableHead
615
+ className="cursor-pointer"
616
+ onClick={() => handleSort('createdAt')}
617
+ >
618
+ Created{' '}
619
+ {sortBy === 'createdAt' && (sortOrder === 'asc' ? '↑' : '↓')}
620
+ </TableHead>
621
+ </TableRow>
622
+ </TableHeader>
623
+ <TableBody>
624
+ {isLoading ? (
625
+ <TableRow>
626
+ <TableCell colSpan={4} className="h-24 text-center">
627
+ Loading...
628
+ </TableCell>
629
+ </TableRow>
630
+ ) : data?.data.length ? (
631
+ data.data.map((user) => (
632
+ <TableRow key={user.id}>
633
+ <TableCell>{user.name}</TableCell>
634
+ <TableCell>{user.email}</TableCell>
635
+ <TableCell>{user.role}</TableCell>
636
+ <TableCell>
637
+ {new Date(user.createdAt).toLocaleDateString()}
638
+ </TableCell>
639
+ </TableRow>
640
+ ))
641
+ ) : (
642
+ <TableRow>
643
+ <TableCell colSpan={4} className="h-24 text-center">
644
+ No results.
645
+ </TableCell>
646
+ </TableRow>
647
+ )}
648
+ </TableBody>
649
+ </Table>
650
+ </div>
651
+
652
+ {/* Pagination */}
653
+ <div className="flex items-center justify-between">
654
+ <div className="text-sm text-muted-foreground">
655
+ Showing {(page - 1) * limit + 1} to{' '}
656
+ {Math.min(page * limit, data?.meta.total || 0)} of{' '}
657
+ {data?.meta.total || 0} results
658
+ </div>
659
+ <div className="flex items-center gap-2">
660
+ <Button
661
+ variant="outline"
662
+ size="sm"
663
+ onClick={() => handlePageChange(page - 1)}
664
+ disabled={page === 1}
665
+ >
666
+ Previous
667
+ </Button>
668
+ <div className="text-sm">
669
+ Page {page} of {data?.meta.totalPages || 1}
670
+ </div>
671
+ <Button
672
+ variant="outline"
673
+ size="sm"
674
+ onClick={() => handlePageChange(page + 1)}
675
+ disabled={page >= (data?.meta.totalPages || 1)}
676
+ >
677
+ Next
678
+ </Button>
679
+ </div>
680
+ </div>
681
+ </div>
682
+ )
683
+ }
684
+ ```
685
+
686
+ ### Reusable DataTable Component
687
+
688
+ ```typescript
689
+ // components/tables/DataTable.tsx
690
+ 'use client'
691
+
692
+ import {
693
+ useReactTable,
694
+ getCoreRowModel,
695
+ getSortedRowModel,
696
+ getFilteredRowModel,
697
+ getPaginationRowModel,
698
+ flexRender,
699
+ type ColumnDef,
700
+ type TableOptions,
701
+ } from '@tanstack/react-table'
702
+ import {
703
+ Table,
704
+ TableBody,
705
+ TableCell,
706
+ TableHead,
707
+ TableHeader,
708
+ TableRow,
709
+ } from '@/components/ui/table'
710
+ import { DataTablePagination } from './DataTablePagination'
711
+ import { DataTableToolbar } from './DataTableToolbar'
712
+
713
+ interface DataTableProps<TData, TValue> {
714
+ columns: ColumnDef<TData, TValue>[]
715
+ data: TData[]
716
+ searchKey?: string
717
+ searchPlaceholder?: string
718
+ isLoading?: boolean
719
+ filterOptions?: {
720
+ column: string
721
+ title: string
722
+ options: { label: string; value: string }[]
723
+ }[]
724
+ }
725
+
726
+ export function DataTable<TData, TValue>({
727
+ columns,
728
+ data,
729
+ searchKey,
730
+ searchPlaceholder = 'Search...',
731
+ isLoading,
732
+ filterOptions,
733
+ }: DataTableProps<TData, TValue>) {
734
+ const [sorting, setSorting] = useState<SortingState>([])
735
+ const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])
736
+ const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({})
737
+ const [rowSelection, setRowSelection] = useState({})
738
+
739
+ const table = useReactTable({
740
+ data,
741
+ columns,
742
+ getCoreRowModel: getCoreRowModel(),
743
+ getSortedRowModel: getSortedRowModel(),
744
+ getFilteredRowModel: getFilteredRowModel(),
745
+ getPaginationRowModel: getPaginationRowModel(),
746
+ onSortingChange: setSorting,
747
+ onColumnFiltersChange: setColumnFilters,
748
+ onColumnVisibilityChange: setColumnVisibility,
749
+ onRowSelectionChange: setRowSelection,
750
+ state: {
751
+ sorting,
752
+ columnFilters,
753
+ columnVisibility,
754
+ rowSelection,
755
+ },
756
+ })
757
+
758
+ return (
759
+ <div className="space-y-4">
760
+ <DataTableToolbar
761
+ table={table}
762
+ searchKey={searchKey}
763
+ searchPlaceholder={searchPlaceholder}
764
+ filterOptions={filterOptions}
765
+ />
766
+
767
+ <div className="rounded-md border">
768
+ <Table>
769
+ <TableHeader>
770
+ {table.getHeaderGroups().map((headerGroup) => (
771
+ <TableRow key={headerGroup.id}>
772
+ {headerGroup.headers.map((header) => (
773
+ <TableHead key={header.id}>
774
+ {header.isPlaceholder
775
+ ? null
776
+ : flexRender(
777
+ header.column.columnDef.header,
778
+ header.getContext()
779
+ )}
780
+ </TableHead>
781
+ ))}
782
+ </TableRow>
783
+ ))}
784
+ </TableHeader>
785
+ <TableBody>
786
+ {isLoading ? (
787
+ <TableRow>
788
+ <TableCell
789
+ colSpan={columns.length}
790
+ className="h-24 text-center"
791
+ >
792
+ Loading...
793
+ </TableCell>
794
+ </TableRow>
795
+ ) : table.getRowModel().rows?.length ? (
796
+ table.getRowModel().rows.map((row) => (
797
+ <TableRow
798
+ key={row.id}
799
+ data-state={row.getIsSelected() && 'selected'}
800
+ >
801
+ {row.getVisibleCells().map((cell) => (
802
+ <TableCell key={cell.id}>
803
+ {flexRender(
804
+ cell.column.columnDef.cell,
805
+ cell.getContext()
806
+ )}
807
+ </TableCell>
808
+ ))}
809
+ </TableRow>
810
+ ))
811
+ ) : (
812
+ <TableRow>
813
+ <TableCell
814
+ colSpan={columns.length}
815
+ className="h-24 text-center"
816
+ >
817
+ No results.
818
+ </TableCell>
819
+ </TableRow>
820
+ )}
821
+ </TableBody>
822
+ </Table>
823
+ </div>
824
+
825
+ <DataTablePagination table={table} />
826
+ </div>
827
+ )
828
+ }
829
+ ```
830
+
831
+ ## Step 6: Generate Tests
832
+
833
+ ```typescript
834
+ // components/tables/UsersTable.test.tsx
835
+ import { render, screen, within } from '@testing-library/react'
836
+ import userEvent from '@testing-library/user-event'
837
+ import { UsersTable } from './UsersTable'
838
+
839
+ const mockUsers = [
840
+ {
841
+ id: '1',
842
+ name: 'John Doe',
843
+ email: 'john@example.com',
844
+ role: 'admin',
845
+ status: 'active',
846
+ createdAt: '2024-01-01',
847
+ avatar: 'https://example.com/avatar.jpg',
848
+ },
849
+ {
850
+ id: '2',
851
+ name: 'Jane Smith',
852
+ email: 'jane@example.com',
853
+ role: 'user',
854
+ status: 'inactive',
855
+ createdAt: '2024-01-02',
856
+ avatar: 'https://example.com/avatar2.jpg',
857
+ },
858
+ ]
859
+
860
+ describe('UsersTable', () => {
861
+ it('renders table with data', () => {
862
+ render(<UsersTable data={mockUsers} />)
863
+
864
+ expect(screen.getByText('John Doe')).toBeInTheDocument()
865
+ expect(screen.getByText('jane@example.com')).toBeInTheDocument()
866
+ })
867
+
868
+ it('shows loading state', () => {
869
+ render(<UsersTable data={[]} isLoading />)
870
+
871
+ expect(screen.getByRole('status')).toBeInTheDocument()
872
+ })
873
+
874
+ it('shows empty state when no data', () => {
875
+ render(<UsersTable data={[]} />)
876
+
877
+ expect(screen.getByText(/no results/i)).toBeInTheDocument()
878
+ })
879
+
880
+ it('filters table by name', async () => {
881
+ const user = userEvent.setup()
882
+ render(<UsersTable data={mockUsers} />)
883
+
884
+ const searchInput = screen.getByPlaceholderText(/filter by name/i)
885
+ await user.type(searchInput, 'John')
886
+
887
+ expect(screen.getByText('John Doe')).toBeInTheDocument()
888
+ expect(screen.queryByText('Jane Smith')).not.toBeInTheDocument()
889
+ })
890
+
891
+ it('sorts table by column', async () => {
892
+ const user = userEvent.setup()
893
+ render(<UsersTable data={mockUsers} />)
894
+
895
+ const nameHeader = screen.getByRole('button', { name: /name/i })
896
+ await user.click(nameHeader)
897
+
898
+ const rows = screen.getAllByRole('row')
899
+ expect(within(rows[1]).getByText('Jane Smith')).toBeInTheDocument()
900
+ })
901
+
902
+ it('selects rows', async () => {
903
+ const user = userEvent.setup()
904
+ render(<UsersTable data={mockUsers} />)
905
+
906
+ const checkboxes = screen.getAllByRole('checkbox')
907
+ await user.click(checkboxes[1]) // First data row
908
+
909
+ expect(screen.getByText(/1 selected/i)).toBeInTheDocument()
910
+ })
911
+
912
+ it('calls action handlers', async () => {
913
+ const user = userEvent.setup()
914
+ const onEdit = vi.fn()
915
+ const onDelete = vi.fn()
916
+
917
+ render(<UsersTable data={mockUsers} onEdit={onEdit} onDelete={onDelete} />)
918
+
919
+ const actionButtons = screen.getAllByRole('button', { name: /open menu/i })
920
+ await user.click(actionButtons[0])
921
+
922
+ await user.click(screen.getByRole('menuitem', { name: /edit/i }))
923
+ expect(onEdit).toHaveBeenCalledWith(mockUsers[0])
924
+ })
925
+
926
+ it('paginates data', async () => {
927
+ const user = userEvent.setup()
928
+ const manyUsers = Array.from({ length: 25 }, (_, i) => ({
929
+ ...mockUsers[0],
930
+ id: String(i),
931
+ name: `User ${i}`,
932
+ }))
933
+
934
+ render(<UsersTable data={manyUsers} />)
935
+
936
+ expect(screen.getByText('Page 1 of 3')).toBeInTheDocument()
937
+
938
+ await user.click(screen.getByRole('button', { name: /next/i }))
939
+ expect(screen.getByText('Page 2 of 3')).toBeInTheDocument()
940
+ })
941
+ })
942
+ ```
943
+
944
+ ## Step 7: Show Generated Files
945
+
946
+ Display:
947
+ 1. All file paths to create
948
+ 2. Full content for each file
949
+ 3. Table structure diagram:
950
+
951
+ ```
952
+ ┌─────────────────────────────────────┐
953
+ │ Table: UsersTable │
954
+ ├─────────────────────────────────────┤
955
+ │ Library: TanStack Table │
956
+ │ UI: shadcn/ui │
957
+ │ Pagination: Client-side │
958
+ ├─────────────────────────────────────┤
959
+ │ Columns: │
960
+ │ - select (checkbox) │
961
+ │ - name (sortable, filterable) │
962
+ │ - email (sortable) │
963
+ │ - role (filterable) │
964
+ │ - status (badge) │
965
+ │ - createdAt (date) │
966
+ │ - actions (menu) │
967
+ ├─────────────────────────────────────┤
968
+ │ Features: │
969
+ │ ✓ Sorting │
970
+ │ ✓ Filtering │
971
+ │ ✓ Pagination │
972
+ │ ✓ Row selection │
973
+ │ ✓ Column visibility │
974
+ │ ✓ Row actions │
975
+ ├─────────────────────────────────────┤
976
+ │ Files: │
977
+ │ - components/tables/UsersTable.tsx│
978
+ │ - components/tables/UsersTable.test.tsx │
979
+ └─────────────────────────────────────┘
980
+ ```
981
+
982
+ ## Step 8: Usage Example
983
+
984
+ ```typescript
985
+ import { UsersTable } from '@/components/tables/UsersTable'
986
+ import { useUsers, useDeleteUser } from '@/hooks/users'
987
+ import { toast } from 'sonner'
988
+
989
+ function UsersPage() {
990
+ const { data, isLoading } = useUsers()
991
+ const deleteUser = useDeleteUser()
992
+
993
+ const handleEdit = (user: User) => {
994
+ router.push(`/users/${user.id}/edit`)
995
+ }
996
+
997
+ const handleDelete = async (user: User) => {
998
+ if (confirm(`Delete ${user.name}?`)) {
999
+ try {
1000
+ await deleteUser.mutateAsync(user.id)
1001
+ toast.success('User deleted')
1002
+ } catch (error) {
1003
+ toast.error('Failed to delete user')
1004
+ }
1005
+ }
1006
+ }
1007
+
1008
+ const handleView = (user: User) => {
1009
+ router.push(`/users/${user.id}`)
1010
+ }
1011
+
1012
+ return (
1013
+ <div className="container mx-auto py-10">
1014
+ <h1 className="text-2xl font-bold mb-6">Users</h1>
1015
+ <UsersTable
1016
+ data={data?.data || []}
1017
+ isLoading={isLoading}
1018
+ onEdit={handleEdit}
1019
+ onDelete={handleDelete}
1020
+ onView={handleView}
1021
+ />
1022
+ </div>
1023
+ )
1024
+ }
1025
+ ```
1026
+
1027
+ ## Step 9: Next Steps
1028
+
1029
+ Suggest related actions:
1030
+ - Create API integration: `/create-api-integration users`
1031
+ - Create form for editing: `/create-form UserForm`
1032
+ - Add Storybook stories: `/create-storybook UsersTable`
1033
+ - Create detail page: `/create-page user detail with tabs`
1034
+
1035
+ Generate table now for: $ARGUMENTS