@vodailoc/kilo-kit-mcp 1.1.0 → 1.2.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 (582) hide show
  1. package/.mcp/kilo-kit.codex-windows.toml +5 -0
  2. package/LICENSE +190 -190
  3. package/QUICKSTART.md +265 -255
  4. package/README.md +321 -267
  5. package/mcp/README.md +64 -12
  6. package/mcp/dist/formatters.js +142 -1
  7. package/mcp/dist/orchestration-audit.js +20 -0
  8. package/mcp/dist/orchestration-memory.js +258 -0
  9. package/mcp/dist/orchestration-types.js +1 -0
  10. package/mcp/dist/orchestrator.js +222 -0
  11. package/mcp/dist/question-templates.js +249 -0
  12. package/mcp/dist/route-analytics.js +149 -0
  13. package/mcp/dist/router.js +75 -82
  14. package/mcp/dist/routing-policy-data.js +241 -0
  15. package/mcp/dist/routing-policy.js +145 -0
  16. package/mcp/dist/server.js +93 -4
  17. package/mcp/dist/smoke-env.js +18 -0
  18. package/mcp/dist/smoke.js +68 -1
  19. package/mcp/package.json +1 -2
  20. package/package.json +3 -2
  21. package/skills/README.md +647 -647
  22. package/skills/SKILLS_INDEX.md +139 -139
  23. package/skills/ai-media/ai-multimodal/.env.example +97 -97
  24. package/skills/ai-media/ai-multimodal/SKILL.md +357 -357
  25. package/skills/ai-media/ai-multimodal/references/audio-processing.md +373 -373
  26. package/skills/ai-media/ai-multimodal/references/image-generation.md +558 -558
  27. package/skills/ai-media/ai-multimodal/references/video-analysis.md +502 -502
  28. package/skills/ai-media/ai-multimodal/references/vision-understanding.md +483 -483
  29. package/skills/ai-media/ai-multimodal/scripts/document_converter.py +395 -395
  30. package/skills/ai-media/ai-multimodal/scripts/gemini_batch_process.py +480 -480
  31. package/skills/ai-media/ai-multimodal/scripts/media_optimizer.py +506 -506
  32. package/skills/ai-media/ai-multimodal/scripts/requirements.txt +26 -26
  33. package/skills/ai-media/ai-multimodal/scripts/tests/requirements.txt +20 -20
  34. package/skills/ai-media/ai-multimodal/scripts/tests/test_document_converter.py +299 -299
  35. package/skills/ai-media/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -362
  36. package/skills/ai-media/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -373
  37. package/skills/ai-media/media-processing/SKILL.md +358 -358
  38. package/skills/ai-media/media-processing/references/ffmpeg-encoding.md +358 -358
  39. package/skills/ai-media/media-processing/references/ffmpeg-filters.md +503 -503
  40. package/skills/ai-media/media-processing/references/ffmpeg-streaming.md +403 -403
  41. package/skills/ai-media/media-processing/references/format-compatibility.md +375 -375
  42. package/skills/ai-media/media-processing/references/imagemagick-batch.md +612 -612
  43. package/skills/ai-media/media-processing/references/imagemagick-editing.md +623 -623
  44. package/skills/ai-media/media-processing/scripts/batch_resize.py +342 -342
  45. package/skills/ai-media/media-processing/scripts/media_convert.py +311 -311
  46. package/skills/ai-media/media-processing/scripts/requirements.txt +24 -24
  47. package/skills/ai-media/media-processing/scripts/tests/requirements.txt +2 -2
  48. package/skills/ai-media/media-processing/scripts/tests/test_batch_resize.py +372 -372
  49. package/skills/ai-media/media-processing/scripts/tests/test_media_convert.py +259 -259
  50. package/skills/ai-media/media-processing/scripts/tests/test_video_optimize.py +397 -397
  51. package/skills/ai-media/media-processing/scripts/video_optimize.py +414 -414
  52. package/skills/ai-media/screenshot/LICENSE.txt +201 -201
  53. package/skills/ai-media/screenshot/SKILL.md +267 -267
  54. package/skills/ai-media/screenshot/agents/openai.yaml +6 -6
  55. package/skills/ai-media/screenshot/assets/screenshot-small.svg +5 -5
  56. package/skills/ai-media/screenshot/scripts/ensure_macos_permissions.sh +54 -54
  57. package/skills/ai-media/screenshot/scripts/macos_display_info.swift +22 -22
  58. package/skills/ai-media/screenshot/scripts/macos_permissions.swift +40 -40
  59. package/skills/ai-media/screenshot/scripts/macos_window_info.swift +126 -126
  60. package/skills/ai-media/screenshot/scripts/take_screenshot.ps1 +163 -163
  61. package/skills/ai-media/screenshot/scripts/take_screenshot.py +585 -585
  62. package/skills/ai-media/sora/LICENSE.txt +201 -201
  63. package/skills/ai-media/sora/SKILL.md +153 -153
  64. package/skills/ai-media/sora/agents/openai.yaml +6 -6
  65. package/skills/ai-media/sora/assets/sora-small.svg +4 -4
  66. package/skills/ai-media/sora/references/cinematic-shots.md +53 -53
  67. package/skills/ai-media/sora/references/cli.md +248 -248
  68. package/skills/ai-media/sora/references/codex-network.md +28 -28
  69. package/skills/ai-media/sora/references/prompting.md +137 -137
  70. package/skills/ai-media/sora/references/sample-prompts.md +95 -95
  71. package/skills/ai-media/sora/references/social-ads.md +42 -42
  72. package/skills/ai-media/sora/references/troubleshooting.md +58 -58
  73. package/skills/ai-media/sora/references/video-api.md +45 -45
  74. package/skills/ai-media/sora/scripts/sora.py +970 -970
  75. package/skills/design/aesthetic/SKILL.md +121 -121
  76. package/skills/design/aesthetic/assets/design-guideline-template.md +163 -163
  77. package/skills/design/aesthetic/assets/design-story-template.md +135 -135
  78. package/skills/design/aesthetic/references/design-principles.md +62 -62
  79. package/skills/design/aesthetic/references/design-resources.md +75 -75
  80. package/skills/design/aesthetic/references/micro-interactions.md +53 -53
  81. package/skills/design/aesthetic/references/storytelling-design.md +50 -50
  82. package/skills/design/figma/LICENSE.txt +202 -202
  83. package/skills/design/figma/SKILL.md +42 -42
  84. package/skills/design/figma/agents/openai.yaml +14 -14
  85. package/skills/design/figma/assets/figma-small.svg +3 -3
  86. package/skills/design/figma/assets/icon.svg +28 -28
  87. package/skills/design/figma/references/figma-mcp-config.md +35 -35
  88. package/skills/design/figma/references/figma-tools-and-prompts.md +34 -34
  89. package/skills/design/figma-implement-design/LICENSE.txt +202 -202
  90. package/skills/design/figma-implement-design/SKILL.md +264 -264
  91. package/skills/design/figma-implement-design/agents/openai.yaml +14 -14
  92. package/skills/design/figma-implement-design/assets/figma-small.svg +3 -3
  93. package/skills/design/figma-implement-design/assets/icon.svg +28 -28
  94. package/skills/design/frontend-design/SKILL.md +41 -41
  95. package/skills/design/frontend-design/references/animejs.md +395 -395
  96. package/skills/design/ui-styling/LICENSE.txt +201 -201
  97. package/skills/design/ui-styling/SKILL.md +321 -321
  98. package/skills/design/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -93
  99. package/skills/design/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -93
  100. package/skills/design/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -93
  101. package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -93
  102. package/skills/design/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -93
  103. package/skills/design/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -93
  104. package/skills/design/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -94
  105. package/skills/design/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -93
  106. package/skills/design/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -93
  107. package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -93
  108. package/skills/design/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -93
  109. package/skills/design/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -93
  110. package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -93
  111. package/skills/design/ui-styling/canvas-fonts/Jura-OFL.txt +93 -93
  112. package/skills/design/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -93
  113. package/skills/design/ui-styling/canvas-fonts/Lora-OFL.txt +93 -93
  114. package/skills/design/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -93
  115. package/skills/design/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -93
  116. package/skills/design/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -93
  117. package/skills/design/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -93
  118. package/skills/design/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -93
  119. package/skills/design/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -93
  120. package/skills/design/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -93
  121. package/skills/design/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -93
  122. package/skills/design/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -93
  123. package/skills/design/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -93
  124. package/skills/design/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -93
  125. package/skills/design/ui-styling/references/canvas-design-system.md +320 -320
  126. package/skills/design/ui-styling/references/shadcn-accessibility.md +471 -471
  127. package/skills/design/ui-styling/references/shadcn-components.md +424 -424
  128. package/skills/design/ui-styling/references/shadcn-theming.md +373 -373
  129. package/skills/design/ui-styling/references/tailwind-customization.md +483 -483
  130. package/skills/design/ui-styling/references/tailwind-responsive.md +382 -382
  131. package/skills/design/ui-styling/references/tailwind-utilities.md +455 -455
  132. package/skills/design/ui-styling/scripts/requirements.txt +17 -17
  133. package/skills/design/ui-styling/scripts/shadcn_add.py +292 -292
  134. package/skills/design/ui-styling/scripts/tailwind_config_gen.py +456 -456
  135. package/skills/design/ui-styling/scripts/tests/requirements.txt +3 -3
  136. package/skills/design/ui-styling/scripts/tests/test_shadcn_add.py +266 -266
  137. package/skills/design/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -336
  138. package/skills/engineering/aspnet-core/LICENSE.txt +201 -201
  139. package/skills/engineering/aspnet-core/SKILL.md +61 -61
  140. package/skills/engineering/aspnet-core/agents/openai.yaml +5 -5
  141. package/skills/engineering/aspnet-core/references/_sections.md +40 -40
  142. package/skills/engineering/aspnet-core/references/apis-minimal-and-controllers.md +81 -81
  143. package/skills/engineering/aspnet-core/references/data-state-and-services.md +69 -69
  144. package/skills/engineering/aspnet-core/references/program-and-pipeline.md +103 -103
  145. package/skills/engineering/aspnet-core/references/realtime-grpc-and-background-work.md +58 -58
  146. package/skills/engineering/aspnet-core/references/security-and-identity.md +75 -75
  147. package/skills/engineering/aspnet-core/references/source-map.md +43 -43
  148. package/skills/engineering/aspnet-core/references/stack-selection.md +63 -63
  149. package/skills/engineering/aspnet-core/references/testing-performance-and-operations.md +92 -92
  150. package/skills/engineering/aspnet-core/references/ui-blazor.md +53 -53
  151. package/skills/engineering/aspnet-core/references/ui-mvc.md +56 -56
  152. package/skills/engineering/aspnet-core/references/ui-razor-pages.md +55 -55
  153. package/skills/engineering/aspnet-core/references/versioning-and-upgrades.md +51 -51
  154. package/skills/engineering/backend-development/SKILL.md +95 -95
  155. package/skills/engineering/backend-development/references/backend-api-design.md +495 -495
  156. package/skills/engineering/backend-development/references/backend-architecture.md +454 -454
  157. package/skills/engineering/backend-development/references/backend-authentication.md +338 -338
  158. package/skills/engineering/backend-development/references/backend-code-quality.md +659 -659
  159. package/skills/engineering/backend-development/references/backend-debugging.md +904 -904
  160. package/skills/engineering/backend-development/references/backend-devops.md +494 -494
  161. package/skills/engineering/backend-development/references/backend-mindset.md +387 -387
  162. package/skills/engineering/backend-development/references/backend-performance.md +397 -397
  163. package/skills/engineering/backend-development/references/backend-security.md +290 -290
  164. package/skills/engineering/backend-development/references/backend-technologies.md +256 -256
  165. package/skills/engineering/backend-development/references/backend-testing.md +429 -429
  166. package/skills/engineering/better-auth/SKILL.md +204 -204
  167. package/skills/engineering/better-auth/references/advanced-features.md +553 -553
  168. package/skills/engineering/better-auth/references/database-integration.md +577 -577
  169. package/skills/engineering/better-auth/references/email-password-auth.md +416 -416
  170. package/skills/engineering/better-auth/references/oauth-providers.md +430 -430
  171. package/skills/engineering/better-auth/scripts/better_auth_init.py +521 -521
  172. package/skills/engineering/better-auth/scripts/requirements.txt +15 -15
  173. package/skills/engineering/better-auth/scripts/tests/test_better_auth_init.py +421 -421
  174. package/skills/engineering/code-review/SKILL.md +140 -140
  175. package/skills/engineering/code-review/references/code-review-reception.md +208 -208
  176. package/skills/engineering/code-review/references/requesting-code-review.md +104 -104
  177. package/skills/engineering/code-review/references/verification-before-completion.md +138 -138
  178. package/skills/engineering/context-engineering/SKILL.md +86 -86
  179. package/skills/engineering/context-engineering/references/context-compression.md +84 -84
  180. package/skills/engineering/context-engineering/references/context-degradation.md +93 -93
  181. package/skills/engineering/context-engineering/references/context-fundamentals.md +75 -75
  182. package/skills/engineering/context-engineering/references/context-optimization.md +82 -82
  183. package/skills/engineering/context-engineering/references/evaluation.md +89 -89
  184. package/skills/engineering/context-engineering/references/memory-systems.md +88 -88
  185. package/skills/engineering/context-engineering/references/multi-agent-patterns.md +90 -90
  186. package/skills/engineering/context-engineering/references/project-development.md +97 -97
  187. package/skills/engineering/context-engineering/references/tool-design.md +86 -86
  188. package/skills/engineering/context-engineering/scripts/compression_evaluator.py +329 -329
  189. package/skills/engineering/context-engineering/scripts/context_analyzer.py +294 -294
  190. package/skills/engineering/databases/SKILL.md +232 -232
  191. package/skills/engineering/databases/references/mongodb-aggregation.md +447 -447
  192. package/skills/engineering/databases/references/mongodb-atlas.md +465 -465
  193. package/skills/engineering/databases/references/mongodb-crud.md +408 -408
  194. package/skills/engineering/databases/references/mongodb-indexing.md +442 -442
  195. package/skills/engineering/databases/references/postgresql-administration.md +594 -594
  196. package/skills/engineering/databases/references/postgresql-performance.md +527 -527
  197. package/skills/engineering/databases/references/postgresql-psql-cli.md +467 -467
  198. package/skills/engineering/databases/references/postgresql-queries.md +475 -475
  199. package/skills/engineering/databases/scripts/db_backup.py +502 -502
  200. package/skills/engineering/databases/scripts/db_migrate.py +414 -414
  201. package/skills/engineering/databases/scripts/db_performance_check.py +444 -444
  202. package/skills/engineering/databases/scripts/requirements.txt +20 -20
  203. package/skills/engineering/databases/scripts/tests/requirements.txt +4 -4
  204. package/skills/engineering/databases/scripts/tests/test_db_backup.py +340 -340
  205. package/skills/engineering/databases/scripts/tests/test_db_migrate.py +277 -277
  206. package/skills/engineering/databases/scripts/tests/test_db_performance_check.py +370 -370
  207. package/skills/engineering/diagnose/SKILL.md +117 -117
  208. package/skills/engineering/diagnose/scripts/hitl-loop.template.sh +41 -41
  209. package/skills/engineering/docs-seeker/SKILL.md +207 -207
  210. package/skills/engineering/docs-seeker/WORKFLOWS.md +505 -505
  211. package/skills/engineering/docs-seeker/references/best-practices.md +632 -632
  212. package/skills/engineering/docs-seeker/references/documentation-sources.md +461 -461
  213. package/skills/engineering/docs-seeker/references/error-handling.md +621 -621
  214. package/skills/engineering/docs-seeker/references/limitations.md +821 -821
  215. package/skills/engineering/docs-seeker/references/performance.md +574 -574
  216. package/skills/engineering/docs-seeker/references/tool-selection.md +262 -262
  217. package/skills/engineering/frontend-development/SKILL.md +398 -398
  218. package/skills/engineering/frontend-development/resources/common-patterns.md +330 -330
  219. package/skills/engineering/frontend-development/resources/complete-examples.md +871 -871
  220. package/skills/engineering/frontend-development/resources/component-patterns.md +501 -501
  221. package/skills/engineering/frontend-development/resources/data-fetching.md +766 -766
  222. package/skills/engineering/frontend-development/resources/file-organization.md +501 -501
  223. package/skills/engineering/frontend-development/resources/loading-and-error-states.md +500 -500
  224. package/skills/engineering/frontend-development/resources/performance.md +405 -405
  225. package/skills/engineering/frontend-development/resources/routing-guide.md +363 -363
  226. package/skills/engineering/frontend-development/resources/styling-guide.md +427 -427
  227. package/skills/engineering/frontend-development/resources/typescript-standards.md +417 -417
  228. package/skills/engineering/improve-codebase-architecture/DEEPENING.md +37 -37
  229. package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -44
  230. package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +53 -53
  231. package/skills/engineering/improve-codebase-architecture/SKILL.md +71 -71
  232. package/skills/engineering/openai-docs/LICENSE.txt +201 -201
  233. package/skills/engineering/openai-docs/SKILL.md +69 -69
  234. package/skills/engineering/openai-docs/agents/openai.yaml +14 -14
  235. package/skills/engineering/openai-docs/assets/openai-small.svg +3 -3
  236. package/skills/engineering/openai-docs/references/gpt-5p4-prompting-guide.md +433 -433
  237. package/skills/engineering/openai-docs/references/latest-model.md +35 -35
  238. package/skills/engineering/openai-docs/references/upgrading-to-gpt-5p4.md +164 -164
  239. package/skills/engineering/playwright/LICENSE.txt +201 -201
  240. package/skills/engineering/playwright/NOTICE.txt +14 -14
  241. package/skills/engineering/playwright/SKILL.md +147 -147
  242. package/skills/engineering/playwright/agents/openai.yaml +6 -6
  243. package/skills/engineering/playwright/assets/playwright-small.svg +3 -3
  244. package/skills/engineering/playwright/references/cli.md +116 -116
  245. package/skills/engineering/playwright/references/workflows.md +95 -95
  246. package/skills/engineering/playwright/scripts/playwright_cli.sh +25 -25
  247. package/skills/engineering/playwright-interactive/LICENSE.txt +201 -201
  248. package/skills/engineering/playwright-interactive/NOTICE.txt +13 -13
  249. package/skills/engineering/playwright-interactive/SKILL.md +689 -689
  250. package/skills/engineering/playwright-interactive/agents/openai.yaml +6 -6
  251. package/skills/engineering/playwright-interactive/assets/playwright-small.svg +3 -3
  252. package/skills/engineering/render-deploy/LICENSE.txt +201 -201
  253. package/skills/engineering/render-deploy/SKILL.md +479 -479
  254. package/skills/engineering/render-deploy/agents/openai.yaml +14 -14
  255. package/skills/engineering/render-deploy/assets/docker.yaml +62 -62
  256. package/skills/engineering/render-deploy/assets/go-api.yaml +35 -35
  257. package/skills/engineering/render-deploy/assets/nextjs-postgres.yaml +35 -35
  258. package/skills/engineering/render-deploy/assets/node-express.yaml +25 -25
  259. package/skills/engineering/render-deploy/assets/python-django.yaml +89 -89
  260. package/skills/engineering/render-deploy/assets/render-small.svg +3 -3
  261. package/skills/engineering/render-deploy/assets/static-site.yaml +54 -54
  262. package/skills/engineering/render-deploy/references/blueprint-spec.md +718 -718
  263. package/skills/engineering/render-deploy/references/codebase-analysis.md +49 -49
  264. package/skills/engineering/render-deploy/references/configuration-guide.md +603 -603
  265. package/skills/engineering/render-deploy/references/deployment-details.md +224 -224
  266. package/skills/engineering/render-deploy/references/direct-creation.md +113 -113
  267. package/skills/engineering/render-deploy/references/error-patterns.md +13 -13
  268. package/skills/engineering/render-deploy/references/post-deploy-checks.md +36 -36
  269. package/skills/engineering/render-deploy/references/runtimes.md +473 -473
  270. package/skills/engineering/render-deploy/references/service-types.md +450 -450
  271. package/skills/engineering/render-deploy/references/troubleshooting-basics.md +36 -36
  272. package/skills/engineering/repomix/SKILL.md +215 -215
  273. package/skills/engineering/repomix/references/configuration.md +211 -211
  274. package/skills/engineering/repomix/references/usage-patterns.md +232 -232
  275. package/skills/engineering/repomix/scripts/README.md +179 -179
  276. package/skills/engineering/repomix/scripts/repomix_batch.py +455 -455
  277. package/skills/engineering/repomix/scripts/repos.example.json +15 -15
  278. package/skills/engineering/repomix/scripts/requirements.txt +15 -15
  279. package/skills/engineering/repomix/scripts/tests/test_repomix_batch.py +531 -531
  280. package/skills/engineering/setup-matt-pocock-skills/SKILL.md +121 -121
  281. package/skills/engineering/setup-matt-pocock-skills/domain.md +51 -51
  282. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +22 -22
  283. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +23 -23
  284. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +19 -19
  285. package/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -15
  286. package/skills/engineering/shopify/README.md +66 -66
  287. package/skills/engineering/shopify/SKILL.md +319 -319
  288. package/skills/engineering/shopify/references/app-development.md +470 -470
  289. package/skills/engineering/shopify/references/extensions.md +493 -493
  290. package/skills/engineering/shopify/references/themes.md +498 -498
  291. package/skills/engineering/shopify/scripts/requirements.txt +19 -19
  292. package/skills/engineering/shopify/scripts/shopify_init.py +423 -423
  293. package/skills/engineering/shopify/scripts/tests/test_shopify_init.py +385 -385
  294. package/skills/engineering/tdd/SKILL.md +109 -109
  295. package/skills/engineering/tdd/deep-modules.md +33 -33
  296. package/skills/engineering/tdd/interface-design.md +31 -31
  297. package/skills/engineering/tdd/mocking.md +59 -59
  298. package/skills/engineering/tdd/refactoring.md +10 -10
  299. package/skills/engineering/tdd/tests.md +61 -61
  300. package/skills/engineering/to-issues/SKILL.md +81 -81
  301. package/skills/engineering/to-prd/SKILL.md +74 -74
  302. package/skills/engineering/triage/AGENT-BRIEF.md +168 -168
  303. package/skills/engineering/triage/OUT-OF-SCOPE.md +101 -101
  304. package/skills/engineering/triage/SKILL.md +103 -103
  305. package/skills/engineering/web-frameworks/SKILL.md +324 -324
  306. package/skills/engineering/web-frameworks/references/nextjs-app-router.md +465 -465
  307. package/skills/engineering/web-frameworks/references/nextjs-data-fetching.md +459 -459
  308. package/skills/engineering/web-frameworks/references/nextjs-optimization.md +511 -511
  309. package/skills/engineering/web-frameworks/references/nextjs-server-components.md +495 -495
  310. package/skills/engineering/web-frameworks/references/remix-icon-integration.md +603 -603
  311. package/skills/engineering/web-frameworks/references/turborepo-caching.md +551 -551
  312. package/skills/engineering/web-frameworks/references/turborepo-pipelines.md +517 -517
  313. package/skills/engineering/web-frameworks/references/turborepo-setup.md +542 -542
  314. package/skills/engineering/web-frameworks/scripts/nextjs_init.py +547 -547
  315. package/skills/engineering/web-frameworks/scripts/requirements.txt +16 -16
  316. package/skills/engineering/web-frameworks/scripts/tests/requirements.txt +3 -3
  317. package/skills/engineering/web-frameworks/scripts/tests/test_nextjs_init.py +319 -319
  318. package/skills/engineering/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -374
  319. package/skills/engineering/web-frameworks/scripts/turborepo_migrate.py +394 -394
  320. package/skills/engineering/write-a-skill/SKILL.md +117 -117
  321. package/skills/kilo-kit/SKILL.md +346 -346
  322. package/skills/kilo-kit/_template/SKILL.md +185 -185
  323. package/skills/kilo-kit/debugging/root-cause/SKILL.md +360 -360
  324. package/skills/kilo-kit/debugging/systematic/SKILL.md +339 -339
  325. package/skills/kilo-kit/debugging/verification/SKILL.md +424 -424
  326. package/skills/kilo-kit/development/backend/SKILL.md +540 -540
  327. package/skills/kilo-kit/development/security/SKILL.md +529 -529
  328. package/skills/kilo-kit/quality/code-review/SKILL.md +297 -297
  329. package/skills/kilo-kit/quality/testing/SKILL.md +540 -540
  330. package/skills/kilo-kit/references/output-formats.md +204 -204
  331. package/skills/kilo-kit/references/patterns.md +156 -156
  332. package/skills/kilo-kit/references/performance-benchmarks.md +90 -90
  333. package/skills/operations/chrome-devtools/SKILL.md +392 -392
  334. package/skills/operations/chrome-devtools/references/cdp-domains.md +694 -694
  335. package/skills/operations/chrome-devtools/references/performance-guide.md +940 -940
  336. package/skills/operations/chrome-devtools/references/puppeteer-reference.md +953 -953
  337. package/skills/operations/chrome-devtools/scripts/PERSISTENT-BROWSER.md +107 -107
  338. package/skills/operations/chrome-devtools/scripts/README.md +213 -213
  339. package/skills/operations/chrome-devtools/scripts/__tests__/selector.test.js +210 -210
  340. package/skills/operations/chrome-devtools/scripts/click.js +79 -79
  341. package/skills/operations/chrome-devtools/scripts/close-persistent.js +36 -36
  342. package/skills/operations/chrome-devtools/scripts/console.js +75 -75
  343. package/skills/operations/chrome-devtools/scripts/evaluate.js +49 -49
  344. package/skills/operations/chrome-devtools/scripts/fill.js +72 -72
  345. package/skills/operations/chrome-devtools/scripts/install-deps.sh +181 -181
  346. package/skills/operations/chrome-devtools/scripts/install.sh +83 -83
  347. package/skills/operations/chrome-devtools/scripts/launch-persistent.js +71 -71
  348. package/skills/operations/chrome-devtools/scripts/lib/browser.js +144 -144
  349. package/skills/operations/chrome-devtools/scripts/lib/selector.js +178 -178
  350. package/skills/operations/chrome-devtools/scripts/navigate.js +46 -46
  351. package/skills/operations/chrome-devtools/scripts/network.js +102 -102
  352. package/skills/operations/chrome-devtools/scripts/package-lock.json +1206 -1206
  353. package/skills/operations/chrome-devtools/scripts/package.json +15 -15
  354. package/skills/operations/chrome-devtools/scripts/performance.js +145 -145
  355. package/skills/operations/chrome-devtools/scripts/screenshot.js +180 -180
  356. package/skills/operations/chrome-devtools/scripts/snapshot.js +131 -131
  357. package/skills/operations/devops/.env.example +76 -76
  358. package/skills/operations/devops/SKILL.md +285 -285
  359. package/skills/operations/devops/references/browser-rendering.md +305 -305
  360. package/skills/operations/devops/references/cloudflare-d1-kv.md +123 -123
  361. package/skills/operations/devops/references/cloudflare-platform.md +271 -271
  362. package/skills/operations/devops/references/cloudflare-r2-storage.md +280 -280
  363. package/skills/operations/devops/references/cloudflare-workers-advanced.md +312 -312
  364. package/skills/operations/devops/references/cloudflare-workers-apis.md +309 -309
  365. package/skills/operations/devops/references/cloudflare-workers-basics.md +418 -418
  366. package/skills/operations/devops/references/docker-basics.md +297 -297
  367. package/skills/operations/devops/references/docker-compose.md +292 -292
  368. package/skills/operations/devops/references/gcloud-platform.md +297 -297
  369. package/skills/operations/devops/references/gcloud-services.md +304 -304
  370. package/skills/operations/devops/scripts/cloudflare_deploy.py +269 -269
  371. package/skills/operations/devops/scripts/docker_optimize.py +320 -320
  372. package/skills/operations/devops/scripts/requirements.txt +20 -20
  373. package/skills/operations/devops/scripts/tests/requirements.txt +3 -3
  374. package/skills/operations/devops/scripts/tests/test_cloudflare_deploy.py +285 -285
  375. package/skills/operations/devops/scripts/tests/test_docker_optimize.py +436 -436
  376. package/skills/operations/mcp-builder/LICENSE.txt +201 -201
  377. package/skills/operations/mcp-builder/SKILL.md +328 -328
  378. package/skills/operations/mcp-builder/reference/evaluation.md +601 -601
  379. package/skills/operations/mcp-builder/reference/mcp_best_practices.md +915 -915
  380. package/skills/operations/mcp-builder/reference/node_mcp_server.md +915 -915
  381. package/skills/operations/mcp-builder/reference/python_mcp_server.md +751 -751
  382. package/skills/operations/mcp-builder/scripts/connections.py +151 -151
  383. package/skills/operations/mcp-builder/scripts/evaluation.py +373 -373
  384. package/skills/operations/mcp-builder/scripts/example_evaluation.xml +22 -22
  385. package/skills/operations/mcp-builder/scripts/requirements.txt +2 -2
  386. package/skills/operations/mcp-management/README.md +219 -219
  387. package/skills/operations/mcp-management/SKILL.md +175 -175
  388. package/skills/operations/mcp-management/assets/tools.json +3043 -3043
  389. package/skills/operations/mcp-management/references/configuration.md +114 -114
  390. package/skills/operations/mcp-management/references/gemini-cli-integration.md +201 -201
  391. package/skills/operations/mcp-management/references/mcp-protocol.md +116 -116
  392. package/skills/operations/mcp-management/scripts/.env.example +10 -10
  393. package/skills/operations/mcp-management/scripts/cli.ts +155 -155
  394. package/skills/operations/mcp-management/scripts/dist/analyze-tools.js +70 -70
  395. package/skills/operations/mcp-management/scripts/dist/cli.js +131 -131
  396. package/skills/operations/mcp-management/scripts/dist/mcp-client.js +115 -115
  397. package/skills/operations/mcp-management/scripts/mcp-client.ts +163 -163
  398. package/skills/operations/mcp-management/scripts/package.json +18 -18
  399. package/skills/operations/mcp-management/scripts/tsconfig.json +15 -15
  400. package/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -62
  401. package/skills/problem-solving/defense-in-depth/SKILL.md +130 -130
  402. package/skills/problem-solving/inversion-exercise/SKILL.md +58 -58
  403. package/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -54
  404. package/skills/problem-solving/root-cause-tracing/SKILL.md +177 -177
  405. package/skills/problem-solving/root-cause-tracing/find-polluter.sh +63 -63
  406. package/skills/problem-solving/scale-game/SKILL.md +63 -63
  407. package/skills/problem-solving/sequential-thinking/README.md +118 -118
  408. package/skills/problem-solving/sequential-thinking/SKILL.md +93 -93
  409. package/skills/problem-solving/sequential-thinking/references/advanced.md +122 -122
  410. package/skills/problem-solving/sequential-thinking/references/examples.md +274 -274
  411. package/skills/problem-solving/simplification-cascades/SKILL.md +76 -76
  412. package/skills/problem-solving/when-stuck/SKILL.md +88 -88
  413. package/skills/productivity/caveman/SKILL.md +49 -49
  414. package/skills/productivity/grill-me/SKILL.md +10 -10
  415. package/skills/productivity/grill-with-docs/ADR-FORMAT.md +47 -47
  416. package/skills/productivity/grill-with-docs/CONTEXT-FORMAT.md +77 -77
  417. package/skills/productivity/grill-with-docs/SKILL.md +88 -88
  418. package/skills/productivity/writing-skills/graphviz-conventions.dot +171 -171
  419. package/skills/productivity/zoom-out/SKILL.md +7 -7
  420. package/skills/writing-docs/doc/LICENSE.txt +201 -201
  421. package/skills/writing-docs/doc/SKILL.md +80 -80
  422. package/skills/writing-docs/doc/agents/openai.yaml +6 -6
  423. package/skills/writing-docs/doc/assets/doc-small.svg +3 -3
  424. package/skills/writing-docs/doc/scripts/render_docx.py +296 -296
  425. package/skills/writing-docs/docx/LICENSE.txt +30 -30
  426. package/skills/writing-docs/docx/SKILL.md +196 -196
  427. package/skills/writing-docs/docx/docx-js.md +349 -349
  428. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
  429. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
  430. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
  431. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
  432. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
  433. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
  434. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
  435. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
  436. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
  437. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
  438. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
  439. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
  440. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
  441. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
  442. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
  443. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
  444. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
  445. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
  446. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
  447. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
  448. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
  449. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
  450. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
  451. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
  452. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
  453. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
  454. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
  455. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
  456. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
  457. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
  458. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
  459. package/skills/writing-docs/docx/ooxml/schemas/mce/mc.xsd +75 -75
  460. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
  461. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
  462. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
  463. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
  464. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
  465. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
  466. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
  467. package/skills/writing-docs/docx/ooxml/scripts/pack.py +159 -159
  468. package/skills/writing-docs/docx/ooxml/scripts/unpack.py +29 -29
  469. package/skills/writing-docs/docx/ooxml/scripts/validate.py +69 -69
  470. package/skills/writing-docs/docx/ooxml/scripts/validation/__init__.py +15 -15
  471. package/skills/writing-docs/docx/ooxml/scripts/validation/base.py +951 -951
  472. package/skills/writing-docs/docx/ooxml/scripts/validation/docx.py +274 -274
  473. package/skills/writing-docs/docx/ooxml/scripts/validation/pptx.py +315 -315
  474. package/skills/writing-docs/docx/ooxml/scripts/validation/redlining.py +279 -279
  475. package/skills/writing-docs/docx/ooxml.md +609 -609
  476. package/skills/writing-docs/docx/scripts/__init__.py +1 -1
  477. package/skills/writing-docs/docx/scripts/document.py +1276 -1276
  478. package/skills/writing-docs/docx/scripts/templates/comments.xml +2 -2
  479. package/skills/writing-docs/docx/scripts/templates/commentsExtended.xml +2 -2
  480. package/skills/writing-docs/docx/scripts/templates/commentsExtensible.xml +2 -2
  481. package/skills/writing-docs/docx/scripts/templates/commentsIds.xml +2 -2
  482. package/skills/writing-docs/docx/scripts/templates/people.xml +2 -2
  483. package/skills/writing-docs/docx/scripts/utilities.py +374 -374
  484. package/skills/writing-docs/mermaidjs-v11/SKILL.md +115 -115
  485. package/skills/writing-docs/mermaidjs-v11/references/cli-usage.md +228 -228
  486. package/skills/writing-docs/mermaidjs-v11/references/configuration.md +232 -232
  487. package/skills/writing-docs/mermaidjs-v11/references/diagram-types.md +315 -315
  488. package/skills/writing-docs/mermaidjs-v11/references/examples.md +344 -344
  489. package/skills/writing-docs/mermaidjs-v11/references/integration.md +310 -310
  490. package/skills/writing-docs/pdf/LICENSE.txt +30 -30
  491. package/skills/writing-docs/pdf/SKILL.md +294 -294
  492. package/skills/writing-docs/pdf/forms.md +205 -205
  493. package/skills/writing-docs/pdf/reference.md +611 -611
  494. package/skills/writing-docs/pdf/scripts/check_bounding_boxes.py +70 -70
  495. package/skills/writing-docs/pdf/scripts/check_bounding_boxes_test.py +226 -226
  496. package/skills/writing-docs/pdf/scripts/check_fillable_fields.py +12 -12
  497. package/skills/writing-docs/pdf/scripts/convert_pdf_to_images.py +35 -35
  498. package/skills/writing-docs/pdf/scripts/create_validation_image.py +41 -41
  499. package/skills/writing-docs/pdf/scripts/extract_form_field_info.py +152 -152
  500. package/skills/writing-docs/pdf/scripts/fill_fillable_fields.py +114 -114
  501. package/skills/writing-docs/pdf/scripts/fill_pdf_form_with_annotations.py +107 -107
  502. package/skills/writing-docs/pptx/LICENSE.txt +30 -30
  503. package/skills/writing-docs/pptx/SKILL.md +483 -483
  504. package/skills/writing-docs/pptx/html2pptx.md +624 -624
  505. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
  506. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
  507. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
  508. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
  509. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
  510. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
  511. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
  512. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
  513. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
  514. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
  515. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
  516. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
  517. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
  518. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
  519. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
  520. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
  521. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
  522. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
  523. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
  524. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
  525. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
  526. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
  527. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
  528. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
  529. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
  530. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
  531. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
  532. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
  533. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
  534. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
  535. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
  536. package/skills/writing-docs/pptx/ooxml/schemas/mce/mc.xsd +75 -75
  537. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
  538. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
  539. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
  540. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
  541. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
  542. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
  543. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
  544. package/skills/writing-docs/pptx/ooxml/scripts/pack.py +159 -159
  545. package/skills/writing-docs/pptx/ooxml/scripts/unpack.py +29 -29
  546. package/skills/writing-docs/pptx/ooxml/scripts/validate.py +69 -69
  547. package/skills/writing-docs/pptx/ooxml/scripts/validation/__init__.py +15 -15
  548. package/skills/writing-docs/pptx/ooxml/scripts/validation/base.py +951 -951
  549. package/skills/writing-docs/pptx/ooxml/scripts/validation/docx.py +274 -274
  550. package/skills/writing-docs/pptx/ooxml/scripts/validation/pptx.py +315 -315
  551. package/skills/writing-docs/pptx/ooxml/scripts/validation/redlining.py +279 -279
  552. package/skills/writing-docs/pptx/ooxml.md +426 -426
  553. package/skills/writing-docs/pptx/scripts/html2pptx.js +978 -978
  554. package/skills/writing-docs/pptx/scripts/inventory.py +1020 -1020
  555. package/skills/writing-docs/pptx/scripts/rearrange.py +231 -231
  556. package/skills/writing-docs/pptx/scripts/replace.py +385 -385
  557. package/skills/writing-docs/pptx/scripts/thumbnail.py +450 -450
  558. package/skills/writing-docs/slides/LICENSE.txt +201 -201
  559. package/skills/writing-docs/slides/SKILL.md +71 -71
  560. package/skills/writing-docs/slides/agents/openai.yaml +6 -6
  561. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/code.js +104 -104
  562. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/image.js +333 -333
  563. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/index.js +33 -33
  564. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/latex.js +51 -51
  565. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout.js +643 -643
  566. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout_builders.js +358 -358
  567. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/svg.js +36 -36
  568. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/text.js +789 -789
  569. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/util.js +24 -24
  570. package/skills/writing-docs/slides/assets/slides-small.svg +3 -3
  571. package/skills/writing-docs/slides/references/pptxgenjs-helpers.md +61 -61
  572. package/skills/writing-docs/slides/scripts/create_montage.py +300 -300
  573. package/skills/writing-docs/slides/scripts/detect_font.py +873 -873
  574. package/skills/writing-docs/slides/scripts/ensure_raster_image.py +202 -202
  575. package/skills/writing-docs/slides/scripts/render_slides.py +273 -273
  576. package/skills/writing-docs/slides/scripts/slides_test.py +201 -201
  577. package/skills/writing-docs/template-skill/SKILL.md +26 -26
  578. package/skills/writing-docs/xlsx/LICENSE.txt +30 -30
  579. package/skills/writing-docs/xlsx/SKILL.md +288 -288
  580. package/skills/writing-docs/xlsx/recalc.py +177 -177
  581. package/src/core/KILO_MASTER.md +448 -448
  582. package/src/tools/validate-skill.js +421 -421
