@vodailoc/kilo-kit-mcp 1.1.0 → 1.1.1

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 (570) 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 +290 -266
  5. package/mcp/README.md +29 -5
  6. package/mcp/dist/server.js +1 -1
  7. package/mcp/package.json +1 -2
  8. package/package.json +3 -2
  9. package/skills/README.md +647 -647
  10. package/skills/SKILLS_INDEX.md +139 -139
  11. package/skills/ai-media/ai-multimodal/.env.example +97 -97
  12. package/skills/ai-media/ai-multimodal/SKILL.md +357 -357
  13. package/skills/ai-media/ai-multimodal/references/audio-processing.md +373 -373
  14. package/skills/ai-media/ai-multimodal/references/image-generation.md +558 -558
  15. package/skills/ai-media/ai-multimodal/references/video-analysis.md +502 -502
  16. package/skills/ai-media/ai-multimodal/references/vision-understanding.md +483 -483
  17. package/skills/ai-media/ai-multimodal/scripts/document_converter.py +395 -395
  18. package/skills/ai-media/ai-multimodal/scripts/gemini_batch_process.py +480 -480
  19. package/skills/ai-media/ai-multimodal/scripts/media_optimizer.py +506 -506
  20. package/skills/ai-media/ai-multimodal/scripts/requirements.txt +26 -26
  21. package/skills/ai-media/ai-multimodal/scripts/tests/requirements.txt +20 -20
  22. package/skills/ai-media/ai-multimodal/scripts/tests/test_document_converter.py +299 -299
  23. package/skills/ai-media/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -362
  24. package/skills/ai-media/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -373
  25. package/skills/ai-media/media-processing/SKILL.md +358 -358
  26. package/skills/ai-media/media-processing/references/ffmpeg-encoding.md +358 -358
  27. package/skills/ai-media/media-processing/references/ffmpeg-filters.md +503 -503
  28. package/skills/ai-media/media-processing/references/ffmpeg-streaming.md +403 -403
  29. package/skills/ai-media/media-processing/references/format-compatibility.md +375 -375
  30. package/skills/ai-media/media-processing/references/imagemagick-batch.md +612 -612
  31. package/skills/ai-media/media-processing/references/imagemagick-editing.md +623 -623
  32. package/skills/ai-media/media-processing/scripts/batch_resize.py +342 -342
  33. package/skills/ai-media/media-processing/scripts/media_convert.py +311 -311
  34. package/skills/ai-media/media-processing/scripts/requirements.txt +24 -24
  35. package/skills/ai-media/media-processing/scripts/tests/requirements.txt +2 -2
  36. package/skills/ai-media/media-processing/scripts/tests/test_batch_resize.py +372 -372
  37. package/skills/ai-media/media-processing/scripts/tests/test_media_convert.py +259 -259
  38. package/skills/ai-media/media-processing/scripts/tests/test_video_optimize.py +397 -397
  39. package/skills/ai-media/media-processing/scripts/video_optimize.py +414 -414
  40. package/skills/ai-media/screenshot/LICENSE.txt +201 -201
  41. package/skills/ai-media/screenshot/SKILL.md +267 -267
  42. package/skills/ai-media/screenshot/agents/openai.yaml +6 -6
  43. package/skills/ai-media/screenshot/assets/screenshot-small.svg +5 -5
  44. package/skills/ai-media/screenshot/scripts/ensure_macos_permissions.sh +54 -54
  45. package/skills/ai-media/screenshot/scripts/macos_display_info.swift +22 -22
  46. package/skills/ai-media/screenshot/scripts/macos_permissions.swift +40 -40
  47. package/skills/ai-media/screenshot/scripts/macos_window_info.swift +126 -126
  48. package/skills/ai-media/screenshot/scripts/take_screenshot.ps1 +163 -163
  49. package/skills/ai-media/screenshot/scripts/take_screenshot.py +585 -585
  50. package/skills/ai-media/sora/LICENSE.txt +201 -201
  51. package/skills/ai-media/sora/SKILL.md +153 -153
  52. package/skills/ai-media/sora/agents/openai.yaml +6 -6
  53. package/skills/ai-media/sora/assets/sora-small.svg +4 -4
  54. package/skills/ai-media/sora/references/cinematic-shots.md +53 -53
  55. package/skills/ai-media/sora/references/cli.md +248 -248
  56. package/skills/ai-media/sora/references/codex-network.md +28 -28
  57. package/skills/ai-media/sora/references/prompting.md +137 -137
  58. package/skills/ai-media/sora/references/sample-prompts.md +95 -95
  59. package/skills/ai-media/sora/references/social-ads.md +42 -42
  60. package/skills/ai-media/sora/references/troubleshooting.md +58 -58
  61. package/skills/ai-media/sora/references/video-api.md +45 -45
  62. package/skills/ai-media/sora/scripts/sora.py +970 -970
  63. package/skills/design/aesthetic/SKILL.md +121 -121
  64. package/skills/design/aesthetic/assets/design-guideline-template.md +163 -163
  65. package/skills/design/aesthetic/assets/design-story-template.md +135 -135
  66. package/skills/design/aesthetic/references/design-principles.md +62 -62
  67. package/skills/design/aesthetic/references/design-resources.md +75 -75
  68. package/skills/design/aesthetic/references/micro-interactions.md +53 -53
  69. package/skills/design/aesthetic/references/storytelling-design.md +50 -50
  70. package/skills/design/figma/LICENSE.txt +202 -202
  71. package/skills/design/figma/SKILL.md +42 -42
  72. package/skills/design/figma/agents/openai.yaml +14 -14
  73. package/skills/design/figma/assets/figma-small.svg +3 -3
  74. package/skills/design/figma/assets/icon.svg +28 -28
  75. package/skills/design/figma/references/figma-mcp-config.md +35 -35
  76. package/skills/design/figma/references/figma-tools-and-prompts.md +34 -34
  77. package/skills/design/figma-implement-design/LICENSE.txt +202 -202
  78. package/skills/design/figma-implement-design/SKILL.md +264 -264
  79. package/skills/design/figma-implement-design/agents/openai.yaml +14 -14
  80. package/skills/design/figma-implement-design/assets/figma-small.svg +3 -3
  81. package/skills/design/figma-implement-design/assets/icon.svg +28 -28
  82. package/skills/design/frontend-design/SKILL.md +41 -41
  83. package/skills/design/frontend-design/references/animejs.md +395 -395
  84. package/skills/design/ui-styling/LICENSE.txt +201 -201
  85. package/skills/design/ui-styling/SKILL.md +321 -321
  86. package/skills/design/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -93
  87. package/skills/design/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -93
  88. package/skills/design/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -93
  89. package/skills/design/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -93
  90. package/skills/design/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -93
  91. package/skills/design/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -93
  92. package/skills/design/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -94
  93. package/skills/design/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -93
  94. package/skills/design/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -93
  95. package/skills/design/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -93
  96. package/skills/design/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -93
  97. package/skills/design/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -93
  98. package/skills/design/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -93
  99. package/skills/design/ui-styling/canvas-fonts/Jura-OFL.txt +93 -93
  100. package/skills/design/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -93
  101. package/skills/design/ui-styling/canvas-fonts/Lora-OFL.txt +93 -93
  102. package/skills/design/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -93
  103. package/skills/design/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -93
  104. package/skills/design/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -93
  105. package/skills/design/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -93
  106. package/skills/design/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -93
  107. package/skills/design/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -93
  108. package/skills/design/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -93
  109. package/skills/design/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -93
  110. package/skills/design/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -93
  111. package/skills/design/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -93
  112. package/skills/design/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -93
  113. package/skills/design/ui-styling/references/canvas-design-system.md +320 -320
  114. package/skills/design/ui-styling/references/shadcn-accessibility.md +471 -471
  115. package/skills/design/ui-styling/references/shadcn-components.md +424 -424
  116. package/skills/design/ui-styling/references/shadcn-theming.md +373 -373
  117. package/skills/design/ui-styling/references/tailwind-customization.md +483 -483
  118. package/skills/design/ui-styling/references/tailwind-responsive.md +382 -382
  119. package/skills/design/ui-styling/references/tailwind-utilities.md +455 -455
  120. package/skills/design/ui-styling/scripts/requirements.txt +17 -17
  121. package/skills/design/ui-styling/scripts/shadcn_add.py +292 -292
  122. package/skills/design/ui-styling/scripts/tailwind_config_gen.py +456 -456
  123. package/skills/design/ui-styling/scripts/tests/requirements.txt +3 -3
  124. package/skills/design/ui-styling/scripts/tests/test_shadcn_add.py +266 -266
  125. package/skills/design/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -336
  126. package/skills/engineering/aspnet-core/LICENSE.txt +201 -201
  127. package/skills/engineering/aspnet-core/SKILL.md +61 -61
  128. package/skills/engineering/aspnet-core/agents/openai.yaml +5 -5
  129. package/skills/engineering/aspnet-core/references/_sections.md +40 -40
  130. package/skills/engineering/aspnet-core/references/apis-minimal-and-controllers.md +81 -81
  131. package/skills/engineering/aspnet-core/references/data-state-and-services.md +69 -69
  132. package/skills/engineering/aspnet-core/references/program-and-pipeline.md +103 -103
  133. package/skills/engineering/aspnet-core/references/realtime-grpc-and-background-work.md +58 -58
  134. package/skills/engineering/aspnet-core/references/security-and-identity.md +75 -75
  135. package/skills/engineering/aspnet-core/references/source-map.md +43 -43
  136. package/skills/engineering/aspnet-core/references/stack-selection.md +63 -63
  137. package/skills/engineering/aspnet-core/references/testing-performance-and-operations.md +92 -92
  138. package/skills/engineering/aspnet-core/references/ui-blazor.md +53 -53
  139. package/skills/engineering/aspnet-core/references/ui-mvc.md +56 -56
  140. package/skills/engineering/aspnet-core/references/ui-razor-pages.md +55 -55
  141. package/skills/engineering/aspnet-core/references/versioning-and-upgrades.md +51 -51
  142. package/skills/engineering/backend-development/SKILL.md +95 -95
  143. package/skills/engineering/backend-development/references/backend-api-design.md +495 -495
  144. package/skills/engineering/backend-development/references/backend-architecture.md +454 -454
  145. package/skills/engineering/backend-development/references/backend-authentication.md +338 -338
  146. package/skills/engineering/backend-development/references/backend-code-quality.md +659 -659
  147. package/skills/engineering/backend-development/references/backend-debugging.md +904 -904
  148. package/skills/engineering/backend-development/references/backend-devops.md +494 -494
  149. package/skills/engineering/backend-development/references/backend-mindset.md +387 -387
  150. package/skills/engineering/backend-development/references/backend-performance.md +397 -397
  151. package/skills/engineering/backend-development/references/backend-security.md +290 -290
  152. package/skills/engineering/backend-development/references/backend-technologies.md +256 -256
  153. package/skills/engineering/backend-development/references/backend-testing.md +429 -429
  154. package/skills/engineering/better-auth/SKILL.md +204 -204
  155. package/skills/engineering/better-auth/references/advanced-features.md +553 -553
  156. package/skills/engineering/better-auth/references/database-integration.md +577 -577
  157. package/skills/engineering/better-auth/references/email-password-auth.md +416 -416
  158. package/skills/engineering/better-auth/references/oauth-providers.md +430 -430
  159. package/skills/engineering/better-auth/scripts/better_auth_init.py +521 -521
  160. package/skills/engineering/better-auth/scripts/requirements.txt +15 -15
  161. package/skills/engineering/better-auth/scripts/tests/test_better_auth_init.py +421 -421
  162. package/skills/engineering/code-review/SKILL.md +140 -140
  163. package/skills/engineering/code-review/references/code-review-reception.md +208 -208
  164. package/skills/engineering/code-review/references/requesting-code-review.md +104 -104
  165. package/skills/engineering/code-review/references/verification-before-completion.md +138 -138
  166. package/skills/engineering/context-engineering/SKILL.md +86 -86
  167. package/skills/engineering/context-engineering/references/context-compression.md +84 -84
  168. package/skills/engineering/context-engineering/references/context-degradation.md +93 -93
  169. package/skills/engineering/context-engineering/references/context-fundamentals.md +75 -75
  170. package/skills/engineering/context-engineering/references/context-optimization.md +82 -82
  171. package/skills/engineering/context-engineering/references/evaluation.md +89 -89
  172. package/skills/engineering/context-engineering/references/memory-systems.md +88 -88
  173. package/skills/engineering/context-engineering/references/multi-agent-patterns.md +90 -90
  174. package/skills/engineering/context-engineering/references/project-development.md +97 -97
  175. package/skills/engineering/context-engineering/references/tool-design.md +86 -86
  176. package/skills/engineering/context-engineering/scripts/compression_evaluator.py +329 -329
  177. package/skills/engineering/context-engineering/scripts/context_analyzer.py +294 -294
  178. package/skills/engineering/databases/SKILL.md +232 -232
  179. package/skills/engineering/databases/references/mongodb-aggregation.md +447 -447
  180. package/skills/engineering/databases/references/mongodb-atlas.md +465 -465
  181. package/skills/engineering/databases/references/mongodb-crud.md +408 -408
  182. package/skills/engineering/databases/references/mongodb-indexing.md +442 -442
  183. package/skills/engineering/databases/references/postgresql-administration.md +594 -594
  184. package/skills/engineering/databases/references/postgresql-performance.md +527 -527
  185. package/skills/engineering/databases/references/postgresql-psql-cli.md +467 -467
  186. package/skills/engineering/databases/references/postgresql-queries.md +475 -475
  187. package/skills/engineering/databases/scripts/db_backup.py +502 -502
  188. package/skills/engineering/databases/scripts/db_migrate.py +414 -414
  189. package/skills/engineering/databases/scripts/db_performance_check.py +444 -444
  190. package/skills/engineering/databases/scripts/requirements.txt +20 -20
  191. package/skills/engineering/databases/scripts/tests/requirements.txt +4 -4
  192. package/skills/engineering/databases/scripts/tests/test_db_backup.py +340 -340
  193. package/skills/engineering/databases/scripts/tests/test_db_migrate.py +277 -277
  194. package/skills/engineering/databases/scripts/tests/test_db_performance_check.py +370 -370
  195. package/skills/engineering/diagnose/SKILL.md +117 -117
  196. package/skills/engineering/diagnose/scripts/hitl-loop.template.sh +41 -41
  197. package/skills/engineering/docs-seeker/SKILL.md +207 -207
  198. package/skills/engineering/docs-seeker/WORKFLOWS.md +505 -505
  199. package/skills/engineering/docs-seeker/references/best-practices.md +632 -632
  200. package/skills/engineering/docs-seeker/references/documentation-sources.md +461 -461
  201. package/skills/engineering/docs-seeker/references/error-handling.md +621 -621
  202. package/skills/engineering/docs-seeker/references/limitations.md +821 -821
  203. package/skills/engineering/docs-seeker/references/performance.md +574 -574
  204. package/skills/engineering/docs-seeker/references/tool-selection.md +262 -262
  205. package/skills/engineering/frontend-development/SKILL.md +398 -398
  206. package/skills/engineering/frontend-development/resources/common-patterns.md +330 -330
  207. package/skills/engineering/frontend-development/resources/complete-examples.md +871 -871
  208. package/skills/engineering/frontend-development/resources/component-patterns.md +501 -501
  209. package/skills/engineering/frontend-development/resources/data-fetching.md +766 -766
  210. package/skills/engineering/frontend-development/resources/file-organization.md +501 -501
  211. package/skills/engineering/frontend-development/resources/loading-and-error-states.md +500 -500
  212. package/skills/engineering/frontend-development/resources/performance.md +405 -405
  213. package/skills/engineering/frontend-development/resources/routing-guide.md +363 -363
  214. package/skills/engineering/frontend-development/resources/styling-guide.md +427 -427
  215. package/skills/engineering/frontend-development/resources/typescript-standards.md +417 -417
  216. package/skills/engineering/improve-codebase-architecture/DEEPENING.md +37 -37
  217. package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -44
  218. package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +53 -53
  219. package/skills/engineering/improve-codebase-architecture/SKILL.md +71 -71
  220. package/skills/engineering/openai-docs/LICENSE.txt +201 -201
  221. package/skills/engineering/openai-docs/SKILL.md +69 -69
  222. package/skills/engineering/openai-docs/agents/openai.yaml +14 -14
  223. package/skills/engineering/openai-docs/assets/openai-small.svg +3 -3
  224. package/skills/engineering/openai-docs/references/gpt-5p4-prompting-guide.md +433 -433
  225. package/skills/engineering/openai-docs/references/latest-model.md +35 -35
  226. package/skills/engineering/openai-docs/references/upgrading-to-gpt-5p4.md +164 -164
  227. package/skills/engineering/playwright/LICENSE.txt +201 -201
  228. package/skills/engineering/playwright/NOTICE.txt +14 -14
  229. package/skills/engineering/playwright/SKILL.md +147 -147
  230. package/skills/engineering/playwright/agents/openai.yaml +6 -6
  231. package/skills/engineering/playwright/assets/playwright-small.svg +3 -3
  232. package/skills/engineering/playwright/references/cli.md +116 -116
  233. package/skills/engineering/playwright/references/workflows.md +95 -95
  234. package/skills/engineering/playwright/scripts/playwright_cli.sh +25 -25
  235. package/skills/engineering/playwright-interactive/LICENSE.txt +201 -201
  236. package/skills/engineering/playwright-interactive/NOTICE.txt +13 -13
  237. package/skills/engineering/playwright-interactive/SKILL.md +689 -689
  238. package/skills/engineering/playwright-interactive/agents/openai.yaml +6 -6
  239. package/skills/engineering/playwright-interactive/assets/playwright-small.svg +3 -3
  240. package/skills/engineering/render-deploy/LICENSE.txt +201 -201
  241. package/skills/engineering/render-deploy/SKILL.md +479 -479
  242. package/skills/engineering/render-deploy/agents/openai.yaml +14 -14
  243. package/skills/engineering/render-deploy/assets/docker.yaml +62 -62
  244. package/skills/engineering/render-deploy/assets/go-api.yaml +35 -35
  245. package/skills/engineering/render-deploy/assets/nextjs-postgres.yaml +35 -35
  246. package/skills/engineering/render-deploy/assets/node-express.yaml +25 -25
  247. package/skills/engineering/render-deploy/assets/python-django.yaml +89 -89
  248. package/skills/engineering/render-deploy/assets/render-small.svg +3 -3
  249. package/skills/engineering/render-deploy/assets/static-site.yaml +54 -54
  250. package/skills/engineering/render-deploy/references/blueprint-spec.md +718 -718
  251. package/skills/engineering/render-deploy/references/codebase-analysis.md +49 -49
  252. package/skills/engineering/render-deploy/references/configuration-guide.md +603 -603
  253. package/skills/engineering/render-deploy/references/deployment-details.md +224 -224
  254. package/skills/engineering/render-deploy/references/direct-creation.md +113 -113
  255. package/skills/engineering/render-deploy/references/error-patterns.md +13 -13
  256. package/skills/engineering/render-deploy/references/post-deploy-checks.md +36 -36
  257. package/skills/engineering/render-deploy/references/runtimes.md +473 -473
  258. package/skills/engineering/render-deploy/references/service-types.md +450 -450
  259. package/skills/engineering/render-deploy/references/troubleshooting-basics.md +36 -36
  260. package/skills/engineering/repomix/SKILL.md +215 -215
  261. package/skills/engineering/repomix/references/configuration.md +211 -211
  262. package/skills/engineering/repomix/references/usage-patterns.md +232 -232
  263. package/skills/engineering/repomix/scripts/README.md +179 -179
  264. package/skills/engineering/repomix/scripts/repomix_batch.py +455 -455
  265. package/skills/engineering/repomix/scripts/repos.example.json +15 -15
  266. package/skills/engineering/repomix/scripts/requirements.txt +15 -15
  267. package/skills/engineering/repomix/scripts/tests/test_repomix_batch.py +531 -531
  268. package/skills/engineering/setup-matt-pocock-skills/SKILL.md +121 -121
  269. package/skills/engineering/setup-matt-pocock-skills/domain.md +51 -51
  270. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +22 -22
  271. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +23 -23
  272. package/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +19 -19
  273. package/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -15
  274. package/skills/engineering/shopify/README.md +66 -66
  275. package/skills/engineering/shopify/SKILL.md +319 -319
  276. package/skills/engineering/shopify/references/app-development.md +470 -470
  277. package/skills/engineering/shopify/references/extensions.md +493 -493
  278. package/skills/engineering/shopify/references/themes.md +498 -498
  279. package/skills/engineering/shopify/scripts/requirements.txt +19 -19
  280. package/skills/engineering/shopify/scripts/shopify_init.py +423 -423
  281. package/skills/engineering/shopify/scripts/tests/test_shopify_init.py +385 -385
  282. package/skills/engineering/tdd/SKILL.md +109 -109
  283. package/skills/engineering/tdd/deep-modules.md +33 -33
  284. package/skills/engineering/tdd/interface-design.md +31 -31
  285. package/skills/engineering/tdd/mocking.md +59 -59
  286. package/skills/engineering/tdd/refactoring.md +10 -10
  287. package/skills/engineering/tdd/tests.md +61 -61
  288. package/skills/engineering/to-issues/SKILL.md +81 -81
  289. package/skills/engineering/to-prd/SKILL.md +74 -74
  290. package/skills/engineering/triage/AGENT-BRIEF.md +168 -168
  291. package/skills/engineering/triage/OUT-OF-SCOPE.md +101 -101
  292. package/skills/engineering/triage/SKILL.md +103 -103
  293. package/skills/engineering/web-frameworks/SKILL.md +324 -324
  294. package/skills/engineering/web-frameworks/references/nextjs-app-router.md +465 -465
  295. package/skills/engineering/web-frameworks/references/nextjs-data-fetching.md +459 -459
  296. package/skills/engineering/web-frameworks/references/nextjs-optimization.md +511 -511
  297. package/skills/engineering/web-frameworks/references/nextjs-server-components.md +495 -495
  298. package/skills/engineering/web-frameworks/references/remix-icon-integration.md +603 -603
  299. package/skills/engineering/web-frameworks/references/turborepo-caching.md +551 -551
  300. package/skills/engineering/web-frameworks/references/turborepo-pipelines.md +517 -517
  301. package/skills/engineering/web-frameworks/references/turborepo-setup.md +542 -542
  302. package/skills/engineering/web-frameworks/scripts/nextjs_init.py +547 -547
  303. package/skills/engineering/web-frameworks/scripts/requirements.txt +16 -16
  304. package/skills/engineering/web-frameworks/scripts/tests/requirements.txt +3 -3
  305. package/skills/engineering/web-frameworks/scripts/tests/test_nextjs_init.py +319 -319
  306. package/skills/engineering/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -374
  307. package/skills/engineering/web-frameworks/scripts/turborepo_migrate.py +394 -394
  308. package/skills/engineering/write-a-skill/SKILL.md +117 -117
  309. package/skills/kilo-kit/SKILL.md +346 -346
  310. package/skills/kilo-kit/_template/SKILL.md +185 -185
  311. package/skills/kilo-kit/debugging/root-cause/SKILL.md +360 -360
  312. package/skills/kilo-kit/debugging/systematic/SKILL.md +339 -339
  313. package/skills/kilo-kit/debugging/verification/SKILL.md +424 -424
  314. package/skills/kilo-kit/development/backend/SKILL.md +540 -540
  315. package/skills/kilo-kit/development/security/SKILL.md +529 -529
  316. package/skills/kilo-kit/quality/code-review/SKILL.md +297 -297
  317. package/skills/kilo-kit/quality/testing/SKILL.md +540 -540
  318. package/skills/kilo-kit/references/output-formats.md +204 -204
  319. package/skills/kilo-kit/references/patterns.md +156 -156
  320. package/skills/kilo-kit/references/performance-benchmarks.md +90 -90
  321. package/skills/operations/chrome-devtools/SKILL.md +392 -392
  322. package/skills/operations/chrome-devtools/references/cdp-domains.md +694 -694
  323. package/skills/operations/chrome-devtools/references/performance-guide.md +940 -940
  324. package/skills/operations/chrome-devtools/references/puppeteer-reference.md +953 -953
  325. package/skills/operations/chrome-devtools/scripts/PERSISTENT-BROWSER.md +107 -107
  326. package/skills/operations/chrome-devtools/scripts/README.md +213 -213
  327. package/skills/operations/chrome-devtools/scripts/__tests__/selector.test.js +210 -210
  328. package/skills/operations/chrome-devtools/scripts/click.js +79 -79
  329. package/skills/operations/chrome-devtools/scripts/close-persistent.js +36 -36
  330. package/skills/operations/chrome-devtools/scripts/console.js +75 -75
  331. package/skills/operations/chrome-devtools/scripts/evaluate.js +49 -49
  332. package/skills/operations/chrome-devtools/scripts/fill.js +72 -72
  333. package/skills/operations/chrome-devtools/scripts/install-deps.sh +181 -181
  334. package/skills/operations/chrome-devtools/scripts/install.sh +83 -83
  335. package/skills/operations/chrome-devtools/scripts/launch-persistent.js +71 -71
  336. package/skills/operations/chrome-devtools/scripts/lib/browser.js +144 -144
  337. package/skills/operations/chrome-devtools/scripts/lib/selector.js +178 -178
  338. package/skills/operations/chrome-devtools/scripts/navigate.js +46 -46
  339. package/skills/operations/chrome-devtools/scripts/network.js +102 -102
  340. package/skills/operations/chrome-devtools/scripts/package-lock.json +1206 -1206
  341. package/skills/operations/chrome-devtools/scripts/package.json +15 -15
  342. package/skills/operations/chrome-devtools/scripts/performance.js +145 -145
  343. package/skills/operations/chrome-devtools/scripts/screenshot.js +180 -180
  344. package/skills/operations/chrome-devtools/scripts/snapshot.js +131 -131
  345. package/skills/operations/devops/.env.example +76 -76
  346. package/skills/operations/devops/SKILL.md +285 -285
  347. package/skills/operations/devops/references/browser-rendering.md +305 -305
  348. package/skills/operations/devops/references/cloudflare-d1-kv.md +123 -123
  349. package/skills/operations/devops/references/cloudflare-platform.md +271 -271
  350. package/skills/operations/devops/references/cloudflare-r2-storage.md +280 -280
  351. package/skills/operations/devops/references/cloudflare-workers-advanced.md +312 -312
  352. package/skills/operations/devops/references/cloudflare-workers-apis.md +309 -309
  353. package/skills/operations/devops/references/cloudflare-workers-basics.md +418 -418
  354. package/skills/operations/devops/references/docker-basics.md +297 -297
  355. package/skills/operations/devops/references/docker-compose.md +292 -292
  356. package/skills/operations/devops/references/gcloud-platform.md +297 -297
  357. package/skills/operations/devops/references/gcloud-services.md +304 -304
  358. package/skills/operations/devops/scripts/cloudflare_deploy.py +269 -269
  359. package/skills/operations/devops/scripts/docker_optimize.py +320 -320
  360. package/skills/operations/devops/scripts/requirements.txt +20 -20
  361. package/skills/operations/devops/scripts/tests/requirements.txt +3 -3
  362. package/skills/operations/devops/scripts/tests/test_cloudflare_deploy.py +285 -285
  363. package/skills/operations/devops/scripts/tests/test_docker_optimize.py +436 -436
  364. package/skills/operations/mcp-builder/LICENSE.txt +201 -201
  365. package/skills/operations/mcp-builder/SKILL.md +328 -328
  366. package/skills/operations/mcp-builder/reference/evaluation.md +601 -601
  367. package/skills/operations/mcp-builder/reference/mcp_best_practices.md +915 -915
  368. package/skills/operations/mcp-builder/reference/node_mcp_server.md +915 -915
  369. package/skills/operations/mcp-builder/reference/python_mcp_server.md +751 -751
  370. package/skills/operations/mcp-builder/scripts/connections.py +151 -151
  371. package/skills/operations/mcp-builder/scripts/evaluation.py +373 -373
  372. package/skills/operations/mcp-builder/scripts/example_evaluation.xml +22 -22
  373. package/skills/operations/mcp-builder/scripts/requirements.txt +2 -2
  374. package/skills/operations/mcp-management/README.md +219 -219
  375. package/skills/operations/mcp-management/SKILL.md +175 -175
  376. package/skills/operations/mcp-management/assets/tools.json +3043 -3043
  377. package/skills/operations/mcp-management/references/configuration.md +114 -114
  378. package/skills/operations/mcp-management/references/gemini-cli-integration.md +201 -201
  379. package/skills/operations/mcp-management/references/mcp-protocol.md +116 -116
  380. package/skills/operations/mcp-management/scripts/.env.example +10 -10
  381. package/skills/operations/mcp-management/scripts/cli.ts +155 -155
  382. package/skills/operations/mcp-management/scripts/dist/analyze-tools.js +70 -70
  383. package/skills/operations/mcp-management/scripts/dist/cli.js +131 -131
  384. package/skills/operations/mcp-management/scripts/dist/mcp-client.js +115 -115
  385. package/skills/operations/mcp-management/scripts/mcp-client.ts +163 -163
  386. package/skills/operations/mcp-management/scripts/package.json +18 -18
  387. package/skills/operations/mcp-management/scripts/tsconfig.json +15 -15
  388. package/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -62
  389. package/skills/problem-solving/defense-in-depth/SKILL.md +130 -130
  390. package/skills/problem-solving/inversion-exercise/SKILL.md +58 -58
  391. package/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -54
  392. package/skills/problem-solving/root-cause-tracing/SKILL.md +177 -177
  393. package/skills/problem-solving/root-cause-tracing/find-polluter.sh +63 -63
  394. package/skills/problem-solving/scale-game/SKILL.md +63 -63
  395. package/skills/problem-solving/sequential-thinking/README.md +118 -118
  396. package/skills/problem-solving/sequential-thinking/SKILL.md +93 -93
  397. package/skills/problem-solving/sequential-thinking/references/advanced.md +122 -122
  398. package/skills/problem-solving/sequential-thinking/references/examples.md +274 -274
  399. package/skills/problem-solving/simplification-cascades/SKILL.md +76 -76
  400. package/skills/problem-solving/when-stuck/SKILL.md +88 -88
  401. package/skills/productivity/caveman/SKILL.md +49 -49
  402. package/skills/productivity/grill-me/SKILL.md +10 -10
  403. package/skills/productivity/grill-with-docs/ADR-FORMAT.md +47 -47
  404. package/skills/productivity/grill-with-docs/CONTEXT-FORMAT.md +77 -77
  405. package/skills/productivity/grill-with-docs/SKILL.md +88 -88
  406. package/skills/productivity/writing-skills/graphviz-conventions.dot +171 -171
  407. package/skills/productivity/zoom-out/SKILL.md +7 -7
  408. package/skills/writing-docs/doc/LICENSE.txt +201 -201
  409. package/skills/writing-docs/doc/SKILL.md +80 -80
  410. package/skills/writing-docs/doc/agents/openai.yaml +6 -6
  411. package/skills/writing-docs/doc/assets/doc-small.svg +3 -3
  412. package/skills/writing-docs/doc/scripts/render_docx.py +296 -296
  413. package/skills/writing-docs/docx/LICENSE.txt +30 -30
  414. package/skills/writing-docs/docx/SKILL.md +196 -196
  415. package/skills/writing-docs/docx/docx-js.md +349 -349
  416. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
  417. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
  418. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
  419. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
  420. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
  421. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
  422. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
  423. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
  424. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
  425. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
  426. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
  427. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
  428. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
  429. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
  430. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
  431. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
  432. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
  433. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
  434. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
  435. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
  436. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
  437. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
  438. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
  439. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
  440. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
  441. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
  442. package/skills/writing-docs/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
  443. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
  444. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
  445. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
  446. package/skills/writing-docs/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
  447. package/skills/writing-docs/docx/ooxml/schemas/mce/mc.xsd +75 -75
  448. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
  449. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
  450. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
  451. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
  452. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
  453. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
  454. package/skills/writing-docs/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
  455. package/skills/writing-docs/docx/ooxml/scripts/pack.py +159 -159
  456. package/skills/writing-docs/docx/ooxml/scripts/unpack.py +29 -29
  457. package/skills/writing-docs/docx/ooxml/scripts/validate.py +69 -69
  458. package/skills/writing-docs/docx/ooxml/scripts/validation/__init__.py +15 -15
  459. package/skills/writing-docs/docx/ooxml/scripts/validation/base.py +951 -951
  460. package/skills/writing-docs/docx/ooxml/scripts/validation/docx.py +274 -274
  461. package/skills/writing-docs/docx/ooxml/scripts/validation/pptx.py +315 -315
  462. package/skills/writing-docs/docx/ooxml/scripts/validation/redlining.py +279 -279
  463. package/skills/writing-docs/docx/ooxml.md +609 -609
  464. package/skills/writing-docs/docx/scripts/__init__.py +1 -1
  465. package/skills/writing-docs/docx/scripts/document.py +1276 -1276
  466. package/skills/writing-docs/docx/scripts/templates/comments.xml +2 -2
  467. package/skills/writing-docs/docx/scripts/templates/commentsExtended.xml +2 -2
  468. package/skills/writing-docs/docx/scripts/templates/commentsExtensible.xml +2 -2
  469. package/skills/writing-docs/docx/scripts/templates/commentsIds.xml +2 -2
  470. package/skills/writing-docs/docx/scripts/templates/people.xml +2 -2
  471. package/skills/writing-docs/docx/scripts/utilities.py +374 -374
  472. package/skills/writing-docs/mermaidjs-v11/SKILL.md +115 -115
  473. package/skills/writing-docs/mermaidjs-v11/references/cli-usage.md +228 -228
  474. package/skills/writing-docs/mermaidjs-v11/references/configuration.md +232 -232
  475. package/skills/writing-docs/mermaidjs-v11/references/diagram-types.md +315 -315
  476. package/skills/writing-docs/mermaidjs-v11/references/examples.md +344 -344
  477. package/skills/writing-docs/mermaidjs-v11/references/integration.md +310 -310
  478. package/skills/writing-docs/pdf/LICENSE.txt +30 -30
  479. package/skills/writing-docs/pdf/SKILL.md +294 -294
  480. package/skills/writing-docs/pdf/forms.md +205 -205
  481. package/skills/writing-docs/pdf/reference.md +611 -611
  482. package/skills/writing-docs/pdf/scripts/check_bounding_boxes.py +70 -70
  483. package/skills/writing-docs/pdf/scripts/check_bounding_boxes_test.py +226 -226
  484. package/skills/writing-docs/pdf/scripts/check_fillable_fields.py +12 -12
  485. package/skills/writing-docs/pdf/scripts/convert_pdf_to_images.py +35 -35
  486. package/skills/writing-docs/pdf/scripts/create_validation_image.py +41 -41
  487. package/skills/writing-docs/pdf/scripts/extract_form_field_info.py +152 -152
  488. package/skills/writing-docs/pdf/scripts/fill_fillable_fields.py +114 -114
  489. package/skills/writing-docs/pdf/scripts/fill_pdf_form_with_annotations.py +107 -107
  490. package/skills/writing-docs/pptx/LICENSE.txt +30 -30
  491. package/skills/writing-docs/pptx/SKILL.md +483 -483
  492. package/skills/writing-docs/pptx/html2pptx.md +624 -624
  493. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
  494. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
  495. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
  496. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
  497. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
  498. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
  499. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
  500. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
  501. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
  502. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
  503. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
  504. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
  505. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
  506. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
  507. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
  508. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
  509. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
  510. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
  511. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
  512. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
  513. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
  514. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
  515. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
  516. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
  517. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
  518. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
  519. package/skills/writing-docs/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
  520. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
  521. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
  522. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
  523. package/skills/writing-docs/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
  524. package/skills/writing-docs/pptx/ooxml/schemas/mce/mc.xsd +75 -75
  525. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -560
  526. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -67
  527. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -14
  528. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -20
  529. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -13
  530. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
  531. package/skills/writing-docs/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -8
  532. package/skills/writing-docs/pptx/ooxml/scripts/pack.py +159 -159
  533. package/skills/writing-docs/pptx/ooxml/scripts/unpack.py +29 -29
  534. package/skills/writing-docs/pptx/ooxml/scripts/validate.py +69 -69
  535. package/skills/writing-docs/pptx/ooxml/scripts/validation/__init__.py +15 -15
  536. package/skills/writing-docs/pptx/ooxml/scripts/validation/base.py +951 -951
  537. package/skills/writing-docs/pptx/ooxml/scripts/validation/docx.py +274 -274
  538. package/skills/writing-docs/pptx/ooxml/scripts/validation/pptx.py +315 -315
  539. package/skills/writing-docs/pptx/ooxml/scripts/validation/redlining.py +279 -279
  540. package/skills/writing-docs/pptx/ooxml.md +426 -426
  541. package/skills/writing-docs/pptx/scripts/html2pptx.js +978 -978
  542. package/skills/writing-docs/pptx/scripts/inventory.py +1020 -1020
  543. package/skills/writing-docs/pptx/scripts/rearrange.py +231 -231
  544. package/skills/writing-docs/pptx/scripts/replace.py +385 -385
  545. package/skills/writing-docs/pptx/scripts/thumbnail.py +450 -450
  546. package/skills/writing-docs/slides/LICENSE.txt +201 -201
  547. package/skills/writing-docs/slides/SKILL.md +71 -71
  548. package/skills/writing-docs/slides/agents/openai.yaml +6 -6
  549. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/code.js +104 -104
  550. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/image.js +333 -333
  551. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/index.js +33 -33
  552. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/latex.js +51 -51
  553. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout.js +643 -643
  554. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/layout_builders.js +358 -358
  555. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/svg.js +36 -36
  556. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/text.js +789 -789
  557. package/skills/writing-docs/slides/assets/pptxgenjs_helpers/util.js +24 -24
  558. package/skills/writing-docs/slides/assets/slides-small.svg +3 -3
  559. package/skills/writing-docs/slides/references/pptxgenjs-helpers.md +61 -61
  560. package/skills/writing-docs/slides/scripts/create_montage.py +300 -300
  561. package/skills/writing-docs/slides/scripts/detect_font.py +873 -873
  562. package/skills/writing-docs/slides/scripts/ensure_raster_image.py +202 -202
  563. package/skills/writing-docs/slides/scripts/render_slides.py +273 -273
  564. package/skills/writing-docs/slides/scripts/slides_test.py +201 -201
  565. package/skills/writing-docs/template-skill/SKILL.md +26 -26
  566. package/skills/writing-docs/xlsx/LICENSE.txt +30 -30
  567. package/skills/writing-docs/xlsx/SKILL.md +288 -288
  568. package/skills/writing-docs/xlsx/recalc.py +177 -177
  569. package/src/core/KILO_MASTER.md +448 -448
  570. package/src/tools/validate-skill.js +421 -421
