@biggora/claude-plugins 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +13 -4
  2. package/package.json +1 -1
  3. package/registry/registry.json +334 -244
  4. package/specs/coding.md +30 -0
  5. package/specs/pod.md +2 -0
  6. package/src/commands/skills/add.js +63 -7
  7. package/src/commands/skills/list.js +23 -52
  8. package/src/commands/skills/remove.js +26 -27
  9. package/src/commands/skills/resolve.js +155 -0
  10. package/src/commands/skills/update.js +58 -74
  11. package/src/skills/captcha/README.md +221 -0
  12. package/src/skills/captcha/SKILL.md +355 -0
  13. package/src/skills/captcha/references/captcha-types.md +254 -0
  14. package/src/skills/captcha/references/services.md +172 -0
  15. package/src/skills/captcha/references/stealth.md +238 -0
  16. package/src/skills/captcha/scripts/solve_captcha.py +323 -0
  17. package/src/skills/captcha/scripts/solve_image_grid.py +350 -0
  18. package/src/skills/google-merchant-api/SKILL.md +581 -0
  19. package/src/skills/google-merchant-api/references/accounts.md +247 -0
  20. package/src/skills/google-merchant-api/references/content-api-legacy.md +216 -0
  21. package/src/skills/google-merchant-api/references/datasources.md +233 -0
  22. package/src/skills/google-merchant-api/references/inventories.md +201 -0
  23. package/src/skills/google-merchant-api/references/migration.md +267 -0
  24. package/src/skills/google-merchant-api/references/products.md +316 -0
  25. package/src/skills/google-merchant-api/references/promotions.md +201 -0
  26. package/src/skills/google-merchant-api/references/reports.md +240 -0
  27. package/src/skills/lv-aggregators-api/SKILL.md +113 -0
  28. package/src/skills/lv-aggregators-api/references/integration-guide.md +368 -0
  29. package/src/skills/lv-aggregators-api/references/kurpirkt.md +103 -0
  30. package/src/skills/lv-aggregators-api/references/salidzini.md +122 -0
  31. package/src/skills/nest-best-practices/SKILL.md +251 -0
  32. package/src/skills/nest-best-practices/references/best-practices-request-lifecycle.md +158 -0
  33. package/src/skills/nest-best-practices/references/cli-monorepo.md +106 -0
  34. package/src/skills/nest-best-practices/references/cli-overview.md +157 -0
  35. package/src/skills/nest-best-practices/references/core-controllers.md +165 -0
  36. package/src/skills/nest-best-practices/references/core-dependency-injection.md +179 -0
  37. package/src/skills/nest-best-practices/references/core-middleware.md +139 -0
  38. package/src/skills/nest-best-practices/references/core-modules.md +138 -0
  39. package/src/skills/nest-best-practices/references/core-providers.md +188 -0
  40. package/src/skills/nest-best-practices/references/faq-raw-body-hybrid.md +122 -0
  41. package/src/skills/nest-best-practices/references/fundamentals-circular-dependency.md +89 -0
  42. package/src/skills/nest-best-practices/references/fundamentals-custom-decorators.md +107 -0
  43. package/src/skills/nest-best-practices/references/fundamentals-dynamic-modules.md +125 -0
  44. package/src/skills/nest-best-practices/references/fundamentals-exception-filters.md +202 -0
  45. package/src/skills/nest-best-practices/references/fundamentals-execution-context.md +107 -0
  46. package/src/skills/nest-best-practices/references/fundamentals-guards.md +136 -0
  47. package/src/skills/nest-best-practices/references/fundamentals-interceptors.md +187 -0
  48. package/src/skills/nest-best-practices/references/fundamentals-lazy-loading.md +89 -0
  49. package/src/skills/nest-best-practices/references/fundamentals-lifecycle-events.md +87 -0
  50. package/src/skills/nest-best-practices/references/fundamentals-module-reference.md +107 -0
  51. package/src/skills/nest-best-practices/references/fundamentals-pipes.md +197 -0
  52. package/src/skills/nest-best-practices/references/fundamentals-provider-scopes.md +92 -0
  53. package/src/skills/nest-best-practices/references/fundamentals-testing.md +142 -0
  54. package/src/skills/nest-best-practices/references/graphql-overview.md +233 -0
  55. package/src/skills/nest-best-practices/references/graphql-resolvers-mutations.md +199 -0
  56. package/src/skills/nest-best-practices/references/graphql-scalars-unions-enums.md +180 -0
  57. package/src/skills/nest-best-practices/references/graphql-subscriptions.md +228 -0
  58. package/src/skills/nest-best-practices/references/microservices-grpc.md +175 -0
  59. package/src/skills/nest-best-practices/references/microservices-overview.md +221 -0
  60. package/src/skills/nest-best-practices/references/microservices-transports.md +119 -0
  61. package/src/skills/nest-best-practices/references/openapi-swagger.md +207 -0
  62. package/src/skills/nest-best-practices/references/recipes-authentication.md +97 -0
  63. package/src/skills/nest-best-practices/references/recipes-cqrs.md +176 -0
  64. package/src/skills/nest-best-practices/references/recipes-crud-generator.md +87 -0
  65. package/src/skills/nest-best-practices/references/recipes-documentation.md +93 -0
  66. package/src/skills/nest-best-practices/references/recipes-mongoose.md +153 -0
  67. package/src/skills/nest-best-practices/references/recipes-prisma.md +98 -0
  68. package/src/skills/nest-best-practices/references/recipes-terminus.md +148 -0
  69. package/src/skills/nest-best-practices/references/recipes-typeorm.md +122 -0
  70. package/src/skills/nest-best-practices/references/security-authorization.md +196 -0
  71. package/src/skills/nest-best-practices/references/security-cors-helmet-rate-limiting.md +204 -0
  72. package/src/skills/nest-best-practices/references/security-encryption-hashing.md +93 -0
  73. package/src/skills/nest-best-practices/references/techniques-caching.md +142 -0
  74. package/src/skills/nest-best-practices/references/techniques-compression-streaming-sse.md +194 -0
  75. package/src/skills/nest-best-practices/references/techniques-configuration.md +132 -0
  76. package/src/skills/nest-best-practices/references/techniques-database.md +153 -0
  77. package/src/skills/nest-best-practices/references/techniques-events.md +163 -0
  78. package/src/skills/nest-best-practices/references/techniques-fastify.md +137 -0
  79. package/src/skills/nest-best-practices/references/techniques-file-upload.md +140 -0
  80. package/src/skills/nest-best-practices/references/techniques-http-module.md +176 -0
  81. package/src/skills/nest-best-practices/references/techniques-logging.md +146 -0
  82. package/src/skills/nest-best-practices/references/techniques-mvc-serve-static.md +132 -0
  83. package/src/skills/nest-best-practices/references/techniques-queues.md +162 -0
  84. package/src/skills/nest-best-practices/references/techniques-serialization.md +158 -0
  85. package/src/skills/nest-best-practices/references/techniques-sessions-cookies.md +167 -0
  86. package/src/skills/nest-best-practices/references/techniques-task-scheduling.md +166 -0
  87. package/src/skills/nest-best-practices/references/techniques-validation.md +126 -0
  88. package/src/skills/nest-best-practices/references/techniques-versioning.md +153 -0
  89. package/src/skills/nest-best-practices/references/websockets-advanced.md +96 -0
  90. package/src/skills/nest-best-practices/references/websockets-gateways.md +215 -0
  91. package/src/skills/tailwindcss-best-practices/SKILL.md +180 -0
  92. package/src/skills/tailwindcss-best-practices/references/best-practices-utility-patterns.md +87 -0
  93. package/src/skills/tailwindcss-best-practices/references/core-installation.md +109 -0
  94. package/src/skills/tailwindcss-best-practices/references/core-preflight.md +200 -0
  95. package/src/skills/tailwindcss-best-practices/references/core-responsive.md +163 -0
  96. package/src/skills/tailwindcss-best-practices/references/core-source-detection.md +114 -0
  97. package/src/skills/tailwindcss-best-practices/references/core-theme.md +108 -0
  98. package/src/skills/tailwindcss-best-practices/references/core-utility-classes.md +59 -0
  99. package/src/skills/tailwindcss-best-practices/references/core-variants.md +204 -0
  100. package/src/skills/tailwindcss-best-practices/references/effects-form-controls.md +76 -0
  101. package/src/skills/tailwindcss-best-practices/references/effects-mask.md +91 -0
  102. package/src/skills/tailwindcss-best-practices/references/effects-scroll-snap.md +59 -0
  103. package/src/skills/tailwindcss-best-practices/references/effects-text-shadow.md +78 -0
  104. package/src/skills/tailwindcss-best-practices/references/effects-transition-animation.md +80 -0
  105. package/src/skills/tailwindcss-best-practices/references/effects-visibility-interactivity.md +82 -0
  106. package/src/skills/tailwindcss-best-practices/references/features-content-detection.md +175 -0
  107. package/src/skills/tailwindcss-best-practices/references/features-custom-styles.md +203 -0
  108. package/src/skills/tailwindcss-best-practices/references/features-dark-mode.md +137 -0
  109. package/src/skills/tailwindcss-best-practices/references/features-functions-directives.md +241 -0
  110. package/src/skills/tailwindcss-best-practices/references/features-upgrade.md +160 -0
  111. package/src/skills/tailwindcss-best-practices/references/layout-aspect-ratio.md +39 -0
  112. package/src/skills/tailwindcss-best-practices/references/layout-columns.md +80 -0
  113. package/src/skills/tailwindcss-best-practices/references/layout-display.md +110 -0
  114. package/src/skills/tailwindcss-best-practices/references/layout-flexbox.md +112 -0
  115. package/src/skills/tailwindcss-best-practices/references/layout-grid.md +87 -0
  116. package/src/skills/tailwindcss-best-practices/references/layout-height.md +97 -0
  117. package/src/skills/tailwindcss-best-practices/references/layout-inset.md +103 -0
  118. package/src/skills/tailwindcss-best-practices/references/layout-logical-properties.md +92 -0
  119. package/src/skills/tailwindcss-best-practices/references/layout-margin.md +126 -0
  120. package/src/skills/tailwindcss-best-practices/references/layout-min-max-sizing.md +63 -0
  121. package/src/skills/tailwindcss-best-practices/references/layout-object-fit-position.md +64 -0
  122. package/src/skills/tailwindcss-best-practices/references/layout-overflow.md +57 -0
  123. package/src/skills/tailwindcss-best-practices/references/layout-padding.md +77 -0
  124. package/src/skills/tailwindcss-best-practices/references/layout-position.md +85 -0
  125. package/src/skills/tailwindcss-best-practices/references/layout-tables.md +67 -0
  126. package/src/skills/tailwindcss-best-practices/references/layout-width.md +102 -0
  127. package/src/skills/tailwindcss-best-practices/references/transform-base.md +68 -0
  128. package/src/skills/tailwindcss-best-practices/references/transform-rotate.md +70 -0
  129. package/src/skills/tailwindcss-best-practices/references/transform-scale.md +83 -0
  130. package/src/skills/tailwindcss-best-practices/references/transform-skew.md +62 -0
  131. package/src/skills/tailwindcss-best-practices/references/transform-translate.md +77 -0
  132. package/src/skills/tailwindcss-best-practices/references/typography-font-text.md +142 -0
  133. package/src/skills/tailwindcss-best-practices/references/typography-list-style.md +65 -0
  134. package/src/skills/tailwindcss-best-practices/references/typography-text-align.md +60 -0
  135. package/src/skills/tailwindcss-best-practices/references/visual-background.md +76 -0
  136. package/src/skills/tailwindcss-best-practices/references/visual-border.md +108 -0
  137. package/src/skills/tailwindcss-best-practices/references/visual-effects.md +111 -0
  138. package/src/skills/tailwindcss-best-practices/references/visual-svg.md +82 -0
  139. package/src/skills/test-mobile-app/SKILL.md +11 -6
  140. package/src/skills/test-mobile-app/scripts/analyze_apk.py +15 -4
  141. package/src/skills/test-mobile-app/scripts/check_environment.py +5 -5
  142. package/src/skills/test-mobile-app/scripts/run_tests.py +1 -1
  143. package/src/skills/test-web-ui/SKILL.md +264 -84
  144. package/src/skills/test-web-ui/scripts/discover.py +25 -12
  145. package/src/skills/test-web-ui/scripts/run_tests.py +3 -2
  146. package/src/skills/typescript-expert/SKILL.md +145 -0
  147. package/src/skills/typescript-expert/commands/typescript-fix.md +65 -0
  148. package/src/skills/typescript-expert/references/advanced-conditional-types.md +190 -0
  149. package/src/skills/typescript-expert/references/advanced-decorators.md +243 -0
  150. package/src/skills/typescript-expert/references/advanced-mapped-types.md +223 -0
  151. package/src/skills/typescript-expert/references/advanced-template-literals.md +209 -0
  152. package/src/skills/typescript-expert/references/advanced-type-guards.md +308 -0
  153. package/src/skills/typescript-expert/references/best-practices-patterns.md +313 -0
  154. package/src/skills/typescript-expert/references/best-practices-performance.md +185 -0
  155. package/src/skills/typescript-expert/references/best-practices-tsconfig.md +242 -0
  156. package/src/skills/typescript-expert/references/core-generics.md +246 -0
  157. package/src/skills/typescript-expert/references/core-interfaces-types.md +231 -0
  158. package/src/skills/typescript-expert/references/core-type-system.md +261 -0
  159. package/src/skills/typescript-expert/references/core-utility-types.md +235 -0
  160. package/src/skills/typescript-expert/references/features-ts5x.md +370 -0
  161. package/src/skills/vite-best-practices/SKILL.md +115 -0
  162. package/src/skills/vite-best-practices/references/build-and-ssr.md +255 -0
  163. package/src/skills/vite-best-practices/references/core-config.md +231 -0
  164. package/src/skills/vite-best-practices/references/core-features.md +222 -0
  165. package/src/skills/vite-best-practices/references/core-plugin-api.md +294 -0
  166. package/src/skills/vite-best-practices/references/environment-api.md +108 -0
  167. package/src/skills/vite-best-practices/references/rolldown-migration.md +242 -0
  168. package/codex-cli-workspace/iteration-1/benchmark.json +0 -122
  169. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/eval_metadata.json +0 -13
  170. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/grading.json +0 -52
  171. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/outputs/response.md +0 -163
  172. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/timing.json +0 -5
  173. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/grading.json +0 -58
  174. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/outputs/response.md +0 -151
  175. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/timing.json +0 -5
  176. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/eval_metadata.json +0 -13
  177. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/grading.json +0 -52
  178. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/outputs/response.md +0 -86
  179. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/timing.json +0 -5
  180. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/grading.json +0 -58
  181. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/outputs/response.md +0 -164
  182. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/timing.json +0 -5
  183. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/eval_metadata.json +0 -13
  184. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/grading.json +0 -52
  185. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/outputs/response.md +0 -130
  186. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/timing.json +0 -5
  187. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/grading.json +0 -64
  188. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/outputs/response.md +0 -209
  189. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/timing.json +0 -5
  190. package/codex-cli-workspace/iteration-1/review.html +0 -1325
  191. package/gemini-cli-workspace/iteration-1/benchmark.json +0 -86
  192. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/eval_metadata.json +0 -37
  193. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/grading.json +0 -37
  194. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/outputs/response.md +0 -401
  195. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/timing.json +0 -5
  196. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/grading.json +0 -37
  197. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/outputs/response.md +0 -405
  198. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/timing.json +0 -5
  199. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/eval_metadata.json +0 -37
  200. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/grading.json +0 -37
  201. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/outputs/response.md +0 -212
  202. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/timing.json +0 -5
  203. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/grading.json +0 -37
  204. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/outputs/response.md +0 -427
  205. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/timing.json +0 -5
  206. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/eval_metadata.json +0 -32
  207. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/grading.json +0 -32
  208. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/outputs/response.md +0 -171
  209. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/timing.json +0 -5
  210. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/grading.json +0 -32
  211. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/outputs/response.md +0 -199
  212. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/timing.json +0 -5
  213. package/gemini-cli-workspace/iteration-1/review.html +0 -1325
  214. package/gemini-cli-workspace/iteration-2/benchmark.json +0 -173
  215. package/gemini-cli-workspace/iteration-2/benchmark.md +0 -28
  216. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/eval_metadata.json +0 -37
  217. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/grading.json +0 -37
  218. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/outputs/response.md +0 -195
  219. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/timing.json +0 -5
  220. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/grading.json +0 -37
  221. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/outputs/response.md +0 -377
  222. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/timing.json +0 -5
  223. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/eval_metadata.json +0 -37
  224. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/grading.json +0 -37
  225. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/outputs/response.md +0 -127
  226. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/timing.json +0 -5
  227. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/grading.json +0 -37
  228. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/outputs/response.md +0 -164
  229. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/timing.json +0 -5
  230. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/eval_metadata.json +0 -32
  231. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/grading.json +0 -32
  232. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/outputs/response.md +0 -91
  233. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/timing.json +0 -5
  234. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/grading.json +0 -32
  235. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/outputs/response.md +0 -112
  236. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/timing.json +0 -5
  237. package/gemini-cli-workspace/iteration-2/eval-viewer.html +0 -1325
  238. package/screen-recording-workspace/evals.json +0 -41
  239. package/screen-recording-workspace/iteration-1/benchmark.json +0 -102
  240. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/eval_metadata.json +0 -31
  241. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/grading.json +0 -11
  242. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/outputs/demo.mp4 +0 -0
  243. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/timing.json +0 -5
  244. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/grading.json +0 -11
  245. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/outputs/demo.mp4 +0 -0
  246. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/timing.json +0 -5
  247. package/screen-recording-workspace/iteration-1/eval-1-region-audio/eval_metadata.json +0 -31
  248. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/grading.json +0 -11
  249. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/outputs/region_capture.mp4 +0 -0
  250. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/timing.json +0 -5
  251. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/grading.json +0 -11
  252. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/outputs/region_capture.mp4 +0 -0
  253. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/timing.json +0 -5
  254. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/eval_metadata.json +0 -31
  255. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/grading.json +0 -11
  256. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/outputs/fallback_recording.mp4 +0 -0
  257. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/timing.json +0 -5
  258. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/grading.json +0 -11
  259. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/outputs/fallback_recording.mp4 +0 -0
  260. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/outputs/record_screen.py +0 -67
  261. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/timing.json +0 -5
  262. package/screen-recording-workspace/iteration-1/review.html +0 -1325
  263. package/src/skills/codex-cli/evals/evals.json +0 -47
  264. package/src/skills/gemini-cli/evals/evals.json +0 -46
  265. package/src/skills/tm-search/evals/evals.json +0 -23
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: recipes-documentation
3
+ description: OpenAPI/Swagger documentation setup in NestJS
4
+ ---
5
+
6
+ # API Documentation
7
+
8
+ NestJS provides integration with Swagger/OpenAPI for automatic API documentation generation.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ npm install --save @nestjs/swagger
14
+ ```
15
+
16
+ ## Basic Setup
17
+
18
+ ```typescript
19
+ import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
20
+
21
+ async function bootstrap() {
22
+ const app = await NestFactory.create(AppModule);
23
+
24
+ const config = new DocumentBuilder()
25
+ .setTitle('Cats example')
26
+ .setDescription('The cats API description')
27
+ .setVersion('1.0')
28
+ .addTag('cats')
29
+ .build();
30
+ const document = SwaggerModule.createDocument(app, config);
31
+ SwaggerModule.setup('api', app, document);
32
+
33
+ await app.listen(3000);
34
+ }
35
+ bootstrap();
36
+ ```
37
+
38
+ ## DTO Decorators
39
+
40
+ ```typescript
41
+ import { ApiProperty } from '@nestjs/swagger';
42
+
43
+ export class CreateCatDto {
44
+ @ApiProperty()
45
+ name: string;
46
+
47
+ @ApiProperty()
48
+ age: number;
49
+
50
+ @ApiProperty()
51
+ breed: string;
52
+ }
53
+ ```
54
+
55
+ ## Controller Decorators
56
+
57
+ ```typescript
58
+ import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger';
59
+
60
+ @ApiTags('cats')
61
+ @Controller('cats')
62
+ export class CatsController {
63
+ @Post()
64
+ @ApiOperation({ summary: 'Create a new cat' })
65
+ @ApiResponse({ status: 201, description: 'The cat has been successfully created.' })
66
+ @ApiResponse({ status: 403, description: 'Forbidden.' })
67
+ create(@Body() createCatDto: CreateCatDto) {
68
+ return this.catsService.create(createCatDto);
69
+ }
70
+ }
71
+ ```
72
+
73
+ ## Security
74
+
75
+ ```typescript
76
+ const config = new DocumentBuilder()
77
+ .addBearerAuth()
78
+ .build();
79
+ ```
80
+
81
+ ## Key Points
82
+
83
+ - Use `@nestjs/swagger` for OpenAPI integration
84
+ - Decorate DTOs with `@ApiProperty()`
85
+ - Use `@ApiTags()` to group endpoints
86
+ - Add `@ApiOperation()` and `@ApiResponse()` for documentation
87
+ - Configure security schemes for authentication
88
+ - Access docs at `/api` endpoint
89
+
90
+ <!--
91
+ Source references:
92
+ - https://docs.nestjs.com/openapi/introduction
93
+ -->
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: mongoose
3
+ description: MongoDB integration with Mongoose ODM
4
+ ---
5
+
6
+ # Mongoose (MongoDB)
7
+
8
+ Mongoose is the most popular MongoDB object modeling tool for Node.js.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ npm i @nestjs/mongoose mongoose
14
+ ```
15
+
16
+ ## Setup
17
+
18
+ ```typescript
19
+ @Module({
20
+ imports: [
21
+ MongooseModule.forRoot('mongodb://localhost/nest'),
22
+ // Or with options
23
+ MongooseModule.forRoot('mongodb://localhost/nest', {
24
+ connectionName: 'cats',
25
+ }),
26
+ ],
27
+ })
28
+ export class AppModule {}
29
+ ```
30
+
31
+ ## Schema Definition
32
+
33
+ ```typescript
34
+ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
35
+ import { HydratedDocument } from 'mongoose';
36
+
37
+ export type CatDocument = HydratedDocument<Cat>;
38
+
39
+ @Schema()
40
+ export class Cat {
41
+ @Prop()
42
+ name: string;
43
+
44
+ @Prop({ required: true })
45
+ age: number;
46
+
47
+ @Prop([String])
48
+ tags: string[];
49
+
50
+ @Prop({ default: Date.now })
51
+ createdAt: Date;
52
+
53
+ @Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'Owner' })
54
+ owner: Owner;
55
+ }
56
+
57
+ export const CatSchema = SchemaFactory.createForClass(Cat);
58
+ ```
59
+
60
+ ## Register Model
61
+
62
+ ```typescript
63
+ @Module({
64
+ imports: [
65
+ MongooseModule.forFeature([
66
+ { name: Cat.name, schema: CatSchema },
67
+ ]),
68
+ ],
69
+ })
70
+ export class CatsModule {}
71
+ ```
72
+
73
+ ## Inject and Use
74
+
75
+ ```typescript
76
+ @Injectable()
77
+ export class CatsService {
78
+ constructor(
79
+ @InjectModel(Cat.name) private catModel: Model<CatDocument>,
80
+ ) {}
81
+
82
+ async create(createCatDto: CreateCatDto) {
83
+ const created = new this.catModel(createCatDto);
84
+ return created.save();
85
+ }
86
+
87
+ async findAll(): Promise<Cat[]> {
88
+ return this.catModel.find().exec();
89
+ }
90
+
91
+ async findOne(id: string) {
92
+ return this.catModel.findById(id).populate('owner').exec();
93
+ }
94
+ }
95
+ ```
96
+
97
+ ## @Prop Options
98
+
99
+ | Option | Description |
100
+ |--------|-------------|
101
+ | `required` | Required field |
102
+ | `default` | Default value |
103
+ | `unique` | Unique index |
104
+ | `index` | Create index |
105
+ | `type` | Explicit type (e.g., `mongoose.Schema.Types.ObjectId`) |
106
+ | `ref` | Reference to another model |
107
+
108
+ ## Relations (Population)
109
+
110
+ ```typescript
111
+ @Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'Owner' })
112
+ owner: Owner;
113
+
114
+ // Multiple
115
+ @Prop({ type: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Owner' }] })
116
+ owners: Owner[];
117
+ ```
118
+
119
+ ```typescript
120
+ return this.catModel.find().populate('owner').exec();
121
+ return this.catModel.find().populate({ path: 'owner', select: 'name' }).exec();
122
+ ```
123
+
124
+ ## Plugins
125
+
126
+ ```typescript
127
+ CatSchema.plugin(require('mongoose-autopopulate'));
128
+ ```
129
+
130
+ ## Async Configuration
131
+
132
+ ```typescript
133
+ MongooseModule.forRootAsync({
134
+ imports: [ConfigModule],
135
+ useFactory: (config: ConfigService) => ({
136
+ uri: config.get('MONGODB_URI'),
137
+ }),
138
+ inject: [ConfigService],
139
+ }),
140
+ ```
141
+
142
+ ## Key Points
143
+
144
+ - Use `@Schema()` and `@Prop()` decorators
145
+ - `SchemaFactory.createForClass()` generates schema
146
+ - `@InjectModel()` injects Model
147
+ - Use `populate()` for relations
148
+ - `HydratedDocument<Cat>` for typed documents
149
+
150
+ <!--
151
+ Source references:
152
+ - https://docs.nestjs.com/techniques/mongodb
153
+ -->
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: recipes-prisma
3
+ description: Prisma ORM integration in NestJS
4
+ ---
5
+
6
+ # Prisma Integration
7
+
8
+ Prisma is a next-generation ORM that provides type-safe database access.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ npm install --save @prisma/client
14
+ npm install --save-dev prisma
15
+ npx prisma init
16
+ ```
17
+
18
+ ## Prisma Service
19
+
20
+ ```typescript
21
+ import { Injectable, OnModuleInit } from '@nestjs/common';
22
+ import { PrismaClient } from '@prisma/client';
23
+
24
+ @Injectable()
25
+ export class PrismaService extends PrismaClient implements OnModuleInit {
26
+ async onModuleInit() {
27
+ await this.$connect();
28
+ }
29
+ }
30
+ ```
31
+
32
+ ## Module Setup
33
+
34
+ ```typescript
35
+ import { Module } from '@nestjs/common';
36
+ import { PrismaService } from './prisma.service';
37
+
38
+ @Module({
39
+ providers: [PrismaService],
40
+ exports: [PrismaService],
41
+ })
42
+ export class PrismaModule {}
43
+ ```
44
+
45
+ ## Using Prisma Service
46
+
47
+ ```typescript
48
+ import { Injectable } from '@nestjs/common';
49
+ import { PrismaService } from './prisma.service';
50
+
51
+ @Injectable()
52
+ export class UsersService {
53
+ constructor(private prisma: PrismaService) {}
54
+
55
+ async findAll() {
56
+ return this.prisma.user.findMany();
57
+ }
58
+
59
+ async findOne(id: number) {
60
+ return this.prisma.user.findUnique({
61
+ where: { id },
62
+ });
63
+ }
64
+
65
+ async create(data: CreateUserDto) {
66
+ return this.prisma.user.create({
67
+ data,
68
+ });
69
+ }
70
+
71
+ async update(id: number, data: UpdateUserDto) {
72
+ return this.prisma.user.update({
73
+ where: { id },
74
+ data,
75
+ });
76
+ }
77
+
78
+ async remove(id: number) {
79
+ return this.prisma.user.delete({
80
+ where: { id },
81
+ });
82
+ }
83
+ }
84
+ ```
85
+
86
+ ## Key Points
87
+
88
+ - Prisma provides type-safe database access
89
+ - Extend `PrismaClient` for service
90
+ - Use `$connect()` in `onModuleInit()`
91
+ - Prisma generates types from schema
92
+ - Use Prisma Studio for database management
93
+ - Supports migrations and seeding
94
+
95
+ <!--
96
+ Source references:
97
+ - https://docs.nestjs.com/recipes/prisma
98
+ -->
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: terminus
3
+ description: Health checks and readiness/liveness probes with @nestjs/terminus
4
+ ---
5
+
6
+ # Health Checks (Terminus)
7
+
8
+ Readiness/liveness probes for Kubernetes and orchestration.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ npm install @nestjs/terminus
14
+ ```
15
+
16
+ ## Basic Setup
17
+
18
+ ```typescript
19
+ @Module({
20
+ imports: [TerminusModule],
21
+ })
22
+ export class HealthModule {}
23
+
24
+ @Controller('health')
25
+ export class HealthController {
26
+ constructor(
27
+ private health: HealthCheckService,
28
+ private http: HttpHealthIndicator,
29
+ ) {}
30
+
31
+ @Get()
32
+ @HealthCheck()
33
+ check() {
34
+ return this.health.check([
35
+ () => this.http.pingCheck('nestjs-docs', 'https://docs.nestjs.com'),
36
+ ]);
37
+ }
38
+ }
39
+ ```
40
+
41
+ ## Health Indicators
42
+
43
+ | Indicator | Purpose |
44
+ |-----------|---------|
45
+ | `HttpHealthIndicator` | HTTP ping |
46
+ | `TypeOrmHealthIndicator` | Database (SELECT 1) |
47
+ | `MongooseHealthIndicator` | MongoDB |
48
+ | `PrismaHealthIndicator` | Prisma |
49
+ | `MemoryHealthIndicator` | Heap/RSS limits |
50
+ | `DiskHealthIndicator` | Disk space |
51
+ | `MicroserviceHealthIndicator` | Microservice |
52
+ | `GRPCHealthIndicator` | gRPC |
53
+
54
+ ## TypeORM
55
+
56
+ ```typescript
57
+ constructor(
58
+ private health: HealthCheckService,
59
+ private db: TypeOrmHealthIndicator,
60
+ ) {}
61
+
62
+ @Get()
63
+ @HealthCheck()
64
+ check() {
65
+ return this.health.check([
66
+ () => this.db.pingCheck('database'),
67
+ ]);
68
+ }
69
+ ```
70
+
71
+ Multiple databases: inject connections and pass to `pingCheck('name', { connection })`.
72
+
73
+ ## Memory
74
+
75
+ ```typescript
76
+ return this.health.check([
77
+ () => this.memory.checkHeap('memory_heap', 150 * 1024 * 1024), // 150MB
78
+ () => this.memory.checkRSS('memory_rss', 150 * 1024 * 1024),
79
+ ]);
80
+ ```
81
+
82
+ ## Disk
83
+
84
+ ```typescript
85
+ return this.health.check([
86
+ () => this.disk.checkStorage('storage', { path: '/', thresholdPercent: 0.5 }),
87
+ () => this.disk.checkStorage('storage', { path: '/', threshold: 250 * 1024 * 1024 * 1024 }),
88
+ ]);
89
+ ```
90
+
91
+ ## HTTP Response Check
92
+
93
+ ```typescript
94
+ () => this.http.responseCheck(
95
+ 'my-service',
96
+ 'https://my-service.com',
97
+ (res) => res.status === 204,
98
+ ),
99
+ ```
100
+
101
+ ## Custom Indicator
102
+
103
+ ```typescript
104
+ @Injectable()
105
+ export class DogHealthIndicator {
106
+ constructor(private health: HealthIndicatorService) {}
107
+
108
+ async isHealthy(key: string) {
109
+ const indicator = this.health.check(key);
110
+ const isHealthy = /* custom logic */;
111
+ if (!isHealthy) return indicator.down({ reason: '...' });
112
+ return indicator.up();
113
+ }
114
+ }
115
+ ```
116
+
117
+ ## Response Format
118
+
119
+ ```json
120
+ {
121
+ "status": "ok",
122
+ "info": { "database": { "status": "up" } },
123
+ "error": {},
124
+ "details": { "database": { "status": "up" } }
125
+ }
126
+ ```
127
+
128
+ Status: `'ok' | 'error' | 'shutting_down'`
129
+
130
+ ## Graceful Shutdown
131
+
132
+ ```typescript
133
+ TerminusModule.forRoot({
134
+ gracefulShutdownTimeoutMs: 1000,
135
+ }),
136
+ ```
137
+
138
+ ## Key Points
139
+
140
+ - Enable shutdown hooks for Terminus lifecycle
141
+ - Use `@HealthCheck()` decorator on endpoints
142
+ - `HttpHealthIndicator` requires `@nestjs/axios`
143
+ - Custom indicators extend `HealthIndicatorService`
144
+
145
+ <!--
146
+ Source references:
147
+ - https://docs.nestjs.com/recipes/terminus
148
+ -->
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: recipes-typeorm
3
+ description: TypeORM integration and usage in NestJS
4
+ ---
5
+
6
+ # TypeORM Integration
7
+
8
+ TypeORM is a popular ORM for TypeScript and JavaScript that works with NestJS.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ npm install --save @nestjs/typeorm typeorm mysql2
14
+ ```
15
+
16
+ ## Configuration
17
+
18
+ ```typescript
19
+ import { TypeOrmModule } from '@nestjs/typeorm';
20
+
21
+ @Module({
22
+ imports: [
23
+ TypeOrmModule.forRoot({
24
+ type: 'mysql',
25
+ host: 'localhost',
26
+ port: 3306,
27
+ username: 'root',
28
+ password: 'root',
29
+ database: 'test',
30
+ entities: [User],
31
+ synchronize: true,
32
+ }),
33
+ ],
34
+ })
35
+ export class AppModule {}
36
+ ```
37
+
38
+ ## Entity Definition
39
+
40
+ ```typescript
41
+ import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
42
+
43
+ @Entity()
44
+ export class User {
45
+ @PrimaryGeneratedColumn()
46
+ id: number;
47
+
48
+ @Column()
49
+ firstName: string;
50
+
51
+ @Column()
52
+ lastName: string;
53
+
54
+ @Column({ default: true })
55
+ isActive: boolean;
56
+ }
57
+ ```
58
+
59
+ ## Feature Module
60
+
61
+ ```typescript
62
+ import { Module } from '@nestjs/common';
63
+ import { TypeOrmModule } from '@nestjs/typeorm';
64
+ import { User } from './user.entity';
65
+ import { UsersService } from './users.service';
66
+ import { UsersController } from './users.controller';
67
+
68
+ @Module({
69
+ imports: [TypeOrmModule.forFeature([User])],
70
+ providers: [UsersService],
71
+ controllers: [UsersController],
72
+ })
73
+ export class UsersModule {}
74
+ ```
75
+
76
+ ## Repository Injection
77
+
78
+ ```typescript
79
+ import { Injectable } from '@nestjs/common';
80
+ import { InjectRepository } from '@nestjs/typeorm';
81
+ import { Repository } from 'typeorm';
82
+ import { User } from './user.entity';
83
+
84
+ @Injectable()
85
+ export class UsersService {
86
+ constructor(
87
+ @InjectRepository(User)
88
+ private usersRepository: Repository<User>,
89
+ ) {}
90
+
91
+ findAll(): Promise<User[]> {
92
+ return this.usersRepository.find();
93
+ }
94
+
95
+ findOne(id: number): Promise<User> {
96
+ return this.usersRepository.findOneBy({ id });
97
+ }
98
+
99
+ async create(user: User): Promise<User> {
100
+ return this.usersRepository.save(user);
101
+ }
102
+
103
+ async remove(id: number): Promise<void> {
104
+ await this.usersRepository.delete(id);
105
+ }
106
+ }
107
+ ```
108
+
109
+ ## Key Points
110
+
111
+ - Use `TypeOrmModule.forRoot()` for configuration
112
+ - Use `TypeOrmModule.forFeature()` in feature modules
113
+ - Inject repositories with `@InjectRepository()`
114
+ - Define entities with decorators
115
+ - Use repository methods for database operations
116
+ - Configure connection in root module
117
+
118
+ <!--
119
+ Source references:
120
+ - https://docs.nestjs.com/techniques/database
121
+ - https://docs.nestjs.com/recipes/sql-typeorm
122
+ -->