@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,502 +1,502 @@
1
- # File Organization
2
-
3
- Proper file and directory structure for maintainable, scalable frontend code in the the application.
4
-
5
- ---
6
-
7
- ## features/ vs components/ Distinction
8
-
9
- ### features/ Directory
10
-
11
- **Purpose**: Domain-specific features with their own logic, API, and components
12
-
13
- **When to use:**
14
- - Feature has multiple related components
15
- - Feature has its own API endpoints
16
- - Feature has domain-specific logic
17
- - Feature has custom hooks/utilities
18
-
19
- **Examples:**
20
- - `features/posts/` - Project catalog/post management
21
- - `features/blogs/` - Blog builder and rendering
22
- - `features/auth/` - Authentication flows
23
-
24
- **Structure:**
25
- ```
26
- features/
27
- my-feature/
28
- api/
29
- myFeatureApi.ts # API service layer
30
- components/
31
- MyFeatureMain.tsx # Main component
32
- SubComponents/ # Related components
33
- hooks/
34
- useMyFeature.ts # Custom hooks
35
- useSuspenseMyFeature.ts # Suspense hooks
36
- helpers/
37
- myFeatureHelpers.ts # Utility functions
38
- types/
39
- index.ts # TypeScript types
40
- index.ts # Public exports
41
- ```
42
-
43
- ### components/ Directory
44
-
45
- **Purpose**: Truly reusable components used across multiple features
46
-
47
- **When to use:**
48
- - Component is used in 3+ places
49
- - Component is generic (no feature-specific logic)
50
- - Component is a UI primitive or pattern
51
-
52
- **Examples:**
53
- - `components/SuspenseLoader/` - Loading wrapper
54
- - `components/CustomAppBar/` - Application header
55
- - `components/ErrorBoundary/` - Error handling
56
- - `components/LoadingOverlay/` - Loading overlay
57
-
58
- **Structure:**
59
- ```
60
- components/
61
- SuspenseLoader/
62
- SuspenseLoader.tsx
63
- SuspenseLoader.test.tsx
64
- CustomAppBar/
65
- CustomAppBar.tsx
66
- CustomAppBar.test.tsx
67
- ```
68
-
69
- ---
70
-
71
- ## Feature Directory Structure (Detailed)
72
-
73
- ### Complete Feature Example
74
-
75
- Based on `features/posts/` structure:
76
-
77
- ```
78
- features/
79
- posts/
80
- api/
81
- postApi.ts # API service layer (GET, POST, PUT, DELETE)
82
-
83
- components/
84
- PostTable.tsx # Main container component
85
- grids/
86
- PostDataGrid/
87
- PostDataGrid.tsx
88
- drawers/
89
- ProjectPostDrawer/
90
- ProjectPostDrawer.tsx
91
- cells/
92
- editors/
93
- TextEditCell.tsx
94
- renderers/
95
- DateCell.tsx
96
- toolbar/
97
- CustomToolbar.tsx
98
-
99
- hooks/
100
- usePostQueries.ts # Regular queries
101
- useSuspensePost.ts # Suspense queries
102
- usePostMutations.ts # Mutations
103
- useGridLayout.ts # Feature-specific hooks
104
-
105
- helpers/
106
- postHelpers.ts # Utility functions
107
- validation.ts # Validation logic
108
-
109
- types/
110
- index.ts # TypeScript types/interfaces
111
-
112
- queries/
113
- postQueries.ts # Query key factories (optional)
114
-
115
- context/
116
- PostContext.tsx # React context (if needed)
117
-
118
- index.ts # Public API exports
119
- ```
120
-
121
- ### Subdirectory Guidelines
122
-
123
- #### api/ Directory
124
-
125
- **Purpose**: Centralized API calls for the feature
126
-
127
- **Files:**
128
- - `{feature}Api.ts` - Main API service
129
-
130
- **Pattern:**
131
- ```typescript
132
- // features/my-feature/api/myFeatureApi.ts
133
- import apiClient from '@/lib/apiClient';
134
-
135
- export const myFeatureApi = {
136
- getItem: async (id: number) => {
137
- const { data } = await apiClient.get(`/blog/items/${id}`);
138
- return data;
139
- },
140
- createItem: async (payload) => {
141
- const { data } = await apiClient.post('/blog/items', payload);
142
- return data;
143
- },
144
- };
145
- ```
146
-
147
- #### components/ Directory
148
-
149
- **Purpose**: Feature-specific components
150
-
151
- **Organization:**
152
- - Flat structure if <5 components
153
- - Subdirectories by responsibility if >5 components
154
-
155
- **Examples:**
156
- ```
157
- components/
158
- MyFeatureMain.tsx # Main component
159
- MyFeatureHeader.tsx # Supporting components
160
- MyFeatureFooter.tsx
161
-
162
- # OR with subdirectories:
163
- containers/
164
- MyFeatureContainer.tsx
165
- presentational/
166
- MyFeatureDisplay.tsx
167
- blogs/
168
- MyFeatureBlog.tsx
169
- ```
170
-
171
- #### hooks/ Directory
172
-
173
- **Purpose**: Custom hooks for the feature
174
-
175
- **Naming:**
176
- - `use` prefix (camelCase)
177
- - Descriptive of what they do
178
-
179
- **Examples:**
180
- ```
181
- hooks/
182
- useMyFeature.ts # Main hook
183
- useSuspenseMyFeature.ts # Suspense version
184
- useMyFeatureMutations.ts # Mutations
185
- useMyFeatureFilters.ts # Filters/search
186
- ```
187
-
188
- #### helpers/ Directory
189
-
190
- **Purpose**: Utility functions specific to the feature
191
-
192
- **Examples:**
193
- ```
194
- helpers/
195
- myFeatureHelpers.ts # General utilities
196
- validation.ts # Validation logic
197
- transblogers.ts # Data transblogations
198
- constants.ts # Constants
199
- ```
200
-
201
- #### types/ Directory
202
-
203
- **Purpose**: TypeScript types and interfaces
204
-
205
- **Files:**
206
- ```
207
- types/
208
- index.ts # Main types, exported
209
- internal.ts # Internal types (not exported)
210
- ```
211
-
212
- ---
213
-
214
- ## Import Aliases (Vite Configuration)
215
-
216
- ### Available Aliases
217
-
218
- From `vite.config.ts` lines 180-185:
219
-
220
- | Alias | Resolves To | Use For |
221
- |-------|-------------|---------|
222
- | `@/` | `src/` | Absolute imports from src root |
223
- | `~types` | `src/types` | Shared TypeScript types |
224
- | `~components` | `src/components` | Reusable components |
225
- | `~features` | `src/features` | Feature imports |
226
-
227
- ### Usage Examples
228
-
229
- ```typescript
230
- // ✅ PREFERRED - Use aliases for absolute imports
231
- import { apiClient } from '@/lib/apiClient';
232
- import { SuspenseLoader } from '~components/SuspenseLoader';
233
- import { postApi } from '~features/posts/api/postApi';
234
- import type { User } from '~types/user';
235
-
236
- // ❌ AVOID - Relative paths from deep nesting
237
- import { apiClient } from '../../../lib/apiClient';
238
- import { SuspenseLoader } from '../../../components/SuspenseLoader';
239
- ```
240
-
241
- ### When to Use Which Alias
242
-
243
- **@/ (General)**:
244
- - Lib utilities: `@/lib/apiClient`
245
- - Hooks: `@/hooks/useAuth`
246
- - Config: `@/config/theme`
247
- - Shared services: `@/services/authService`
248
-
249
- **~types (Type Imports)**:
250
- ```typescript
251
- import type { Post } from '~types/post';
252
- import type { User, UserRole } from '~types/user';
253
- ```
254
-
255
- **~components (Reusable Components)**:
256
- ```typescript
257
- import { SuspenseLoader } from '~components/SuspenseLoader';
258
- import { CustomAppBar } from '~components/CustomAppBar';
259
- import { ErrorBoundary } from '~components/ErrorBoundary';
260
- ```
261
-
262
- **~features (Feature Imports)**:
263
- ```typescript
264
- import { postApi } from '~features/posts/api/postApi';
265
- import { useAuth } from '~features/auth/hooks/useAuth';
266
- ```
267
-
268
- ---
269
-
270
- ## File Naming Conventions
271
-
272
- ### Components
273
-
274
- **Pattern**: PascalCase with `.tsx` extension
275
-
276
- ```
277
- MyComponent.tsx
278
- PostDataGrid.tsx
279
- CustomAppBar.tsx
280
- ```
281
-
282
- **Avoid:**
283
- - camelCase: `myComponent.tsx` ❌
284
- - kebab-case: `my-component.tsx` ❌
285
- - All caps: `MYCOMPONENT.tsx` ❌
286
-
287
- ### Hooks
288
-
289
- **Pattern**: camelCase with `use` prefix, `.ts` extension
290
-
291
- ```
292
- useMyFeature.ts
293
- useSuspensePost.ts
294
- useAuth.ts
295
- useGridLayout.ts
296
- ```
297
-
298
- ### API Services
299
-
300
- **Pattern**: camelCase with `Api` suffix, `.ts` extension
301
-
302
- ```
303
- myFeatureApi.ts
304
- postApi.ts
305
- userApi.ts
306
- ```
307
-
308
- ### Helpers/Utilities
309
-
310
- **Pattern**: camelCase with descriptive name, `.ts` extension
311
-
312
- ```
313
- myFeatureHelpers.ts
314
- validation.ts
315
- transblogers.ts
316
- constants.ts
317
- ```
318
-
319
- ### Types
320
-
321
- **Pattern**: camelCase, `index.ts` or descriptive name
322
-
323
- ```
324
- types/index.ts
325
- types/post.ts
326
- types/user.ts
327
- ```
328
-
329
- ---
330
-
331
- ## When to Create a New Feature
332
-
333
- ### Create New Feature When:
334
-
335
- - Multiple related components (>3)
336
- - Has own API endpoints
337
- - Domain-specific logic
338
- - Will grow over time
339
- - Reused across multiple routes
340
-
341
- **Example:** `features/posts/`
342
- - 20+ components
343
- - Own API service
344
- - Complex state management
345
- - Used in multiple routes
346
-
347
- ### Add to Existing Feature When:
348
-
349
- - Related to existing feature
350
- - Shares same API
351
- - Logically grouped
352
- - Extends existing functionality
353
-
354
- **Example:** Adding export dialog to posts feature
355
-
356
- ### Create Reusable Component When:
357
-
358
- - Used across 3+ features
359
- - Generic, no domain logic
360
- - Pure presentation
361
- - Shared pattern
362
-
363
- **Example:** `components/SuspenseLoader/`
364
-
365
- ---
366
-
367
- ## Import Organization
368
-
369
- ### Import Order (Recommended)
370
-
371
- ```typescript
372
- // 1. React and React-related
373
- import React, { useState, useCallback, useMemo } from 'react';
374
- import { lazy } from 'react';
375
-
376
- // 2. Third-party libraries (alphabetical)
377
- import { Box, Paper, Button, Grid } from '@mui/material';
378
- import type { SxProps, Theme } from '@mui/material';
379
- import { useSuspenseQuery, useQueryClient } from '@tanstack/react-query';
380
- import { createFileRoute } from '@tanstack/react-router';
381
-
382
- // 3. Alias imports (@ first, then ~)
383
- import { apiClient } from '@/lib/apiClient';
384
- import { useAuth } from '@/hooks/useAuth';
385
- import { useMuiSnackbar } from '@/hooks/useMuiSnackbar';
386
- import { SuspenseLoader } from '~components/SuspenseLoader';
387
- import { postApi } from '~features/posts/api/postApi';
388
-
389
- // 4. Type imports (grouped)
390
- import type { Post } from '~types/post';
391
- import type { User } from '~types/user';
392
-
393
- // 5. Relative imports (same feature)
394
- import { MySubComponent } from './MySubComponent';
395
- import { useMyFeature } from '../hooks/useMyFeature';
396
- import { myFeatureHelpers } from '../helpers/myFeatureHelpers';
397
- ```
398
-
399
- **Use single quotes** for all imports (project standard)
400
-
401
- ---
402
-
403
- ## Public API Pattern
404
-
405
- ### feature/index.ts
406
-
407
- Export public API from feature for clean imports:
408
-
409
- ```typescript
410
- // features/my-feature/index.ts
411
-
412
- // Export main components
413
- export { MyFeatureMain } from './components/MyFeatureMain';
414
- export { MyFeatureHeader } from './components/MyFeatureHeader';
415
-
416
- // Export hooks
417
- export { useMyFeature } from './hooks/useMyFeature';
418
- export { useSuspenseMyFeature } from './hooks/useSuspenseMyFeature';
419
-
420
- // Export API
421
- export { myFeatureApi } from './api/myFeatureApi';
422
-
423
- // Export types
424
- export type { MyFeatureData, MyFeatureConfig } from './types';
425
- ```
426
-
427
- **Usage:**
428
- ```typescript
429
- // ✅ Clean import from feature index
430
- import { MyFeatureMain, useMyFeature } from '~features/my-feature';
431
-
432
- // ❌ Avoid deep imports (but OK if needed)
433
- import { MyFeatureMain } from '~features/my-feature/components/MyFeatureMain';
434
- ```
435
-
436
- ---
437
-
438
- ## Directory Structure Visualization
439
-
440
- ```
441
- src/
442
- ├── features/ # Domain-specific features
443
- │ ├── posts/
444
- │ │ ├── api/
445
- │ │ ├── components/
446
- │ │ ├── hooks/
447
- │ │ ├── helpers/
448
- │ │ ├── types/
449
- │ │ └── index.ts
450
- │ ├── blogs/
451
- │ └── auth/
452
-
453
- ├── components/ # Reusable components
454
- │ ├── SuspenseLoader/
455
- │ ├── CustomAppBar/
456
- │ ├── ErrorBoundary/
457
- │ └── LoadingOverlay/
458
-
459
- ├── routes/ # TanStack Router routes
460
- │ ├── __root.tsx
461
- │ ├── index.tsx
462
- │ ├── project-catalog/
463
- │ │ ├── index.tsx
464
- │ │ └── create/
465
- │ └── blogs/
466
-
467
- ├── hooks/ # Shared hooks
468
- │ ├── useAuth.ts
469
- │ ├── useMuiSnackbar.ts
470
- │ └── useDebounce.ts
471
-
472
- ├── lib/ # Shared utilities
473
- │ ├── apiClient.ts
474
- │ └── utils.ts
475
-
476
- ├── types/ # Shared TypeScript types
477
- │ ├── user.ts
478
- │ ├── post.ts
479
- │ └── common.ts
480
-
481
- ├── config/ # Configuration
482
- │ └── theme.ts
483
-
484
- └── App.tsx # Root component
485
- ```
486
-
487
- ---
488
-
489
- ## Summary
490
-
491
- **Key Principles:**
492
- 1. **features/** for domain-specific code
493
- 2. **components/** for truly reusable UI
494
- 3. Use subdirectories: api/, components/, hooks/, helpers/, types/
495
- 4. Import aliases for clean imports (@/, ~types, ~components, ~features)
496
- 5. Consistent naming: PascalCase components, camelCase utilities
497
- 6. Export public API from feature index.ts
498
-
499
- **See Also:**
500
- - [component-patterns.md](component-patterns.md) - Component structure
501
- - [data-fetching.md](data-fetching.md) - API service patterns
1
+ # File Organization
2
+
3
+ Proper file and directory structure for maintainable, scalable frontend code in the the application.
4
+
5
+ ---
6
+
7
+ ## features/ vs components/ Distinction
8
+
9
+ ### features/ Directory
10
+
11
+ **Purpose**: Domain-specific features with their own logic, API, and components
12
+
13
+ **When to use:**
14
+ - Feature has multiple related components
15
+ - Feature has its own API endpoints
16
+ - Feature has domain-specific logic
17
+ - Feature has custom hooks/utilities
18
+
19
+ **Examples:**
20
+ - `features/posts/` - Project catalog/post management
21
+ - `features/blogs/` - Blog builder and rendering
22
+ - `features/auth/` - Authentication flows
23
+
24
+ **Structure:**
25
+ ```
26
+ features/
27
+ my-feature/
28
+ api/
29
+ myFeatureApi.ts # API service layer
30
+ components/
31
+ MyFeatureMain.tsx # Main component
32
+ SubComponents/ # Related components
33
+ hooks/
34
+ useMyFeature.ts # Custom hooks
35
+ useSuspenseMyFeature.ts # Suspense hooks
36
+ helpers/
37
+ myFeatureHelpers.ts # Utility functions
38
+ types/
39
+ index.ts # TypeScript types
40
+ index.ts # Public exports
41
+ ```
42
+
43
+ ### components/ Directory
44
+
45
+ **Purpose**: Truly reusable components used across multiple features
46
+
47
+ **When to use:**
48
+ - Component is used in 3+ places
49
+ - Component is generic (no feature-specific logic)
50
+ - Component is a UI primitive or pattern
51
+
52
+ **Examples:**
53
+ - `components/SuspenseLoader/` - Loading wrapper
54
+ - `components/CustomAppBar/` - Application header
55
+ - `components/ErrorBoundary/` - Error handling
56
+ - `components/LoadingOverlay/` - Loading overlay
57
+
58
+ **Structure:**
59
+ ```
60
+ components/
61
+ SuspenseLoader/
62
+ SuspenseLoader.tsx
63
+ SuspenseLoader.test.tsx
64
+ CustomAppBar/
65
+ CustomAppBar.tsx
66
+ CustomAppBar.test.tsx
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Feature Directory Structure (Detailed)
72
+
73
+ ### Complete Feature Example
74
+
75
+ Based on `features/posts/` structure:
76
+
77
+ ```
78
+ features/
79
+ posts/
80
+ api/
81
+ postApi.ts # API service layer (GET, POST, PUT, DELETE)
82
+
83
+ components/
84
+ PostTable.tsx # Main container component
85
+ grids/
86
+ PostDataGrid/
87
+ PostDataGrid.tsx
88
+ drawers/
89
+ ProjectPostDrawer/
90
+ ProjectPostDrawer.tsx
91
+ cells/
92
+ editors/
93
+ TextEditCell.tsx
94
+ renderers/
95
+ DateCell.tsx
96
+ toolbar/
97
+ CustomToolbar.tsx
98
+
99
+ hooks/
100
+ usePostQueries.ts # Regular queries
101
+ useSuspensePost.ts # Suspense queries
102
+ usePostMutations.ts # Mutations
103
+ useGridLayout.ts # Feature-specific hooks
104
+
105
+ helpers/
106
+ postHelpers.ts # Utility functions
107
+ validation.ts # Validation logic
108
+
109
+ types/
110
+ index.ts # TypeScript types/interfaces
111
+
112
+ queries/
113
+ postQueries.ts # Query key factories (optional)
114
+
115
+ context/
116
+ PostContext.tsx # React context (if needed)
117
+
118
+ index.ts # Public API exports
119
+ ```
120
+
121
+ ### Subdirectory Guidelines
122
+
123
+ #### api/ Directory
124
+
125
+ **Purpose**: Centralized API calls for the feature
126
+
127
+ **Files:**
128
+ - `{feature}Api.ts` - Main API service
129
+
130
+ **Pattern:**
131
+ ```typescript
132
+ // features/my-feature/api/myFeatureApi.ts
133
+ import apiClient from '@/lib/apiClient';
134
+
135
+ export const myFeatureApi = {
136
+ getItem: async (id: number) => {
137
+ const { data } = await apiClient.get(`/blog/items/${id}`);
138
+ return data;
139
+ },
140
+ createItem: async (payload) => {
141
+ const { data } = await apiClient.post('/blog/items', payload);
142
+ return data;
143
+ },
144
+ };
145
+ ```
146
+
147
+ #### components/ Directory
148
+
149
+ **Purpose**: Feature-specific components
150
+
151
+ **Organization:**
152
+ - Flat structure if <5 components
153
+ - Subdirectories by responsibility if >5 components
154
+
155
+ **Examples:**
156
+ ```
157
+ components/
158
+ MyFeatureMain.tsx # Main component
159
+ MyFeatureHeader.tsx # Supporting components
160
+ MyFeatureFooter.tsx
161
+
162
+ # OR with subdirectories:
163
+ containers/
164
+ MyFeatureContainer.tsx
165
+ presentational/
166
+ MyFeatureDisplay.tsx
167
+ blogs/
168
+ MyFeatureBlog.tsx
169
+ ```
170
+
171
+ #### hooks/ Directory
172
+
173
+ **Purpose**: Custom hooks for the feature
174
+
175
+ **Naming:**
176
+ - `use` prefix (camelCase)
177
+ - Descriptive of what they do
178
+
179
+ **Examples:**
180
+ ```
181
+ hooks/
182
+ useMyFeature.ts # Main hook
183
+ useSuspenseMyFeature.ts # Suspense version
184
+ useMyFeatureMutations.ts # Mutations
185
+ useMyFeatureFilters.ts # Filters/search
186
+ ```
187
+
188
+ #### helpers/ Directory
189
+
190
+ **Purpose**: Utility functions specific to the feature
191
+
192
+ **Examples:**
193
+ ```
194
+ helpers/
195
+ myFeatureHelpers.ts # General utilities
196
+ validation.ts # Validation logic
197
+ transblogers.ts # Data transblogations
198
+ constants.ts # Constants
199
+ ```
200
+
201
+ #### types/ Directory
202
+
203
+ **Purpose**: TypeScript types and interfaces
204
+
205
+ **Files:**
206
+ ```
207
+ types/
208
+ index.ts # Main types, exported
209
+ internal.ts # Internal types (not exported)
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Import Aliases (Vite Configuration)
215
+
216
+ ### Available Aliases
217
+
218
+ From `vite.config.ts` lines 180-185:
219
+
220
+ | Alias | Resolves To | Use For |
221
+ |-------|-------------|---------|
222
+ | `@/` | `src/` | Absolute imports from src root |
223
+ | `~types` | `src/types` | Shared TypeScript types |
224
+ | `~components` | `src/components` | Reusable components |
225
+ | `~features` | `src/features` | Feature imports |
226
+
227
+ ### Usage Examples
228
+
229
+ ```typescript
230
+ // ✅ PREFERRED - Use aliases for absolute imports
231
+ import { apiClient } from '@/lib/apiClient';
232
+ import { SuspenseLoader } from '~components/SuspenseLoader';
233
+ import { postApi } from '~features/posts/api/postApi';
234
+ import type { User } from '~types/user';
235
+
236
+ // ❌ AVOID - Relative paths from deep nesting
237
+ import { apiClient } from '../../../lib/apiClient';
238
+ import { SuspenseLoader } from '../../../components/SuspenseLoader';
239
+ ```
240
+
241
+ ### When to Use Which Alias
242
+
243
+ **@/ (General)**:
244
+ - Lib utilities: `@/lib/apiClient`
245
+ - Hooks: `@/hooks/useAuth`
246
+ - Config: `@/config/theme`
247
+ - Shared services: `@/services/authService`
248
+
249
+ **~types (Type Imports)**:
250
+ ```typescript
251
+ import type { Post } from '~types/post';
252
+ import type { User, UserRole } from '~types/user';
253
+ ```
254
+
255
+ **~components (Reusable Components)**:
256
+ ```typescript
257
+ import { SuspenseLoader } from '~components/SuspenseLoader';
258
+ import { CustomAppBar } from '~components/CustomAppBar';
259
+ import { ErrorBoundary } from '~components/ErrorBoundary';
260
+ ```
261
+
262
+ **~features (Feature Imports)**:
263
+ ```typescript
264
+ import { postApi } from '~features/posts/api/postApi';
265
+ import { useAuth } from '~features/auth/hooks/useAuth';
266
+ ```
267
+
268
+ ---
269
+
270
+ ## File Naming Conventions
271
+
272
+ ### Components
273
+
274
+ **Pattern**: PascalCase with `.tsx` extension
275
+
276
+ ```
277
+ MyComponent.tsx
278
+ PostDataGrid.tsx
279
+ CustomAppBar.tsx
280
+ ```
281
+
282
+ **Avoid:**
283
+ - camelCase: `myComponent.tsx` ❌
284
+ - kebab-case: `my-component.tsx` ❌
285
+ - All caps: `MYCOMPONENT.tsx` ❌
286
+
287
+ ### Hooks
288
+
289
+ **Pattern**: camelCase with `use` prefix, `.ts` extension
290
+
291
+ ```
292
+ useMyFeature.ts
293
+ useSuspensePost.ts
294
+ useAuth.ts
295
+ useGridLayout.ts
296
+ ```
297
+
298
+ ### API Services
299
+
300
+ **Pattern**: camelCase with `Api` suffix, `.ts` extension
301
+
302
+ ```
303
+ myFeatureApi.ts
304
+ postApi.ts
305
+ userApi.ts
306
+ ```
307
+
308
+ ### Helpers/Utilities
309
+
310
+ **Pattern**: camelCase with descriptive name, `.ts` extension
311
+
312
+ ```
313
+ myFeatureHelpers.ts
314
+ validation.ts
315
+ transblogers.ts
316
+ constants.ts
317
+ ```
318
+
319
+ ### Types
320
+
321
+ **Pattern**: camelCase, `index.ts` or descriptive name
322
+
323
+ ```
324
+ types/index.ts
325
+ types/post.ts
326
+ types/user.ts
327
+ ```
328
+
329
+ ---
330
+
331
+ ## When to Create a New Feature
332
+
333
+ ### Create New Feature When:
334
+
335
+ - Multiple related components (>3)
336
+ - Has own API endpoints
337
+ - Domain-specific logic
338
+ - Will grow over time
339
+ - Reused across multiple routes
340
+
341
+ **Example:** `features/posts/`
342
+ - 20+ components
343
+ - Own API service
344
+ - Complex state management
345
+ - Used in multiple routes
346
+
347
+ ### Add to Existing Feature When:
348
+
349
+ - Related to existing feature
350
+ - Shares same API
351
+ - Logically grouped
352
+ - Extends existing functionality
353
+
354
+ **Example:** Adding export dialog to posts feature
355
+
356
+ ### Create Reusable Component When:
357
+
358
+ - Used across 3+ features
359
+ - Generic, no domain logic
360
+ - Pure presentation
361
+ - Shared pattern
362
+
363
+ **Example:** `components/SuspenseLoader/`
364
+
365
+ ---
366
+
367
+ ## Import Organization
368
+
369
+ ### Import Order (Recommended)
370
+
371
+ ```typescript
372
+ // 1. React and React-related
373
+ import React, { useState, useCallback, useMemo } from 'react';
374
+ import { lazy } from 'react';
375
+
376
+ // 2. Third-party libraries (alphabetical)
377
+ import { Box, Paper, Button, Grid } from '@mui/material';
378
+ import type { SxProps, Theme } from '@mui/material';
379
+ import { useSuspenseQuery, useQueryClient } from '@tanstack/react-query';
380
+ import { createFileRoute } from '@tanstack/react-router';
381
+
382
+ // 3. Alias imports (@ first, then ~)
383
+ import { apiClient } from '@/lib/apiClient';
384
+ import { useAuth } from '@/hooks/useAuth';
385
+ import { useMuiSnackbar } from '@/hooks/useMuiSnackbar';
386
+ import { SuspenseLoader } from '~components/SuspenseLoader';
387
+ import { postApi } from '~features/posts/api/postApi';
388
+
389
+ // 4. Type imports (grouped)
390
+ import type { Post } from '~types/post';
391
+ import type { User } from '~types/user';
392
+
393
+ // 5. Relative imports (same feature)
394
+ import { MySubComponent } from './MySubComponent';
395
+ import { useMyFeature } from '../hooks/useMyFeature';
396
+ import { myFeatureHelpers } from '../helpers/myFeatureHelpers';
397
+ ```
398
+
399
+ **Use single quotes** for all imports (project standard)
400
+
401
+ ---
402
+
403
+ ## Public API Pattern
404
+
405
+ ### feature/index.ts
406
+
407
+ Export public API from feature for clean imports:
408
+
409
+ ```typescript
410
+ // features/my-feature/index.ts
411
+
412
+ // Export main components
413
+ export { MyFeatureMain } from './components/MyFeatureMain';
414
+ export { MyFeatureHeader } from './components/MyFeatureHeader';
415
+
416
+ // Export hooks
417
+ export { useMyFeature } from './hooks/useMyFeature';
418
+ export { useSuspenseMyFeature } from './hooks/useSuspenseMyFeature';
419
+
420
+ // Export API
421
+ export { myFeatureApi } from './api/myFeatureApi';
422
+
423
+ // Export types
424
+ export type { MyFeatureData, MyFeatureConfig } from './types';
425
+ ```
426
+
427
+ **Usage:**
428
+ ```typescript
429
+ // ✅ Clean import from feature index
430
+ import { MyFeatureMain, useMyFeature } from '~features/my-feature';
431
+
432
+ // ❌ Avoid deep imports (but OK if needed)
433
+ import { MyFeatureMain } from '~features/my-feature/components/MyFeatureMain';
434
+ ```
435
+
436
+ ---
437
+
438
+ ## Directory Structure Visualization
439
+
440
+ ```
441
+ src/
442
+ ├── features/ # Domain-specific features
443
+ │ ├── posts/
444
+ │ │ ├── api/
445
+ │ │ ├── components/
446
+ │ │ ├── hooks/
447
+ │ │ ├── helpers/
448
+ │ │ ├── types/
449
+ │ │ └── index.ts
450
+ │ ├── blogs/
451
+ │ └── auth/
452
+
453
+ ├── components/ # Reusable components
454
+ │ ├── SuspenseLoader/
455
+ │ ├── CustomAppBar/
456
+ │ ├── ErrorBoundary/
457
+ │ └── LoadingOverlay/
458
+
459
+ ├── routes/ # TanStack Router routes
460
+ │ ├── __root.tsx
461
+ │ ├── index.tsx
462
+ │ ├── project-catalog/
463
+ │ │ ├── index.tsx
464
+ │ │ └── create/
465
+ │ └── blogs/
466
+
467
+ ├── hooks/ # Shared hooks
468
+ │ ├── useAuth.ts
469
+ │ ├── useMuiSnackbar.ts
470
+ │ └── useDebounce.ts
471
+
472
+ ├── lib/ # Shared utilities
473
+ │ ├── apiClient.ts
474
+ │ └── utils.ts
475
+
476
+ ├── types/ # Shared TypeScript types
477
+ │ ├── user.ts
478
+ │ ├── post.ts
479
+ │ └── common.ts
480
+
481
+ ├── config/ # Configuration
482
+ │ └── theme.ts
483
+
484
+ └── App.tsx # Root component
485
+ ```
486
+
487
+ ---
488
+
489
+ ## Summary
490
+
491
+ **Key Principles:**
492
+ 1. **features/** for domain-specific code
493
+ 2. **components/** for truly reusable UI
494
+ 3. Use subdirectories: api/, components/, hooks/, helpers/, types/
495
+ 4. Import aliases for clean imports (@/, ~types, ~components, ~features)
496
+ 5. Consistent naming: PascalCase components, camelCase utilities
497
+ 6. Export public API from feature index.ts
498
+
499
+ **See Also:**
500
+ - [component-patterns.md](component-patterns.md) - Component structure
501
+ - [data-fetching.md](data-fetching.md) - API service patterns
502
502
  - [complete-examples.md](complete-examples.md) - Full feature example