@@ -1,577 +1,577 @@
1
- # Database Integration
2
-
3
- Better Auth supports multiple databases and ORMs for flexible data persistence.
4
-
5
- ## Supported Databases
6
-
7
- - SQLite
8
- - PostgreSQL
9
- - MySQL/MariaDB
10
- - MongoDB
11
- - Any database with adapter support
12
-
13
- ## Direct Database Connection
14
-
15
- ### SQLite
16
-
17
- ```ts
18
- import { betterAuth } from "better-auth";
19
- import Database from "better-sqlite3";
20
-
21
- export const auth = betterAuth({
22
- database: new Database("./sqlite.db"),
23
- // or
24
- database: new Database(":memory:") // In-memory for testing
25
- });
26
- ```
27
-
28
- ### PostgreSQL
29
-
30
- ```ts
31
- import { betterAuth } from "better-auth";
32
- import { Pool } from "pg";
33
-
34
- const pool = new Pool({
35
- connectionString: process.env.DATABASE_URL,
36
- // or explicit config
37
- host: "localhost",
38
- port: 5432,
39
- user: "postgres",
40
- password: "password",
41
- database: "myapp"
42
- });
43
-
44
- export const auth = betterAuth({
45
- database: pool
46
- });
47
- ```
48
-
49
- ### MySQL
50
-
51
- ```ts
52
- import { betterAuth } from "better-auth";
53
- import { createPool } from "mysql2/promise";
54
-
55
- const pool = createPool({
56
- host: "localhost",
57
- user: "root",
58
- password: "password",
59
- database: "myapp",
60
- waitForConnections: true,
61
- connectionLimit: 10
62
- });
63
-
64
- export const auth = betterAuth({
65
- database: pool
66
- });
67
- ```
68
-
69
- ## ORM Adapters
70
-
71
- ### Drizzle ORM
72
-
73
- **Install:**
74
- ```bash
75
- npm install drizzle-orm better-auth
76
- ```
77
-
78
- **Setup:**
79
- ```ts
80
- import { betterAuth } from "better-auth";
81
- import { drizzleAdapter } from "better-auth/adapters/drizzle";
82
- import { drizzle } from "drizzle-orm/node-postgres";
83
- import { Pool } from "pg";
84
-
85
- const pool = new Pool({
86
- connectionString: process.env.DATABASE_URL
87
- });
88
-
89
- const db = drizzle(pool);
90
-
91
- export const auth = betterAuth({
92
- database: drizzleAdapter(db, {
93
- provider: "pg", // "pg" | "mysql" | "sqlite"
94
- schema: {
95
- // Optional: custom table names
96
- user: "users",
97
- session: "sessions",
98
- account: "accounts",
99
- verification: "verifications"
100
- }
101
- })
102
- });
103
- ```
104
-
105
- **Generate Schema:**
106
- ```bash
107
- npx @better-auth/cli generate --adapter drizzle
108
- ```
109
-
110
- ### Prisma
111
-
112
- **Install:**
113
- ```bash
114
- npm install @prisma/client better-auth
115
- ```
116
-
117
- **Setup:**
118
- ```ts
119
- import { betterAuth } from "better-auth";
120
- import { prismaAdapter } from "better-auth/adapters/prisma";
121
- import { PrismaClient } from "@prisma/client";
122
-
123
- const prisma = new PrismaClient();
124
-
125
- export const auth = betterAuth({
126
- database: prismaAdapter(prisma, {
127
- provider: "postgresql", // "postgresql" | "mysql" | "sqlite"
128
- })
129
- });
130
- ```
131
-
132
- **Generate Schema:**
133
- ```bash
134
- npx @better-auth/cli generate --adapter prisma
135
- ```
136
-
137
- **Apply to Prisma:**
138
- ```bash
139
- # Add generated schema to schema.prisma
140
- npx prisma migrate dev --name init
141
- npx prisma generate
142
- ```
143
-
144
- ### Kysely
145
-
146
- **Install:**
147
- ```bash
148
- npm install kysely better-auth
149
- ```
150
-
151
- **Setup:**
152
- ```ts
153
- import { betterAuth } from "better-auth";
154
- import { kyselyAdapter } from "better-auth/adapters/kysely";
155
- import { Kysely, PostgresDialect } from "kysely";
156
- import { Pool } from "pg";
157
-
158
- const db = new Kysely({
159
- dialect: new PostgresDialect({
160
- pool: new Pool({
161
- connectionString: process.env.DATABASE_URL
162
- })
163
- })
164
- });
165
-
166
- export const auth = betterAuth({
167
- database: kyselyAdapter(db, {
168
- provider: "pg"
169
- })
170
- });
171
- ```
172
-
173
- **Auto-migrate with Kysely:**
174
- ```bash
175
- npx @better-auth/cli migrate --adapter kysely
176
- ```
177
-
178
- ### MongoDB
179
-
180
- **Install:**
181
- ```bash
182
- npm install mongodb better-auth
183
- ```
184
-
185
- **Setup:**
186
- ```ts
187
- import { betterAuth } from "better-auth";
188
- import { mongodbAdapter } from "better-auth/adapters/mongodb";
189
- import { MongoClient } from "mongodb";
190
-
191
- const client = new MongoClient(process.env.MONGODB_URI!);
192
- await client.connect();
193
-
194
- export const auth = betterAuth({
195
- database: mongodbAdapter(client, {
196
- databaseName: "myapp"
197
- })
198
- });
199
- ```
200
-
201
- **Generate Collections:**
202
- ```bash
203
- npx @better-auth/cli generate --adapter mongodb
204
- ```
205
-
206
- ## Core Database Schema
207
-
208
- Better Auth requires these core tables/collections:
209
-
210
- ### User Table
211
-
212
- ```sql
213
- CREATE TABLE user (
214
- id TEXT PRIMARY KEY,
215
- email TEXT UNIQUE NOT NULL,
216
- emailVerified BOOLEAN DEFAULT FALSE,
217
- name TEXT,
218
- image TEXT,
219
- createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
220
- updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
221
- );
222
- ```
223
-
224
- ### Session Table
225
-
226
- ```sql
227
- CREATE TABLE session (
228
- id TEXT PRIMARY KEY,
229
- userId TEXT NOT NULL,
230
- expiresAt TIMESTAMP NOT NULL,
231
- ipAddress TEXT,
232
- userAgent TEXT,
233
- createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
234
- updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
235
- FOREIGN KEY (userId) REFERENCES user(id) ON DELETE CASCADE
236
- );
237
- ```
238
-
239
- ### Account Table
240
-
241
- ```sql
242
- CREATE TABLE account (
243
- id TEXT PRIMARY KEY,
244
- userId TEXT NOT NULL,
245
- accountId TEXT NOT NULL,
246
- providerId TEXT NOT NULL,
247
- accessToken TEXT,
248
- refreshToken TEXT,
249
- expiresAt TIMESTAMP,
250
- scope TEXT,
251
- createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
252
- updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
253
- FOREIGN KEY (userId) REFERENCES user(id) ON DELETE CASCADE,
254
- UNIQUE(providerId, accountId)
255
- );
256
- ```
257
-
258
- ### Verification Table
259
-
260
- ```sql
261
- CREATE TABLE verification (
262
- id TEXT PRIMARY KEY,
263
- identifier TEXT NOT NULL,
264
- value TEXT NOT NULL,
265
- expiresAt TIMESTAMP NOT NULL,
266
- createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
267
- updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
268
- );
269
- ```
270
-
271
- ## Schema Generation
272
-
273
- ### Using CLI
274
-
275
- ```bash
276
- # Generate schema files
277
- npx @better-auth/cli generate
278
-
279
- # Specify adapter
280
- npx @better-auth/cli generate --adapter drizzle
281
- npx @better-auth/cli generate --adapter prisma
282
-
283
- # Specify output
284
- npx @better-auth/cli generate --output ./db/schema.ts
285
- ```
286
-
287
- ### Auto-migrate (Kysely only)
288
-
289
- ```bash
290
- npx @better-auth/cli migrate
291
- ```
292
-
293
- For other ORMs, apply generated schema manually.
294
-
295
- ## Custom Fields
296
-
297
- Add custom fields to user table:
298
-
299
- ```ts
300
- export const auth = betterAuth({
301
- user: {
302
- additionalFields: {
303
- role: {
304
- type: "string",
305
- required: false,
306
- defaultValue: "user"
307
- },
308
- phoneNumber: {
309
- type: "string",
310
- required: false
311
- },
312
- subscriptionTier: {
313
- type: "string",
314
- required: false
315
- }
316
- }
317
- }
318
- });
319
- ```
320
-
321
- After adding fields:
322
- ```bash
323
- npx @better-auth/cli generate
324
- ```
325
-
326
- Update user with custom fields:
327
- ```ts
328
- await authClient.updateUser({
329
- role: "admin",
330
- phoneNumber: "+1234567890"
331
- });
332
- ```
333
-
334
- ## Plugin Schema Extensions
335
-
336
- Plugins add their own tables/fields. Regenerate schema after adding plugins:
337
-
338
- ```bash
339
- npx @better-auth/cli generate
340
- ```
341
-
342
- ### Two-Factor Plugin Tables
343
-
344
- - `twoFactor`: Stores TOTP secrets, backup codes
345
-
346
- ### Passkey Plugin Tables
347
-
348
- - `passkey`: Stores WebAuthn credentials
349
-
350
- ### Organization Plugin Tables
351
-
352
- - `organization`: Organization data
353
- - `member`: Organization members
354
- - `invitation`: Pending invitations
355
-
356
- ## Migration Strategies
357
-
358
- ### Development
359
-
360
- ```bash
361
- # Generate schema
362
- npx @better-auth/cli generate
363
-
364
- # Apply migrations (Kysely)
365
- npx @better-auth/cli migrate
366
-
367
- # Or manual (Prisma)
368
- npx prisma migrate dev
369
-
370
- # Or manual (Drizzle)
371
- npx drizzle-kit push
372
- ```
373
-
374
- ### Production
375
-
376
- ```bash
377
- # Review generated migration
378
- npx @better-auth/cli generate
379
-
380
- # Test in staging
381
- # Apply to production with your ORM's migration tool
382
-
383
- # Prisma
384
- npx prisma migrate deploy
385
-
386
- # Drizzle
387
- npx drizzle-kit push
388
-
389
- # Kysely
390
- npx @better-auth/cli migrate
391
- ```
392
-
393
- ## Connection Pooling
394
-
395
- ### PostgreSQL
396
-
397
- ```ts
398
- import { Pool } from "pg";
399
-
400
- const pool = new Pool({
401
- connectionString: process.env.DATABASE_URL,
402
- max: 20, // Max connections
403
- idleTimeoutMillis: 30000,
404
- connectionTimeoutMillis: 2000,
405
- });
406
- ```
407
-
408
- ### MySQL
409
-
410
- ```ts
411
- import { createPool } from "mysql2/promise";
412
-
413
- const pool = createPool({
414
- connectionString: process.env.DATABASE_URL,
415
- waitForConnections: true,
416
- connectionLimit: 10,
417
- queueLimit: 0
418
- });
419
- ```
420
-
421
- ## Database URLs
422
-
423
- ### PostgreSQL
424
-
425
- ```env
426
- DATABASE_URL=postgresql://user:password@localhost:5432/dbname
427
- # Or with connection params
428
- DATABASE_URL=postgresql://user:password@localhost:5432/dbname?schema=public&connection_limit=10
429
- ```
430
-
431
- ### MySQL
432
-
433
- ```env
434
- DATABASE_URL=mysql://user:password@localhost:3306/dbname
435
- ```
436
-
437
- ### SQLite
438
-
439
- ```env
440
- DATABASE_URL=file:./dev.db
441
- # Or in-memory
442
- DATABASE_URL=:memory:
443
- ```
444
-
445
- ### MongoDB
446
-
447
- ```env
448
- MONGODB_URI=mongodb://localhost:27017/dbname
449
- # Or Atlas
450
- MONGODB_URI=mongodb+srv://user:password@cluster.mongodb.net/dbname
451
- ```
452
-
453
- ## Performance Optimization
454
-
455
- ### Indexes
456
-
457
- Better Auth CLI auto-generates essential indexes:
458
- - `user.email` (unique)
459
- - `session.userId`
460
- - `account.userId`
461
- - `account.providerId, accountId` (unique)
462
-
463
- Add custom indexes for performance:
464
- ```sql
465
- CREATE INDEX idx_session_expires ON session(expiresAt);
466
- CREATE INDEX idx_user_created ON user(createdAt);
467
- ```
468
-
469
- ### Query Optimization
470
-
471
- ```ts
472
- // Use connection pooling
473
- // Enable query caching where applicable
474
- // Monitor slow queries
475
-
476
- export const auth = betterAuth({
477
- advanced: {
478
- defaultCookieAttributes: {
479
- sameSite: "lax",
480
- secure: true,
481
- httpOnly: true
482
- }
483
- }
484
- });
485
- ```
486
-
487
- ## Backup Strategies
488
-
489
- ### PostgreSQL
490
-
491
- ```bash
492
- # Backup
493
- pg_dump dbname > backup.sql
494
-
495
- # Restore
496
- psql dbname < backup.sql
497
- ```
498
-
499
- ### MySQL
500
-
501
- ```bash
502
- # Backup
503
- mysqldump -u root -p dbname > backup.sql
504
-
505
- # Restore
506
- mysql -u root -p dbname < backup.sql
507
- ```
508
-
509
- ### SQLite
510
-
511
- ```bash
512
- # Copy file
513
- cp dev.db dev.db.backup
514
-
515
- # Or use backup command
516
- sqlite3 dev.db ".backup backup.db"
517
- ```
518
-
519
- ### MongoDB
520
-
521
- ```bash
522
- # Backup
523
- mongodump --db=dbname --out=./backup
524
-
525
- # Restore
526
- mongorestore --db=dbname ./backup/dbname
527
- ```
528
-
529
- ## Best Practices
530
-
531
- 1. **Environment Variables**: Store credentials in env vars, never commit
532
- 2. **Connection Pooling**: Use pools for PostgreSQL/MySQL in production
533
- 3. **Migrations**: Use ORM migration tools, not raw SQL in production
534
- 4. **Indexes**: Add indexes for frequently queried fields
535
- 5. **Backups**: Automate daily backups in production
536
- 6. **SSL**: Use SSL/TLS for database connections in production
537
- 7. **Schema Sync**: Keep schema in sync across environments
538
- 8. **Testing**: Use separate database for tests (in-memory SQLite ideal)
539
- 9. **Monitoring**: Monitor query performance and connection pool usage
540
- 10. **Cleanup**: Periodically clean expired sessions/verifications
541
-
542
- ## Troubleshooting
543
-
544
- ### Connection Errors
545
-
546
- ```ts
547
- // Add connection timeout
548
- const pool = new Pool({
549
- connectionString: process.env.DATABASE_URL,
550
- connectionTimeoutMillis: 5000
551
- });
552
- ```
553
-
554
- ### Schema Mismatch
555
-
556
- ```bash
557
- # Regenerate schema
558
- npx @better-auth/cli generate
559
-
560
- # Apply migrations
561
- # For Prisma: npx prisma migrate dev
562
- # For Drizzle: npx drizzle-kit push
563
- ```
564
-
565
- ### Migration Failures
566
-
567
- - Check database credentials
568
- - Verify database server is running
569
- - Check for schema conflicts
570
- - Review migration SQL manually
571
-
572
- ### Performance Issues
573
-
574
- - Add indexes on foreign keys
575
- - Enable connection pooling
576
- - Monitor slow queries
577
- - Consider read replicas for heavy read workloads
1
+ # Database Integration
2
+
3
+ Better Auth supports multiple databases and ORMs for flexible data persistence.
4
+
5
+ ## Supported Databases
6
+
7
+ - SQLite
8
+ - PostgreSQL
9
+ - MySQL/MariaDB
10
+ - MongoDB
11
+ - Any database with adapter support
12
+
13
+ ## Direct Database Connection
14
+
15
+ ### SQLite
16
+
17
+ ```ts
18
+ import { betterAuth } from "better-auth";
19
+ import Database from "better-sqlite3";
20
+
21
+ export const auth = betterAuth({
22
+ database: new Database("./sqlite.db"),
23
+ // or
24
+ database: new Database(":memory:") // In-memory for testing
25
+ });
26
+ ```
27
+
28
+ ### PostgreSQL
29
+
30
+ ```ts
31
+ import { betterAuth } from "better-auth";
32
+ import { Pool } from "pg";
33
+
34
+ const pool = new Pool({
35
+ connectionString: process.env.DATABASE_URL,
36
+ // or explicit config
37
+ host: "localhost",
38
+ port: 5432,
39
+ user: "postgres",
40
+ password: "password",
41
+ database: "myapp"
42
+ });
43
+
44
+ export const auth = betterAuth({
45
+ database: pool
46
+ });
47
+ ```
48
+
49
+ ### MySQL
50
+
51
+ ```ts
52
+ import { betterAuth } from "better-auth";
53
+ import { createPool } from "mysql2/promise";
54
+
55
+ const pool = createPool({
56
+ host: "localhost",
57
+ user: "root",
58
+ password: "password",
59
+ database: "myapp",
60
+ waitForConnections: true,
61
+ connectionLimit: 10
62
+ });
63
+
64
+ export const auth = betterAuth({
65
+ database: pool
66
+ });
67
+ ```
68
+
69
+ ## ORM Adapters
70
+
71
+ ### Drizzle ORM
72
+
73
+ **Install:**
74
+ ```bash
75
+ npm install drizzle-orm better-auth
76
+ ```
77
+
78
+ **Setup:**
79
+ ```ts
80
+ import { betterAuth } from "better-auth";
81
+ import { drizzleAdapter } from "better-auth/adapters/drizzle";
82
+ import { drizzle } from "drizzle-orm/node-postgres";
83
+ import { Pool } from "pg";
84
+
85
+ const pool = new Pool({
86
+ connectionString: process.env.DATABASE_URL
87
+ });
88
+
89
+ const db = drizzle(pool);
90
+
91
+ export const auth = betterAuth({
92
+ database: drizzleAdapter(db, {
93
+ provider: "pg", // "pg" | "mysql" | "sqlite"
94
+ schema: {
95
+ // Optional: custom table names
96
+ user: "users",
97
+ session: "sessions",
98
+ account: "accounts",
99
+ verification: "verifications"
100
+ }
101
+ })
102
+ });
103
+ ```
104
+
105
+ **Generate Schema:**
106
+ ```bash
107
+ npx @better-auth/cli generate --adapter drizzle
108
+ ```
109
+
110
+ ### Prisma
111
+
112
+ **Install:**
113
+ ```bash
114
+ npm install @prisma/client better-auth
115
+ ```
116
+
117
+ **Setup:**
118
+ ```ts
119
+ import { betterAuth } from "better-auth";
120
+ import { prismaAdapter } from "better-auth/adapters/prisma";
121
+ import { PrismaClient } from "@prisma/client";
122
+
123
+ const prisma = new PrismaClient();
124
+
125
+ export const auth = betterAuth({
126
+ database: prismaAdapter(prisma, {
127
+ provider: "postgresql", // "postgresql" | "mysql" | "sqlite"
128
+ })
129
+ });
130
+ ```
131
+
132
+ **Generate Schema:**
133
+ ```bash
134
+ npx @better-auth/cli generate --adapter prisma
135
+ ```
136
+
137
+ **Apply to Prisma:**
138
+ ```bash
139
+ # Add generated schema to schema.prisma
140
+ npx prisma migrate dev --name init
141
+ npx prisma generate
142
+ ```
143
+
144
+ ### Kysely
145
+
146
+ **Install:**
147
+ ```bash
148
+ npm install kysely better-auth
149
+ ```
150
+
151
+ **Setup:**
152
+ ```ts
153
+ import { betterAuth } from "better-auth";
154
+ import { kyselyAdapter } from "better-auth/adapters/kysely";
155
+ import { Kysely, PostgresDialect } from "kysely";
156
+ import { Pool } from "pg";
157
+
158
+ const db = new Kysely({
159
+ dialect: new PostgresDialect({
160
+ pool: new Pool({
161
+ connectionString: process.env.DATABASE_URL
162
+ })
163
+ })
164
+ });
165
+
166
+ export const auth = betterAuth({
167
+ database: kyselyAdapter(db, {
168
+ provider: "pg"
169
+ })
170
+ });
171
+ ```
172
+
173
+ **Auto-migrate with Kysely:**
174
+ ```bash
175
+ npx @better-auth/cli migrate --adapter kysely
176
+ ```
177
+
178
+ ### MongoDB
179
+
180
+ **Install:**
181
+ ```bash
182
+ npm install mongodb better-auth
183
+ ```
184
+
185
+ **Setup:**
186
+ ```ts
187
+ import { betterAuth } from "better-auth";
188
+ import { mongodbAdapter } from "better-auth/adapters/mongodb";
189
+ import { MongoClient } from "mongodb";
190
+
191
+ const client = new MongoClient(process.env.MONGODB_URI!);
192
+ await client.connect();
193
+
194
+ export const auth = betterAuth({
195
+ database: mongodbAdapter(client, {
196
+ databaseName: "myapp"
197
+ })
198
+ });
199
+ ```
200
+
201
+ **Generate Collections:**
202
+ ```bash
203
+ npx @better-auth/cli generate --adapter mongodb
204
+ ```
205
+
206
+ ## Core Database Schema
207
+
208
+ Better Auth requires these core tables/collections:
209
+
210
+ ### User Table
211
+
212
+ ```sql
213
+ CREATE TABLE user (
214
+ id TEXT PRIMARY KEY,
215
+ email TEXT UNIQUE NOT NULL,
216
+ emailVerified BOOLEAN DEFAULT FALSE,
217
+ name TEXT,
218
+ image TEXT,
219
+ createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
220
+ updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
221
+ );
222
+ ```
223
+
224
+ ### Session Table
225
+
226
+ ```sql
227
+ CREATE TABLE session (
228
+ id TEXT PRIMARY KEY,
229
+ userId TEXT NOT NULL,
230
+ expiresAt TIMESTAMP NOT NULL,
231
+ ipAddress TEXT,
232
+ userAgent TEXT,
233
+ createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
234
+ updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
235
+ FOREIGN KEY (userId) REFERENCES user(id) ON DELETE CASCADE
236
+ );
237
+ ```
238
+
239
+ ### Account Table
240
+
241
+ ```sql
242
+ CREATE TABLE account (
243
+ id TEXT PRIMARY KEY,
244
+ userId TEXT NOT NULL,
245
+ accountId TEXT NOT NULL,
246
+ providerId TEXT NOT NULL,
247
+ accessToken TEXT,
248
+ refreshToken TEXT,
249
+ expiresAt TIMESTAMP,
250
+ scope TEXT,
251
+ createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
252
+ updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
253
+ FOREIGN KEY (userId) REFERENCES user(id) ON DELETE CASCADE,
254
+ UNIQUE(providerId, accountId)
255
+ );
256
+ ```
257
+
258
+ ### Verification Table
259
+
260
+ ```sql
261
+ CREATE TABLE verification (
262
+ id TEXT PRIMARY KEY,
263
+ identifier TEXT NOT NULL,
264
+ value TEXT NOT NULL,
265
+ expiresAt TIMESTAMP NOT NULL,
266
+ createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
267
+ updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
268
+ );
269
+ ```
270
+
271
+ ## Schema Generation
272
+
273
+ ### Using CLI
274
+
275
+ ```bash
276
+ # Generate schema files
277
+ npx @better-auth/cli generate
278
+
279
+ # Specify adapter
280
+ npx @better-auth/cli generate --adapter drizzle
281
+ npx @better-auth/cli generate --adapter prisma
282
+
283
+ # Specify output
284
+ npx @better-auth/cli generate --output ./db/schema.ts
285
+ ```
286
+
287
+ ### Auto-migrate (Kysely only)
288
+
289
+ ```bash
290
+ npx @better-auth/cli migrate
291
+ ```
292
+
293
+ For other ORMs, apply generated schema manually.
294
+
295
+ ## Custom Fields
296
+
297
+ Add custom fields to user table:
298
+
299
+ ```ts
300
+ export const auth = betterAuth({
301
+ user: {
302
+ additionalFields: {
303
+ role: {
304
+ type: "string",
305
+ required: false,
306
+ defaultValue: "user"
307
+ },
308
+ phoneNumber: {
309
+ type: "string",
310
+ required: false
311
+ },
312
+ subscriptionTier: {
313
+ type: "string",
314
+ required: false
315
+ }
316
+ }
317
+ }
318
+ });
319
+ ```
320
+
321
+ After adding fields:
322
+ ```bash
323
+ npx @better-auth/cli generate
324
+ ```
325
+
326
+ Update user with custom fields:
327
+ ```ts
328
+ await authClient.updateUser({
329
+ role: "admin",
330
+ phoneNumber: "+1234567890"
331
+ });
332
+ ```
333
+
334
+ ## Plugin Schema Extensions
335
+
336
+ Plugins add their own tables/fields. Regenerate schema after adding plugins:
337
+
338
+ ```bash
339
+ npx @better-auth/cli generate
340
+ ```
341
+
342
+ ### Two-Factor Plugin Tables
343
+
344
+ - `twoFactor`: Stores TOTP secrets, backup codes
345
+
346
+ ### Passkey Plugin Tables
347
+
348
+ - `passkey`: Stores WebAuthn credentials
349
+
350
+ ### Organization Plugin Tables
351
+
352
+ - `organization`: Organization data
353
+ - `member`: Organization members
354
+ - `invitation`: Pending invitations
355
+
356
+ ## Migration Strategies
357
+
358
+ ### Development
359
+
360
+ ```bash
361
+ # Generate schema
362
+ npx @better-auth/cli generate
363
+
364
+ # Apply migrations (Kysely)
365
+ npx @better-auth/cli migrate
366
+
367
+ # Or manual (Prisma)
368
+ npx prisma migrate dev
369
+
370
+ # Or manual (Drizzle)
371
+ npx drizzle-kit push
372
+ ```
373
+
374
+ ### Production
375
+
376
+ ```bash
377
+ # Review generated migration
378
+ npx @better-auth/cli generate
379
+
380
+ # Test in staging
381
+ # Apply to production with your ORM's migration tool
382
+
383
+ # Prisma
384
+ npx prisma migrate deploy
385
+
386
+ # Drizzle
387
+ npx drizzle-kit push
388
+
389
+ # Kysely
390
+ npx @better-auth/cli migrate
391
+ ```
392
+
393
+ ## Connection Pooling
394
+
395
+ ### PostgreSQL
396
+
397
+ ```ts
398
+ import { Pool } from "pg";
399
+
400
+ const pool = new Pool({
401
+ connectionString: process.env.DATABASE_URL,
402
+ max: 20, // Max connections
403
+ idleTimeoutMillis: 30000,
404
+ connectionTimeoutMillis: 2000,
405
+ });
406
+ ```
407
+
408
+ ### MySQL
409
+
410
+ ```ts
411
+ import { createPool } from "mysql2/promise";
412
+
413
+ const pool = createPool({
414
+ connectionString: process.env.DATABASE_URL,
415
+ waitForConnections: true,
416
+ connectionLimit: 10,
417
+ queueLimit: 0
418
+ });
419
+ ```
420
+
421
+ ## Database URLs
422
+
423
+ ### PostgreSQL
424
+
425
+ ```env
426
+ DATABASE_URL=postgresql://user:password@localhost:5432/dbname
427
+ # Or with connection params
428
+ DATABASE_URL=postgresql://user:password@localhost:5432/dbname?schema=public&connection_limit=10
429
+ ```
430
+
431
+ ### MySQL
432
+
433
+ ```env
434
+ DATABASE_URL=mysql://user:password@localhost:3306/dbname
435
+ ```
436
+
437
+ ### SQLite
438
+
439
+ ```env
440
+ DATABASE_URL=file:./dev.db
441
+ # Or in-memory
442
+ DATABASE_URL=:memory:
443
+ ```
444
+
445
+ ### MongoDB
446
+
447
+ ```env
448
+ MONGODB_URI=mongodb://localhost:27017/dbname
449
+ # Or Atlas
450
+ MONGODB_URI=mongodb+srv://user:password@cluster.mongodb.net/dbname
451
+ ```
452
+
453
+ ## Performance Optimization
454
+
455
+ ### Indexes
456
+
457
+ Better Auth CLI auto-generates essential indexes:
458
+ - `user.email` (unique)
459
+ - `session.userId`
460
+ - `account.userId`
461
+ - `account.providerId, accountId` (unique)
462
+
463
+ Add custom indexes for performance:
464
+ ```sql
465
+ CREATE INDEX idx_session_expires ON session(expiresAt);
466
+ CREATE INDEX idx_user_created ON user(createdAt);
467
+ ```
468
+
469
+ ### Query Optimization
470
+
471
+ ```ts
472
+ // Use connection pooling
473
+ // Enable query caching where applicable
474
+ // Monitor slow queries
475
+
476
+ export const auth = betterAuth({
477
+ advanced: {
478
+ defaultCookieAttributes: {
479
+ sameSite: "lax",
480
+ secure: true,
481
+ httpOnly: true
482
+ }
483
+ }
484
+ });
485
+ ```
486
+
487
+ ## Backup Strategies
488
+
489
+ ### PostgreSQL
490
+
491
+ ```bash
492
+ # Backup
493
+ pg_dump dbname > backup.sql
494
+
495
+ # Restore
496
+ psql dbname < backup.sql
497
+ ```
498
+
499
+ ### MySQL
500
+
501
+ ```bash
502
+ # Backup
503
+ mysqldump -u root -p dbname > backup.sql
504
+
505
+ # Restore
506
+ mysql -u root -p dbname < backup.sql
507
+ ```
508
+
509
+ ### SQLite
510
+
511
+ ```bash
512
+ # Copy file
513
+ cp dev.db dev.db.backup
514
+
515
+ # Or use backup command
516
+ sqlite3 dev.db ".backup backup.db"
517
+ ```
518
+
519
+ ### MongoDB
520
+
521
+ ```bash
522
+ # Backup
523
+ mongodump --db=dbname --out=./backup
524
+
525
+ # Restore
526
+ mongorestore --db=dbname ./backup/dbname
527
+ ```
528
+
529
+ ## Best Practices
530
+
531
+ 1. **Environment Variables**: Store credentials in env vars, never commit
532
+ 2. **Connection Pooling**: Use pools for PostgreSQL/MySQL in production
533
+ 3. **Migrations**: Use ORM migration tools, not raw SQL in production
534
+ 4. **Indexes**: Add indexes for frequently queried fields
535
+ 5. **Backups**: Automate daily backups in production
536
+ 6. **SSL**: Use SSL/TLS for database connections in production
537
+ 7. **Schema Sync**: Keep schema in sync across environments
538
+ 8. **Testing**: Use separate database for tests (in-memory SQLite ideal)
539
+ 9. **Monitoring**: Monitor query performance and connection pool usage
540
+ 10. **Cleanup**: Periodically clean expired sessions/verifications
541
+
542
+ ## Troubleshooting
543
+
544
+ ### Connection Errors
545
+
546
+ ```ts
547
+ // Add connection timeout
548
+ const pool = new Pool({
549
+ connectionString: process.env.DATABASE_URL,
550
+ connectionTimeoutMillis: 5000
551
+ });
552
+ ```
553
+
554
+ ### Schema Mismatch
555
+
556
+ ```bash
557
+ # Regenerate schema
558
+ npx @better-auth/cli generate
559
+
560
+ # Apply migrations
561
+ # For Prisma: npx prisma migrate dev
562
+ # For Drizzle: npx drizzle-kit push
563
+ ```
564
+
565
+ ### Migration Failures
566
+
567
+ - Check database credentials
568
+ - Verify database server is running
569
+ - Check for schema conflicts
570
+ - Review migration SQL manually
571
+
572
+ ### Performance Issues
573
+
574
+ - Add indexes on foreign keys
575
+ - Enable connection pooling
576
+ - Monitor slow queries
577
+ - Consider read replicas for heavy read workloads