@@ -1,718 +1,718 @@
1
- # Render Blueprint Specification
2
-
3
- Complete reference for render.yaml Blueprint files. Blueprints define your infrastructure as code for reproducible deployments on Render.
4
-
5
- ## Overview
6
-
7
- A Blueprint is a YAML file (typically `render.yaml`) placed in your repository root that describes:
8
- - Services (web, worker, cron, static, private)
9
- - Databases (PostgreSQL, Redis)
10
- - Environment variables and secrets
11
- - Scaling and resource configuration
12
- - Project organization
13
-
14
- ## Root-Level Structure
15
-
16
- ```yaml
17
- # Top-level fields
18
- services: [] # Array of service definitions
19
- databases: [] # Array of PostgreSQL databases
20
- envVarGroups: [] # Reusable environment variable groups (optional)
21
- projects: [] # Project organization (optional)
22
- ungrouped: [] # Resources outside projects (optional)
23
- previews: # Preview environment configuration (optional)
24
- generation: auto_preview | manual | none
25
- ```
26
-
27
- ## Service Types
28
-
29
- ### Web Services (`type: web`)
30
-
31
- HTTP services, APIs, and web applications. Publicly accessible via HTTPS.
32
-
33
- **Required fields:**
34
- - `name`: Unique service identifier
35
- - `type`: Must be `web`
36
- - `runtime`: Language/environment (see Runtimes section)
37
- - `buildCommand`: Command to build the application
38
- - `startCommand`: Command to start the server
39
-
40
- **Common optional fields:**
41
- - `plan`: Instance type (default: `free`)
42
- - `region`: Deployment region (default: `oregon`)
43
- - `branch`: Git branch to deploy (default: `main`)
44
- - `autoDeploy`: Auto-deploy on push (default: `true`)
45
- - `envVars`: Environment variables array
46
- - `healthCheckPath`: Health check endpoint (default: `/`)
47
- - `numInstances`: Number of instances (manual scaling)
48
- - `scaling`: Autoscaling configuration
49
-
50
- **Example:**
51
- ```yaml
52
- services:
53
- - type: web
54
- name: api-server
55
- runtime: node
56
- plan: free
57
- buildCommand: npm ci
58
- startCommand: npm start
59
- branch: main
60
- autoDeploy: true
61
- envVars:
62
- - key: NODE_ENV
63
- value: production
64
- - key: PORT
65
- value: 10000
66
- ```
67
-
68
- ### Worker Services (`type: worker`)
69
-
70
- Background job processors, queue consumers. Not publicly accessible.
71
-
72
- **Required fields:**
73
- - `name`: Unique service identifier
74
- - `type`: Must be `worker`
75
- - `runtime`: Language/environment
76
- - `buildCommand`: Command to build
77
- - `startCommand`: Command to start worker process
78
-
79
- **Key differences from web services:**
80
- - No public URL
81
- - No health checks
82
- - No port binding required
83
-
84
- **Example:**
85
- ```yaml
86
- services:
87
- - type: worker
88
- name: job-processor
89
- runtime: python
90
- plan: free
91
- buildCommand: pip install -r requirements.txt
92
- startCommand: celery -A tasks worker --loglevel=info
93
- envVars:
94
- - key: REDIS_URL
95
- fromDatabase:
96
- name: redis
97
- property: connectionString
98
- ```
99
-
100
- ### Cron Jobs (`type: cron`)
101
-
102
- Scheduled tasks that run on a cron schedule.
103
-
104
- **Required fields:**
105
- - `name`: Unique service identifier
106
- - `type`: Must be `cron`
107
- - `runtime`: Language/environment
108
- - `schedule`: Cron expression
109
- - `buildCommand`: Command to build
110
- - `startCommand`: Command to execute on schedule
111
-
112
- **Schedule format:** Standard cron syntax (minute hour day month weekday)
113
-
114
- **Examples:**
115
- - `0 0 * * *` - Daily at midnight UTC
116
- - `*/15 * * * *` - Every 15 minutes
117
- - `0 9 * * 1` - Every Monday at 9 AM UTC
118
-
119
- **Example:**
120
- ```yaml
121
- services:
122
- - type: cron
123
- name: daily-backup
124
- runtime: node
125
- schedule: "0 2 * * *"
126
- buildCommand: npm ci
127
- startCommand: node scripts/backup.js
128
- envVars:
129
- - key: DATABASE_URL
130
- fromDatabase:
131
- name: postgres
132
- property: connectionString
133
- ```
134
-
135
- ### Static Sites (`type: static` or `type: web` with `runtime: static`)
136
-
137
- Serve static HTML/CSS/JS files via CDN.
138
-
139
- **Required fields:**
140
- - `name`: Unique service identifier
141
- - `type`: `web`
142
- - `runtime`: `static`
143
- - `buildCommand`: Command to build static assets
144
- - `staticPublishPath`: Path to built files (e.g., `./build`, `./dist`)
145
-
146
- **Optional configuration:**
147
- - `routes`: Routing rules for SPAs
148
- - `headers`: Custom HTTP headers
149
- - `buildFilter`: Path filters for build triggers
150
-
151
- **Example:**
152
- ```yaml
153
- services:
154
- - type: web
155
- name: react-app
156
- runtime: static
157
- buildCommand: npm ci && npm run build
158
- staticPublishPath: ./dist
159
- routes:
160
- - type: rewrite
161
- source: /*
162
- destination: /index.html
163
- headers:
164
- - path: /*
165
- name: Cache-Control
166
- value: public, max-age=31536000, immutable
167
- ```
168
-
169
- ### Private Services (`type: pserv`)
170
-
171
- Internal services accessible only within your Render account.
172
-
173
- **Required fields:**
174
- - `name`: Unique service identifier
175
- - `type`: Must be `pserv`
176
- - `runtime`: Language/environment
177
- - `buildCommand`: Command to build
178
- - `startCommand`: Command to start
179
-
180
- **Use cases:**
181
- - Internal APIs
182
- - Database proxies
183
- - Microservices not exposed to internet
184
-
185
- **Example:**
186
- ```yaml
187
- services:
188
- - type: pserv
189
- name: internal-api
190
- runtime: go
191
- plan: free
192
- buildCommand: go build -o bin/app
193
- startCommand: ./bin/app
194
- ```
195
-
196
- ## Runtimes
197
-
198
- ### Native Runtimes
199
-
200
- **Node.js (`runtime: node`):**
201
- - Versions: 14, 16, 18, 20, 21
202
- - Default version: 20
203
- - Specify version in `package.json` engines field
204
-
205
- **Python (`runtime: python`):**
206
- - Versions: 3.8, 3.9, 3.10, 3.11, 3.12
207
- - Default version: 3.11
208
- - Specify version in `runtime.txt` or `Pipfile`
209
-
210
- **Go (`runtime: go`):**
211
- - Versions: 1.20, 1.21, 1.22, 1.23
212
- - Uses go modules
213
- - Version from `go.mod`
214
-
215
- **Ruby (`runtime: ruby`):**
216
- - Versions: 3.0, 3.1, 3.2, 3.3
217
- - Uses Bundler
218
- - Version from `.ruby-version` or `Gemfile`
219
-
220
- **Rust (`runtime: rust`):**
221
- - Latest stable version
222
- - Uses Cargo
223
-
224
- **Elixir (`runtime: elixir`):**
225
- - Latest stable version
226
- - Uses Mix
227
-
228
- ### Docker Runtime
229
-
230
- **Docker (`runtime: docker`):**
231
- Build from a Dockerfile in your repository.
232
-
233
- **Additional fields:**
234
- - `dockerfilePath`: Path to Dockerfile (default: `./Dockerfile`)
235
- - `dockerContext`: Build context directory (default: `.`)
236
-
237
- **Example:**
238
- ```yaml
239
- services:
240
- - type: web
241
- name: docker-app
242
- runtime: docker
243
- dockerfilePath: ./docker/Dockerfile
244
- dockerContext: .
245
- plan: free
246
- ```
247
-
248
- **Image (`runtime: image`):**
249
- Deploy pre-built Docker images from a registry.
250
-
251
- **Additional fields:**
252
- - `image`: Image URL (e.g., `registry.com/image:tag`)
253
- - `registryCredential`: Credentials for private registries
254
-
255
- **Example:**
256
- ```yaml
257
- services:
258
- - type: web
259
- name: prebuilt-app
260
- runtime: image
261
- image: myregistry.com/app:v1.2.3
262
- plan: free
263
- ```
264
-
265
- ## Service Plans
266
-
267
- Available instance types:
268
-
269
- | Plan | RAM | CPU | Price |
270
- |------|-----|-----|-------|
271
- | `free` | 512 MB | 0.5 | Free (750 hrs/mo) |
272
- | `starter` | 512 MB | 0.5 | $7/month |
273
- | `standard` | 2 GB | 1 | $25/month |
274
- | `pro` | 4 GB | 2 | $85/month |
275
- | `pro_plus` | 8 GB | 4 | $175/month |
276
-
277
- **Always default to `plan: free` unless user specifies otherwise.**
278
-
279
- ## Regions
280
-
281
- Available deployment regions:
282
-
283
- - `oregon` (US West) - Default
284
- - `ohio` (US East)
285
- - `virginia` (US East)
286
- - `frankfurt` (EU)
287
- - `singapore` (Asia)
288
-
289
- **Example:**
290
- ```yaml
291
- services:
292
- - type: web
293
- name: my-app
294
- runtime: node
295
- region: frankfurt
296
- ```
297
-
298
- ## Environment Variables
299
-
300
- Three patterns for defining environment variables:
301
-
302
- ### 1. Hardcoded Values
303
-
304
- For non-sensitive configuration:
305
-
306
- ```yaml
307
- envVars:
308
- - key: NODE_ENV
309
- value: production
310
- - key: API_URL
311
- value: https://api.example.com
312
- - key: LOG_LEVEL
313
- value: info
314
- ```
315
-
316
- ### 2. Generated Secrets
317
-
318
- Render generates a base64-encoded 256-bit random value:
319
-
320
- ```yaml
321
- envVars:
322
- - key: SESSION_SECRET
323
- generateValue: true
324
- - key: ENCRYPTION_KEY
325
- generateValue: true
326
- ```
327
-
328
- ### 3. User-Provided Secrets
329
-
330
- Prompt user for values during Blueprint creation:
331
-
332
- ```yaml
333
- envVars:
334
- - key: STRIPE_SECRET_KEY
335
- sync: false
336
- - key: JWT_SECRET
337
- sync: false
338
- - key: API_KEY
339
- sync: false
340
- ```
341
-
342
- **The `sync: false` flag means "user will fill this in the Dashboard".**
343
-
344
- ### 4. Database References
345
-
346
- Link to database connection strings:
347
-
348
- ```yaml
349
- envVars:
350
- - key: DATABASE_URL
351
- fromDatabase:
352
- name: postgres
353
- property: connectionString
354
- - key: REDIS_URL
355
- fromDatabase:
356
- name: redis
357
- property: connectionString
358
- ```
359
-
360
- **Available properties:**
361
- - `connectionString`: Full connection URL
362
- - `host`: Database host
363
- - `port`: Database port
364
- - `user`: Database username
365
- - `password`: Database password
366
- - `database`: Database name
367
- - `hostport`: Combined `host:port`
368
-
369
- ### 5. Service References
370
-
371
- Link to other services:
372
-
373
- ```yaml
374
- envVars:
375
- - key: API_URL
376
- fromService:
377
- name: api-server
378
- type: web
379
- property: host
380
- ```
381
-
382
- ### 6. Environment Variable Groups
383
-
384
- Reusable groups shared across services:
385
-
386
- ```yaml
387
- envVarGroups:
388
- - name: shared-config
389
- envVars:
390
- - key: LOG_LEVEL
391
- value: info
392
- - key: ENVIRONMENT
393
- value: production
394
-
395
- services:
396
- - type: web
397
- name: web-app
398
- runtime: node
399
- envVars:
400
- - fromGroup: shared-config
401
- - key: PORT
402
- value: 10000
403
- ```
404
-
405
- ## Databases
406
-
407
- ### PostgreSQL
408
-
409
- ```yaml
410
- databases:
411
- - name: postgres
412
- databaseName: myapp_prod
413
- user: myapp_user
414
- plan: free
415
- postgresMajorVersion: "15"
416
- ipAllowList: []
417
- ```
418
-
419
- **Plans:**
420
- - `free`: 1 GB storage, 97 MB RAM, 0.1 CPU
421
- - `basic-256mb`, `basic-512mb`, `basic-1gb`, `basic-4gb`
422
- - `pro-4gb`, `pro-8gb`, `pro-16gb`, etc.
423
- - `accelerated-4gb`, `accelerated-8gb`, etc. (SSD-backed)
424
-
425
- **Key fields:**
426
- - `name`: Identifier for references
427
- - `databaseName`: Actual PostgreSQL database name
428
- - `user`: Database username
429
- - `postgresMajorVersion`: PostgreSQL version (11-16)
430
- - `ipAllowList`: Array of CIDR blocks (empty = internal only)
431
- - `diskSizeGB`: Storage size (paid plans only)
432
-
433
- **High Availability (paid plans):**
434
- ```yaml
435
- databases:
436
- - name: postgres
437
- databaseName: myapp_prod
438
- plan: pro-4gb
439
- highAvailabilityEnabled: true
440
- ```
441
-
442
- **Read Replicas (paid plans):**
443
- ```yaml
444
- databases:
445
- - name: postgres
446
- databaseName: myapp_prod
447
- plan: pro-4gb
448
- readReplicas:
449
- - name: read-replica-1
450
- region: ohio
451
- - name: read-replica-2
452
- region: frankfurt
453
- ```
454
-
455
- ### Redis (Key-Value Store)
456
-
457
- ```yaml
458
- databases:
459
- - name: redis
460
- plan: free
461
- maxmemoryPolicy: allkeys-lru
462
- ipAllowList: []
463
- ```
464
-
465
- **Plans:** Same as PostgreSQL
466
-
467
- **maxmemoryPolicy options:**
468
- - `allkeys-lru`: Evict least recently used keys
469
- - `volatile-lru`: Evict LRU keys with TTL
470
- - `allkeys-random`: Evict random keys
471
- - `volatile-random`: Evict random keys with TTL
472
- - `volatile-ttl`: Evict keys with soonest TTL
473
- - `noeviction`: Return errors when memory full
474
-
475
- ## Scaling
476
-
477
- ### Manual Scaling
478
-
479
- Fixed number of instances:
480
-
481
- ```yaml
482
- services:
483
- - type: web
484
- name: my-app
485
- runtime: node
486
- plan: standard
487
- numInstances: 3
488
- ```
489
-
490
- ### Autoscaling
491
-
492
- Dynamic scaling based on CPU/memory (Professional workspace required):
493
-
494
- ```yaml
495
- services:
496
- - type: web
497
- name: my-app
498
- runtime: node
499
- plan: standard
500
- scaling:
501
- minInstances: 1
502
- maxInstances: 5
503
- targetCPUPercent: 60
504
- targetMemoryPercent: 70
505
- ```
506
-
507
- **Notes:**
508
- - Autoscaling disabled in preview environments
509
- - Preview environments run `minInstances` count
510
- - Requires Professional or higher workspace
511
-
512
- ## Health Checks
513
-
514
- Configure health check endpoints:
515
-
516
- ```yaml
517
- services:
518
- - type: web
519
- name: my-app
520
- runtime: node
521
- healthCheckPath: /health
522
- ```
523
-
524
- **Default:** `/` (root path)
525
-
526
- **Recommended:** Add a dedicated `/health` endpoint that returns `200 OK`.
527
-
528
- ## Build Filters
529
-
530
- Control when builds are triggered based on changed files:
531
-
532
- ```yaml
533
- services:
534
- - type: web
535
- name: frontend
536
- runtime: static
537
- buildFilter:
538
- paths:
539
- - frontend/**
540
- ignoredPaths:
541
- - frontend/README.md
542
- - frontend/**/*.test.js
543
- ```
544
-
545
- **Behavior:**
546
- - If `paths` specified: Build only when files in those paths change
547
- - If `ignoredPaths` specified: Don't build when only ignored files change
548
-
549
- ## Projects and Environments
550
-
551
- Organize services into projects with multiple environments:
552
-
553
- ```yaml
554
- projects:
555
- - name: my-application
556
- environments:
557
- - name: production
558
- services:
559
- - type: web
560
- name: prod-api
561
- runtime: node
562
- plan: pro
563
- buildCommand: npm ci
564
- startCommand: npm start
565
- databases:
566
- - name: prod-postgres
567
- plan: pro-4gb
568
- networking:
569
- isolation: enabled
570
- permissions:
571
- protection: enabled
572
-
573
- - name: staging
574
- services:
575
- - type: web
576
- name: staging-api
577
- runtime: node
578
- plan: starter
579
- buildCommand: npm ci
580
- startCommand: npm start
581
- databases:
582
- - name: staging-postgres
583
- plan: free
584
- ```
585
-
586
- **Environment features:**
587
- - `networking.isolation`: Enable network isolation between environments
588
- - `permissions.protection`: Require approval for environment changes
589
-
590
- ## Preview Environments
591
-
592
- Configure automatic preview environments for pull requests:
593
-
594
- ```yaml
595
- previews:
596
- generation: auto_preview # auto_preview | manual | none
597
- ```
598
-
599
- **Options:**
600
- - `auto_preview`: Create preview environment for each PR automatically
601
- - `manual`: User manually triggers preview creation
602
- - `none`: Disable preview environments
603
-
604
- ## Complete Example
605
-
606
- Full-featured Blueprint with multiple services and databases:
607
-
608
- ```yaml
609
- services:
610
- # Web service
611
- - type: web
612
- name: web-app
613
- runtime: node
614
- plan: free
615
- region: oregon
616
- buildCommand: npm ci && npm run build
617
- startCommand: npm start
618
- branch: main
619
- autoDeploy: true
620
- healthCheckPath: /health
621
- envVars:
622
- - key: NODE_ENV
623
- value: production
624
- - key: DATABASE_URL
625
- fromDatabase:
626
- name: postgres
627
- property: connectionString
628
- - key: REDIS_URL
629
- fromDatabase:
630
- name: redis
631
- property: connectionString
632
- - key: JWT_SECRET
633
- sync: false
634
-
635
- # Background worker
636
- - type: worker
637
- name: queue-worker
638
- runtime: node
639
- plan: free
640
- buildCommand: npm ci
641
- startCommand: node worker.js
642
- envVars:
643
- - key: REDIS_URL
644
- fromDatabase:
645
- name: redis
646
- property: connectionString
647
-
648
- # Cron job
649
- - type: cron
650
- name: daily-cleanup
651
- runtime: node
652
- schedule: "0 3 * * *"
653
- buildCommand: npm ci
654
- startCommand: node scripts/cleanup.js
655
- envVars:
656
- - key: DATABASE_URL
657
- fromDatabase:
658
- name: postgres
659
- property: connectionString
660
-
661
- # Static frontend
662
- - type: web
663
- name: frontend
664
- runtime: static
665
- buildCommand: npm ci && npm run build
666
- staticPublishPath: ./dist
667
- routes:
668
- - type: rewrite
669
- source: /*
670
- destination: /index.html
671
-
672
- databases:
673
- - name: postgres
674
- databaseName: app_production
675
- user: app_user
676
- plan: free
677
- postgresMajorVersion: "15"
678
- ipAllowList: []
679
-
680
- - name: redis
681
- plan: free
682
- maxmemoryPolicy: allkeys-lru
683
- ipAllowList: []
684
- ```
685
-
686
- ## Validation
687
-
688
- Validate your Blueprint before deploying (when CLI command is available):
689
-
690
- ```bash
691
- render blueprint validate
692
- ```
693
-
694
- **Common validation errors:**
695
- - Missing required fields
696
- - Invalid runtime values
697
- - Incorrect environment variable references
698
- - Invalid cron expressions
699
- - Invalid YAML syntax
700
-
701
- ## Best Practices
702
-
703
- 1. **Always use `plan: free` by default** - Let users upgrade if needed
704
- 2. **Mark all secrets with `sync: false`** - Never hardcode sensitive values
705
- 3. **Use `fromDatabase` for database URLs** - Automatic internal connection strings
706
- 4. **Add health check endpoints** - Faster deployment detection
707
- 5. **Use non-interactive build commands** - Prevents build hangs
708
- 6. **Bind to `0.0.0.0:$PORT`** - Required for web services
709
- 7. **Use environment variable groups** - Share config across services
710
- 8. **Enable autoDeploy: true** - Deploy automatically on push
711
- 9. **Set appropriate regions** - Choose closest to your users
712
- 10. **Use build filters** - Optimize build triggers in monorepos
713
-
714
- ## Additional Resources
715
-
716
- - Official Blueprint Specification: https://render.com/docs/blueprint-spec
717
- - Render CLI Documentation: https://render.com/docs/cli
718
- - Environment Variables Guide: https://render.com/docs/environment-variables
1
+ # Render Blueprint Specification
2
+
3
+ Complete reference for render.yaml Blueprint files. Blueprints define your infrastructure as code for reproducible deployments on Render.
4
+
5
+ ## Overview
6
+
7
+ A Blueprint is a YAML file (typically `render.yaml`) placed in your repository root that describes:
8
+ - Services (web, worker, cron, static, private)
9
+ - Databases (PostgreSQL, Redis)
10
+ - Environment variables and secrets
11
+ - Scaling and resource configuration
12
+ - Project organization
13
+
14
+ ## Root-Level Structure
15
+
16
+ ```yaml
17
+ # Top-level fields
18
+ services: [] # Array of service definitions
19
+ databases: [] # Array of PostgreSQL databases
20
+ envVarGroups: [] # Reusable environment variable groups (optional)
21
+ projects: [] # Project organization (optional)
22
+ ungrouped: [] # Resources outside projects (optional)
23
+ previews: # Preview environment configuration (optional)
24
+ generation: auto_preview | manual | none
25
+ ```
26
+
27
+ ## Service Types
28
+
29
+ ### Web Services (`type: web`)
30
+
31
+ HTTP services, APIs, and web applications. Publicly accessible via HTTPS.
32
+
33
+ **Required fields:**
34
+ - `name`: Unique service identifier
35
+ - `type`: Must be `web`
36
+ - `runtime`: Language/environment (see Runtimes section)
37
+ - `buildCommand`: Command to build the application
38
+ - `startCommand`: Command to start the server
39
+
40
+ **Common optional fields:**
41
+ - `plan`: Instance type (default: `free`)
42
+ - `region`: Deployment region (default: `oregon`)
43
+ - `branch`: Git branch to deploy (default: `main`)
44
+ - `autoDeploy`: Auto-deploy on push (default: `true`)
45
+ - `envVars`: Environment variables array
46
+ - `healthCheckPath`: Health check endpoint (default: `/`)
47
+ - `numInstances`: Number of instances (manual scaling)
48
+ - `scaling`: Autoscaling configuration
49
+
50
+ **Example:**
51
+ ```yaml
52
+ services:
53
+ - type: web
54
+ name: api-server
55
+ runtime: node
56
+ plan: free
57
+ buildCommand: npm ci
58
+ startCommand: npm start
59
+ branch: main
60
+ autoDeploy: true
61
+ envVars:
62
+ - key: NODE_ENV
63
+ value: production
64
+ - key: PORT
65
+ value: 10000
66
+ ```
67
+
68
+ ### Worker Services (`type: worker`)
69
+
70
+ Background job processors, queue consumers. Not publicly accessible.
71
+
72
+ **Required fields:**
73
+ - `name`: Unique service identifier
74
+ - `type`: Must be `worker`
75
+ - `runtime`: Language/environment
76
+ - `buildCommand`: Command to build
77
+ - `startCommand`: Command to start worker process
78
+
79
+ **Key differences from web services:**
80
+ - No public URL
81
+ - No health checks
82
+ - No port binding required
83
+
84
+ **Example:**
85
+ ```yaml
86
+ services:
87
+ - type: worker
88
+ name: job-processor
89
+ runtime: python
90
+ plan: free
91
+ buildCommand: pip install -r requirements.txt
92
+ startCommand: celery -A tasks worker --loglevel=info
93
+ envVars:
94
+ - key: REDIS_URL
95
+ fromDatabase:
96
+ name: redis
97
+ property: connectionString
98
+ ```
99
+
100
+ ### Cron Jobs (`type: cron`)
101
+
102
+ Scheduled tasks that run on a cron schedule.
103
+
104
+ **Required fields:**
105
+ - `name`: Unique service identifier
106
+ - `type`: Must be `cron`
107
+ - `runtime`: Language/environment
108
+ - `schedule`: Cron expression
109
+ - `buildCommand`: Command to build
110
+ - `startCommand`: Command to execute on schedule
111
+
112
+ **Schedule format:** Standard cron syntax (minute hour day month weekday)
113
+
114
+ **Examples:**
115
+ - `0 0 * * *` - Daily at midnight UTC
116
+ - `*/15 * * * *` - Every 15 minutes
117
+ - `0 9 * * 1` - Every Monday at 9 AM UTC
118
+
119
+ **Example:**
120
+ ```yaml
121
+ services:
122
+ - type: cron
123
+ name: daily-backup
124
+ runtime: node
125
+ schedule: "0 2 * * *"
126
+ buildCommand: npm ci
127
+ startCommand: node scripts/backup.js
128
+ envVars:
129
+ - key: DATABASE_URL
130
+ fromDatabase:
131
+ name: postgres
132
+ property: connectionString
133
+ ```
134
+
135
+ ### Static Sites (`type: static` or `type: web` with `runtime: static`)
136
+
137
+ Serve static HTML/CSS/JS files via CDN.
138
+
139
+ **Required fields:**
140
+ - `name`: Unique service identifier
141
+ - `type`: `web`
142
+ - `runtime`: `static`
143
+ - `buildCommand`: Command to build static assets
144
+ - `staticPublishPath`: Path to built files (e.g., `./build`, `./dist`)
145
+
146
+ **Optional configuration:**
147
+ - `routes`: Routing rules for SPAs
148
+ - `headers`: Custom HTTP headers
149
+ - `buildFilter`: Path filters for build triggers
150
+
151
+ **Example:**
152
+ ```yaml
153
+ services:
154
+ - type: web
155
+ name: react-app
156
+ runtime: static
157
+ buildCommand: npm ci && npm run build
158
+ staticPublishPath: ./dist
159
+ routes:
160
+ - type: rewrite
161
+ source: /*
162
+ destination: /index.html
163
+ headers:
164
+ - path: /*
165
+ name: Cache-Control
166
+ value: public, max-age=31536000, immutable
167
+ ```
168
+
169
+ ### Private Services (`type: pserv`)
170
+
171
+ Internal services accessible only within your Render account.
172
+
173
+ **Required fields:**
174
+ - `name`: Unique service identifier
175
+ - `type`: Must be `pserv`
176
+ - `runtime`: Language/environment
177
+ - `buildCommand`: Command to build
178
+ - `startCommand`: Command to start
179
+
180
+ **Use cases:**
181
+ - Internal APIs
182
+ - Database proxies
183
+ - Microservices not exposed to internet
184
+
185
+ **Example:**
186
+ ```yaml
187
+ services:
188
+ - type: pserv
189
+ name: internal-api
190
+ runtime: go
191
+ plan: free
192
+ buildCommand: go build -o bin/app
193
+ startCommand: ./bin/app
194
+ ```
195
+
196
+ ## Runtimes
197
+
198
+ ### Native Runtimes
199
+
200
+ **Node.js (`runtime: node`):**
201
+ - Versions: 14, 16, 18, 20, 21
202
+ - Default version: 20
203
+ - Specify version in `package.json` engines field
204
+
205
+ **Python (`runtime: python`):**
206
+ - Versions: 3.8, 3.9, 3.10, 3.11, 3.12
207
+ - Default version: 3.11
208
+ - Specify version in `runtime.txt` or `Pipfile`
209
+
210
+ **Go (`runtime: go`):**
211
+ - Versions: 1.20, 1.21, 1.22, 1.23
212
+ - Uses go modules
213
+ - Version from `go.mod`
214
+
215
+ **Ruby (`runtime: ruby`):**
216
+ - Versions: 3.0, 3.1, 3.2, 3.3
217
+ - Uses Bundler
218
+ - Version from `.ruby-version` or `Gemfile`
219
+
220
+ **Rust (`runtime: rust`):**
221
+ - Latest stable version
222
+ - Uses Cargo
223
+
224
+ **Elixir (`runtime: elixir`):**
225
+ - Latest stable version
226
+ - Uses Mix
227
+
228
+ ### Docker Runtime
229
+
230
+ **Docker (`runtime: docker`):**
231
+ Build from a Dockerfile in your repository.
232
+
233
+ **Additional fields:**
234
+ - `dockerfilePath`: Path to Dockerfile (default: `./Dockerfile`)
235
+ - `dockerContext`: Build context directory (default: `.`)
236
+
237
+ **Example:**
238
+ ```yaml
239
+ services:
240
+ - type: web
241
+ name: docker-app
242
+ runtime: docker
243
+ dockerfilePath: ./docker/Dockerfile
244
+ dockerContext: .
245
+ plan: free
246
+ ```
247
+
248
+ **Image (`runtime: image`):**
249
+ Deploy pre-built Docker images from a registry.
250
+
251
+ **Additional fields:**
252
+ - `image`: Image URL (e.g., `registry.com/image:tag`)
253
+ - `registryCredential`: Credentials for private registries
254
+
255
+ **Example:**
256
+ ```yaml
257
+ services:
258
+ - type: web
259
+ name: prebuilt-app
260
+ runtime: image
261
+ image: myregistry.com/app:v1.2.3
262
+ plan: free
263
+ ```
264
+
265
+ ## Service Plans
266
+
267
+ Available instance types:
268
+
269
+ | Plan | RAM | CPU | Price |
270
+ |------|-----|-----|-------|
271
+ | `free` | 512 MB | 0.5 | Free (750 hrs/mo) |
272
+ | `starter` | 512 MB | 0.5 | $7/month |
273
+ | `standard` | 2 GB | 1 | $25/month |
274
+ | `pro` | 4 GB | 2 | $85/month |
275
+ | `pro_plus` | 8 GB | 4 | $175/month |
276
+
277
+ **Always default to `plan: free` unless user specifies otherwise.**
278
+
279
+ ## Regions
280
+
281
+ Available deployment regions:
282
+
283
+ - `oregon` (US West) - Default
284
+ - `ohio` (US East)
285
+ - `virginia` (US East)
286
+ - `frankfurt` (EU)
287
+ - `singapore` (Asia)
288
+
289
+ **Example:**
290
+ ```yaml
291
+ services:
292
+ - type: web
293
+ name: my-app
294
+ runtime: node
295
+ region: frankfurt
296
+ ```
297
+
298
+ ## Environment Variables
299
+
300
+ Three patterns for defining environment variables:
301
+
302
+ ### 1. Hardcoded Values
303
+
304
+ For non-sensitive configuration:
305
+
306
+ ```yaml
307
+ envVars:
308
+ - key: NODE_ENV
309
+ value: production
310
+ - key: API_URL
311
+ value: https://api.example.com
312
+ - key: LOG_LEVEL
313
+ value: info
314
+ ```
315
+
316
+ ### 2. Generated Secrets
317
+
318
+ Render generates a base64-encoded 256-bit random value:
319
+
320
+ ```yaml
321
+ envVars:
322
+ - key: SESSION_SECRET
323
+ generateValue: true
324
+ - key: ENCRYPTION_KEY
325
+ generateValue: true
326
+ ```
327
+
328
+ ### 3. User-Provided Secrets
329
+
330
+ Prompt user for values during Blueprint creation:
331
+
332
+ ```yaml
333
+ envVars:
334
+ - key: STRIPE_SECRET_KEY
335
+ sync: false
336
+ - key: JWT_SECRET
337
+ sync: false
338
+ - key: API_KEY
339
+ sync: false
340
+ ```
341
+
342
+ **The `sync: false` flag means "user will fill this in the Dashboard".**
343
+
344
+ ### 4. Database References
345
+
346
+ Link to database connection strings:
347
+
348
+ ```yaml
349
+ envVars:
350
+ - key: DATABASE_URL
351
+ fromDatabase:
352
+ name: postgres
353
+ property: connectionString
354
+ - key: REDIS_URL
355
+ fromDatabase:
356
+ name: redis
357
+ property: connectionString
358
+ ```
359
+
360
+ **Available properties:**
361
+ - `connectionString`: Full connection URL
362
+ - `host`: Database host
363
+ - `port`: Database port
364
+ - `user`: Database username
365
+ - `password`: Database password
366
+ - `database`: Database name
367
+ - `hostport`: Combined `host:port`
368
+
369
+ ### 5. Service References
370
+
371
+ Link to other services:
372
+
373
+ ```yaml
374
+ envVars:
375
+ - key: API_URL
376
+ fromService:
377
+ name: api-server
378
+ type: web
379
+ property: host
380
+ ```
381
+
382
+ ### 6. Environment Variable Groups
383
+
384
+ Reusable groups shared across services:
385
+
386
+ ```yaml
387
+ envVarGroups:
388
+ - name: shared-config
389
+ envVars:
390
+ - key: LOG_LEVEL
391
+ value: info
392
+ - key: ENVIRONMENT
393
+ value: production
394
+
395
+ services:
396
+ - type: web
397
+ name: web-app
398
+ runtime: node
399
+ envVars:
400
+ - fromGroup: shared-config
401
+ - key: PORT
402
+ value: 10000
403
+ ```
404
+
405
+ ## Databases
406
+
407
+ ### PostgreSQL
408
+
409
+ ```yaml
410
+ databases:
411
+ - name: postgres
412
+ databaseName: myapp_prod
413
+ user: myapp_user
414
+ plan: free
415
+ postgresMajorVersion: "15"
416
+ ipAllowList: []
417
+ ```
418
+
419
+ **Plans:**
420
+ - `free`: 1 GB storage, 97 MB RAM, 0.1 CPU
421
+ - `basic-256mb`, `basic-512mb`, `basic-1gb`, `basic-4gb`
422
+ - `pro-4gb`, `pro-8gb`, `pro-16gb`, etc.
423
+ - `accelerated-4gb`, `accelerated-8gb`, etc. (SSD-backed)
424
+
425
+ **Key fields:**
426
+ - `name`: Identifier for references
427
+ - `databaseName`: Actual PostgreSQL database name
428
+ - `user`: Database username
429
+ - `postgresMajorVersion`: PostgreSQL version (11-16)
430
+ - `ipAllowList`: Array of CIDR blocks (empty = internal only)
431
+ - `diskSizeGB`: Storage size (paid plans only)
432
+
433
+ **High Availability (paid plans):**
434
+ ```yaml
435
+ databases:
436
+ - name: postgres
437
+ databaseName: myapp_prod
438
+ plan: pro-4gb
439
+ highAvailabilityEnabled: true
440
+ ```
441
+
442
+ **Read Replicas (paid plans):**
443
+ ```yaml
444
+ databases:
445
+ - name: postgres
446
+ databaseName: myapp_prod
447
+ plan: pro-4gb
448
+ readReplicas:
449
+ - name: read-replica-1
450
+ region: ohio
451
+ - name: read-replica-2
452
+ region: frankfurt
453
+ ```
454
+
455
+ ### Redis (Key-Value Store)
456
+
457
+ ```yaml
458
+ databases:
459
+ - name: redis
460
+ plan: free
461
+ maxmemoryPolicy: allkeys-lru
462
+ ipAllowList: []
463
+ ```
464
+
465
+ **Plans:** Same as PostgreSQL
466
+
467
+ **maxmemoryPolicy options:**
468
+ - `allkeys-lru`: Evict least recently used keys
469
+ - `volatile-lru`: Evict LRU keys with TTL
470
+ - `allkeys-random`: Evict random keys
471
+ - `volatile-random`: Evict random keys with TTL
472
+ - `volatile-ttl`: Evict keys with soonest TTL
473
+ - `noeviction`: Return errors when memory full
474
+
475
+ ## Scaling
476
+
477
+ ### Manual Scaling
478
+
479
+ Fixed number of instances:
480
+
481
+ ```yaml
482
+ services:
483
+ - type: web
484
+ name: my-app
485
+ runtime: node
486
+ plan: standard
487
+ numInstances: 3
488
+ ```
489
+
490
+ ### Autoscaling
491
+
492
+ Dynamic scaling based on CPU/memory (Professional workspace required):
493
+
494
+ ```yaml
495
+ services:
496
+ - type: web
497
+ name: my-app
498
+ runtime: node
499
+ plan: standard
500
+ scaling:
501
+ minInstances: 1
502
+ maxInstances: 5
503
+ targetCPUPercent: 60
504
+ targetMemoryPercent: 70
505
+ ```
506
+
507
+ **Notes:**
508
+ - Autoscaling disabled in preview environments
509
+ - Preview environments run `minInstances` count
510
+ - Requires Professional or higher workspace
511
+
512
+ ## Health Checks
513
+
514
+ Configure health check endpoints:
515
+
516
+ ```yaml
517
+ services:
518
+ - type: web
519
+ name: my-app
520
+ runtime: node
521
+ healthCheckPath: /health
522
+ ```
523
+
524
+ **Default:** `/` (root path)
525
+
526
+ **Recommended:** Add a dedicated `/health` endpoint that returns `200 OK`.
527
+
528
+ ## Build Filters
529
+
530
+ Control when builds are triggered based on changed files:
531
+
532
+ ```yaml
533
+ services:
534
+ - type: web
535
+ name: frontend
536
+ runtime: static
537
+ buildFilter:
538
+ paths:
539
+ - frontend/**
540
+ ignoredPaths:
541
+ - frontend/README.md
542
+ - frontend/**/*.test.js
543
+ ```
544
+
545
+ **Behavior:**
546
+ - If `paths` specified: Build only when files in those paths change
547
+ - If `ignoredPaths` specified: Don't build when only ignored files change
548
+
549
+ ## Projects and Environments
550
+
551
+ Organize services into projects with multiple environments:
552
+
553
+ ```yaml
554
+ projects:
555
+ - name: my-application
556
+ environments:
557
+ - name: production
558
+ services:
559
+ - type: web
560
+ name: prod-api
561
+ runtime: node
562
+ plan: pro
563
+ buildCommand: npm ci
564
+ startCommand: npm start
565
+ databases:
566
+ - name: prod-postgres
567
+ plan: pro-4gb
568
+ networking:
569
+ isolation: enabled
570
+ permissions:
571
+ protection: enabled
572
+
573
+ - name: staging
574
+ services:
575
+ - type: web
576
+ name: staging-api
577
+ runtime: node
578
+ plan: starter
579
+ buildCommand: npm ci
580
+ startCommand: npm start
581
+ databases:
582
+ - name: staging-postgres
583
+ plan: free
584
+ ```
585
+
586
+ **Environment features:**
587
+ - `networking.isolation`: Enable network isolation between environments
588
+ - `permissions.protection`: Require approval for environment changes
589
+
590
+ ## Preview Environments
591
+
592
+ Configure automatic preview environments for pull requests:
593
+
594
+ ```yaml
595
+ previews:
596
+ generation: auto_preview # auto_preview | manual | none
597
+ ```
598
+
599
+ **Options:**
600
+ - `auto_preview`: Create preview environment for each PR automatically
601
+ - `manual`: User manually triggers preview creation
602
+ - `none`: Disable preview environments
603
+
604
+ ## Complete Example
605
+
606
+ Full-featured Blueprint with multiple services and databases:
607
+
608
+ ```yaml
609
+ services:
610
+ # Web service
611
+ - type: web
612
+ name: web-app
613
+ runtime: node
614
+ plan: free
615
+ region: oregon
616
+ buildCommand: npm ci && npm run build
617
+ startCommand: npm start
618
+ branch: main
619
+ autoDeploy: true
620
+ healthCheckPath: /health
621
+ envVars:
622
+ - key: NODE_ENV
623
+ value: production
624
+ - key: DATABASE_URL
625
+ fromDatabase:
626
+ name: postgres
627
+ property: connectionString
628
+ - key: REDIS_URL
629
+ fromDatabase:
630
+ name: redis
631
+ property: connectionString
632
+ - key: JWT_SECRET
633
+ sync: false
634
+
635
+ # Background worker
636
+ - type: worker
637
+ name: queue-worker
638
+ runtime: node
639
+ plan: free
640
+ buildCommand: npm ci
641
+ startCommand: node worker.js
642
+ envVars:
643
+ - key: REDIS_URL
644
+ fromDatabase:
645
+ name: redis
646
+ property: connectionString
647
+
648
+ # Cron job
649
+ - type: cron
650
+ name: daily-cleanup
651
+ runtime: node
652
+ schedule: "0 3 * * *"
653
+ buildCommand: npm ci
654
+ startCommand: node scripts/cleanup.js
655
+ envVars:
656
+ - key: DATABASE_URL
657
+ fromDatabase:
658
+ name: postgres
659
+ property: connectionString
660
+
661
+ # Static frontend
662
+ - type: web
663
+ name: frontend
664
+ runtime: static
665
+ buildCommand: npm ci && npm run build
666
+ staticPublishPath: ./dist
667
+ routes:
668
+ - type: rewrite
669
+ source: /*
670
+ destination: /index.html
671
+
672
+ databases:
673
+ - name: postgres
674
+ databaseName: app_production
675
+ user: app_user
676
+ plan: free
677
+ postgresMajorVersion: "15"
678
+ ipAllowList: []
679
+
680
+ - name: redis
681
+ plan: free
682
+ maxmemoryPolicy: allkeys-lru
683
+ ipAllowList: []
684
+ ```
685
+
686
+ ## Validation
687
+
688
+ Validate your Blueprint before deploying (when CLI command is available):
689
+
690
+ ```bash
691
+ render blueprint validate
692
+ ```
693
+
694
+ **Common validation errors:**
695
+ - Missing required fields
696
+ - Invalid runtime values
697
+ - Incorrect environment variable references
698
+ - Invalid cron expressions
699
+ - Invalid YAML syntax
700
+
701
+ ## Best Practices
702
+
703
+ 1. **Always use `plan: free` by default** - Let users upgrade if needed
704
+ 2. **Mark all secrets with `sync: false`** - Never hardcode sensitive values
705
+ 3. **Use `fromDatabase` for database URLs** - Automatic internal connection strings
706
+ 4. **Add health check endpoints** - Faster deployment detection
707
+ 5. **Use non-interactive build commands** - Prevents build hangs
708
+ 6. **Bind to `0.0.0.0:$PORT`** - Required for web services
709
+ 7. **Use environment variable groups** - Share config across services
710
+ 8. **Enable autoDeploy: true** - Deploy automatically on push
711
+ 9. **Set appropriate regions** - Choose closest to your users
712
+ 10. **Use build filters** - Optimize build triggers in monorepos
713
+
714
+ ## Additional Resources
715
+
716
+ - Official Blueprint Specification: https://render.com/docs/blueprint-spec
717
+ - Render CLI Documentation: https://render.com/docs/cli
718
+ - Environment Variables Guide: https://render.com/docs/environment-variables