@xonovex/skills 0.1.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 (341) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/commands/code-align.md +108 -0
  3. package/commands/code-harden.md +74 -0
  4. package/commands/code-simplify.md +145 -0
  5. package/commands/git-commit.md +146 -0
  6. package/commands/insights-extract.md +109 -0
  7. package/commands/insights-integrate.md +100 -0
  8. package/commands/plan-continue.md +167 -0
  9. package/commands/plan-create.md +107 -0
  10. package/commands/plan-research.md +113 -0
  11. package/commands/plan-subplans-create.md +111 -0
  12. package/commands/plan-tdd-create.md +128 -0
  13. package/commands/plan-update.md +99 -0
  14. package/commands/plan-validate.md +100 -0
  15. package/commands/plan-worktree-abandon.md +104 -0
  16. package/commands/plan-worktree-create.md +92 -0
  17. package/commands/plan-worktree-merge.md +132 -0
  18. package/package.json +44 -0
  19. package/skills/astro-guidelines/SKILL.md +23 -0
  20. package/skills/astro-guidelines/reference/accessibility.md +31 -0
  21. package/skills/astro-guidelines/reference/components.md +42 -0
  22. package/skills/astro-guidelines/reference/content-collections.md +32 -0
  23. package/skills/astro-guidelines/reference/islands-architecture.md +26 -0
  24. package/skills/astro-guidelines/reference/project-structure.md +32 -0
  25. package/skills/c99-game-opinionated-guidelines/SKILL.md +43 -0
  26. package/skills/c99-game-opinionated-guidelines/reference/builder-pattern.md +29 -0
  27. package/skills/c99-game-opinionated-guidelines/reference/coordinate-system.md +27 -0
  28. package/skills/c99-game-opinionated-guidelines/reference/geometry-pipeline.md +29 -0
  29. package/skills/c99-game-opinionated-guidelines/reference/math-types.md +31 -0
  30. package/skills/c99-game-opinionated-guidelines/reference/mesh-types.md +32 -0
  31. package/skills/c99-game-opinionated-guidelines/reference/physics-patterns.md +28 -0
  32. package/skills/c99-game-opinionated-guidelines/reference/spatial-structures.md +26 -0
  33. package/skills/c99-game-opinionated-guidelines/reference/tagged-unions.md +40 -0
  34. package/skills/c99-game-opinionated-guidelines/reference/vertex-packing.md +38 -0
  35. package/skills/c99-guidelines/SKILL.md +29 -0
  36. package/skills/c99-guidelines/reference/compound-literals.md +33 -0
  37. package/skills/c99-guidelines/reference/const-correctness.md +32 -0
  38. package/skills/c99-guidelines/reference/designated-initializers.md +32 -0
  39. package/skills/c99-guidelines/reference/error-handling.md +49 -0
  40. package/skills/c99-guidelines/reference/inline-functions.md +37 -0
  41. package/skills/c99-guidelines/reference/memory-management.md +35 -0
  42. package/skills/c99-opinionated-guidelines/SKILL.md +44 -0
  43. package/skills/c99-opinionated-guidelines/reference/alignment.md +50 -0
  44. package/skills/c99-opinionated-guidelines/reference/caller-owns-memory.md +38 -0
  45. package/skills/c99-opinionated-guidelines/reference/compound-literals.md +33 -0
  46. package/skills/c99-opinionated-guidelines/reference/const-correctness.md +32 -0
  47. package/skills/c99-opinionated-guidelines/reference/data-oriented-design.md +42 -0
  48. package/skills/c99-opinionated-guidelines/reference/designated-initializers.md +32 -0
  49. package/skills/c99-opinionated-guidelines/reference/error-handling.md +49 -0
  50. package/skills/c99-opinionated-guidelines/reference/file-naming.md +33 -0
  51. package/skills/c99-opinionated-guidelines/reference/implementation-variants.md +35 -0
  52. package/skills/c99-opinionated-guidelines/reference/inline-functions.md +37 -0
  53. package/skills/c99-opinionated-guidelines/reference/memory-management.md +35 -0
  54. package/skills/c99-opinionated-guidelines/reference/safety-validations.md +32 -0
  55. package/skills/c99-opinionated-guidelines/reference/testing-patterns.md +39 -0
  56. package/skills/cmake-guidelines/SKILL.md +31 -0
  57. package/skills/cmake-guidelines/reference/compile-options.md +34 -0
  58. package/skills/cmake-guidelines/reference/fetchcontent.md +32 -0
  59. package/skills/cmake-guidelines/reference/find-package.md +29 -0
  60. package/skills/cmake-guidelines/reference/generator-expressions.md +34 -0
  61. package/skills/cmake-guidelines/reference/installation.md +38 -0
  62. package/skills/cmake-guidelines/reference/project-structure.md +40 -0
  63. package/skills/cmake-guidelines/reference/target-types.md +37 -0
  64. package/skills/cmake-guidelines/reference/testing.md +30 -0
  65. package/skills/cmake-guidelines/reference/visibility-specifiers.md +32 -0
  66. package/skills/content-guidelines/SKILL.md +36 -0
  67. package/skills/content-guidelines/reference/humanize.md +30 -0
  68. package/skills/content-guidelines/reference/news.md +28 -0
  69. package/skills/content-guidelines/reference/travelguide.md +31 -0
  70. package/skills/docker-guidelines/SKILL.md +23 -0
  71. package/skills/docker-guidelines/reference/docker-compose.md +40 -0
  72. package/skills/docker-guidelines/reference/layer-caching.md +25 -0
  73. package/skills/docker-guidelines/reference/multi-stage-builds.md +37 -0
  74. package/skills/docker-guidelines/reference/production-config.md +32 -0
  75. package/skills/docker-guidelines/reference/security.md +27 -0
  76. package/skills/express.js-guidelines/SKILL.md +32 -0
  77. package/skills/express.js-guidelines/reference/app-setup.md +39 -0
  78. package/skills/express.js-guidelines/reference/authentication.md +39 -0
  79. package/skills/express.js-guidelines/reference/controllers.md +49 -0
  80. package/skills/express.js-guidelines/reference/error-handling.md +54 -0
  81. package/skills/express.js-guidelines/reference/project-structure.md +29 -0
  82. package/skills/express.js-guidelines/reference/responses.md +30 -0
  83. package/skills/express.js-guidelines/reference/routes.md +29 -0
  84. package/skills/express.js-guidelines/reference/testing.md +39 -0
  85. package/skills/express.js-guidelines/reference/validation.md +41 -0
  86. package/skills/general-fp-guidelines/SKILL.md +28 -0
  87. package/skills/general-oop-guidelines/SKILL.md +28 -0
  88. package/skills/git-guidelines/SKILL.md +46 -0
  89. package/skills/git-guidelines/reference/commit.md +32 -0
  90. package/skills/git-guidelines/reference/merge-resolve.md +38 -0
  91. package/skills/git-guidelines/reference/worktree-abandon.md +48 -0
  92. package/skills/git-guidelines/reference/worktree-cleanup.md +40 -0
  93. package/skills/git-guidelines/reference/worktree-commit.md +46 -0
  94. package/skills/git-guidelines/reference/worktree-create.md +42 -0
  95. package/skills/git-guidelines/reference/worktree-merge.md +45 -0
  96. package/skills/git-guidelines/reference/worktree-validate.md +44 -0
  97. package/skills/hono-guidelines/SKILL.md +49 -0
  98. package/skills/hono-guidelines/reference/application-structure.md +53 -0
  99. package/skills/hono-guidelines/reference/context-storage.md +46 -0
  100. package/skills/hono-guidelines/reference/cookie-handling.md +63 -0
  101. package/skills/hono-guidelines/reference/error-handling.md +69 -0
  102. package/skills/hono-guidelines/reference/middleware-combine.md +47 -0
  103. package/skills/hono-guidelines/reference/middleware-patterns.md +58 -0
  104. package/skills/hono-guidelines/reference/platform-runtime.md +41 -0
  105. package/skills/hono-guidelines/reference/security-middleware.md +60 -0
  106. package/skills/hono-guidelines/reference/validation-type-safety.md +43 -0
  107. package/skills/hono-guidelines/reference/websocket-support.md +59 -0
  108. package/skills/hono-opinionated-guidelines/SKILL.md +49 -0
  109. package/skills/hono-opinionated-guidelines/reference/application-structure.md +53 -0
  110. package/skills/hono-opinionated-guidelines/reference/body-limit.md +57 -0
  111. package/skills/hono-opinionated-guidelines/reference/context-storage.md +46 -0
  112. package/skills/hono-opinionated-guidelines/reference/controllers.md +38 -0
  113. package/skills/hono-opinionated-guidelines/reference/cookie-handling.md +63 -0
  114. package/skills/hono-opinionated-guidelines/reference/error-handling.md +69 -0
  115. package/skills/hono-opinionated-guidelines/reference/middleware-combine.md +47 -0
  116. package/skills/hono-opinionated-guidelines/reference/middleware-patterns.md +58 -0
  117. package/skills/hono-opinionated-guidelines/reference/openapi-explicit-status-codes.md +61 -0
  118. package/skills/hono-opinionated-guidelines/reference/openapi-inline-handlers.md +56 -0
  119. package/skills/hono-opinionated-guidelines/reference/openapi-router-hierarchy.md +64 -0
  120. package/skills/hono-opinionated-guidelines/reference/openapi-spec-generation.md +57 -0
  121. package/skills/hono-opinionated-guidelines/reference/platform-runtime.md +41 -0
  122. package/skills/hono-opinionated-guidelines/reference/router-selection.md +34 -0
  123. package/skills/hono-opinionated-guidelines/reference/security-middleware.md +60 -0
  124. package/skills/hono-opinionated-guidelines/reference/validation-type-safety.md +43 -0
  125. package/skills/hono-opinionated-guidelines/reference/websocket-support.md +59 -0
  126. package/skills/insights-guidelines/SKILL.md +28 -0
  127. package/skills/insights-guidelines/reference/insights-extract.md +31 -0
  128. package/skills/insights-guidelines/reference/insights-integrate.md +35 -0
  129. package/skills/instruction-guidelines/SKILL.md +26 -0
  130. package/skills/instruction-guidelines/reference/assimilate.md +38 -0
  131. package/skills/instruction-guidelines/reference/simplify.md +46 -0
  132. package/skills/instruction-guidelines/reference/sync.md +41 -0
  133. package/skills/kubernetes-guidelines/SKILL.md +28 -0
  134. package/skills/kubernetes-guidelines/reference/configmaps-secrets.md +34 -0
  135. package/skills/kubernetes-guidelines/reference/deployments.md +55 -0
  136. package/skills/kubernetes-guidelines/reference/kustomize.md +41 -0
  137. package/skills/kubernetes-guidelines/reference/network-policies.md +53 -0
  138. package/skills/kubernetes-guidelines/reference/services.md +36 -0
  139. package/skills/kubernetes-guidelines/reference/validation.md +32 -0
  140. package/skills/lua-guidelines/SKILL.md +29 -0
  141. package/skills/lua-guidelines/reference/coroutines.md +66 -0
  142. package/skills/lua-guidelines/reference/error-handling.md +41 -0
  143. package/skills/lua-guidelines/reference/idiomatic-patterns.md +40 -0
  144. package/skills/lua-guidelines/reference/input-validation.md +42 -0
  145. package/skills/lua-guidelines/reference/local-variables.md +33 -0
  146. package/skills/lua-guidelines/reference/metatables.md +52 -0
  147. package/skills/lua-guidelines/reference/module-pattern.md +37 -0
  148. package/skills/lua-guidelines/reference/string-concatenation.md +31 -0
  149. package/skills/lua-opinionated-guidelines/SKILL.md +32 -0
  150. package/skills/lua-opinionated-guidelines/reference/cache-lookups.md +43 -0
  151. package/skills/lua-opinionated-guidelines/reference/coroutines.md +66 -0
  152. package/skills/lua-opinionated-guidelines/reference/error-handling.md +41 -0
  153. package/skills/lua-opinionated-guidelines/reference/idiomatic-patterns.md +40 -0
  154. package/skills/lua-opinionated-guidelines/reference/input-validation.md +42 -0
  155. package/skills/lua-opinionated-guidelines/reference/jit-friendly-tables.md +57 -0
  156. package/skills/lua-opinionated-guidelines/reference/local-variables.md +33 -0
  157. package/skills/lua-opinionated-guidelines/reference/metatables.md +52 -0
  158. package/skills/lua-opinionated-guidelines/reference/module-pattern.md +37 -0
  159. package/skills/lua-opinionated-guidelines/reference/string-concatenation.md +31 -0
  160. package/skills/moon-guidelines/SKILL.md +30 -0
  161. package/skills/moon-guidelines/reference/docker-multistage.md +42 -0
  162. package/skills/moon-guidelines/reference/project-constraints.md +25 -0
  163. package/skills/moon-guidelines/reference/query-language.md +27 -0
  164. package/skills/moon-guidelines/reference/tag-based-filtering.md +28 -0
  165. package/skills/moon-guidelines/reference/task-configuration.md +38 -0
  166. package/skills/moon-guidelines/reference/task-inheritance.md +30 -0
  167. package/skills/motion-react-guidelines/SKILL.md +66 -0
  168. package/skills/motion-react-guidelines/reference/3d-effects.md +35 -0
  169. package/skills/motion-react-guidelines/reference/entrance.md +36 -0
  170. package/skills/motion-react-guidelines/reference/exit.md +35 -0
  171. package/skills/motion-react-guidelines/reference/gestures.md +23 -0
  172. package/skills/motion-react-guidelines/reference/layout.md +39 -0
  173. package/skills/motion-react-guidelines/reference/motion-values.md +33 -0
  174. package/skills/motion-react-guidelines/reference/performance.md +32 -0
  175. package/skills/motion-react-guidelines/reference/scroll.md +38 -0
  176. package/skills/motion-react-guidelines/reference/spring-physics.md +40 -0
  177. package/skills/motion-react-guidelines/reference/stagger.md +34 -0
  178. package/skills/motion-react-guidelines/reference/svg-path.md +33 -0
  179. package/skills/motion-react-guidelines/reference/text-effects.md +39 -0
  180. package/skills/plan-guidelines/SKILL.md +56 -0
  181. package/skills/plan-guidelines/reference/code-align.md +23 -0
  182. package/skills/plan-guidelines/reference/code-barrels-remove.md +24 -0
  183. package/skills/plan-guidelines/reference/code-comments-remove.md +28 -0
  184. package/skills/plan-guidelines/reference/code-harden.md +30 -0
  185. package/skills/plan-guidelines/reference/code-shared-extract.md +25 -0
  186. package/skills/plan-guidelines/reference/code-simplify.md +33 -0
  187. package/skills/plan-guidelines/reference/code-template-extract.md +34 -0
  188. package/skills/plan-guidelines/reference/code-template-scaffold.md +36 -0
  189. package/skills/plan-guidelines/reference/general-research.md +35 -0
  190. package/skills/plan-guidelines/reference/plan-create.md +37 -0
  191. package/skills/plan-guidelines/reference/plan-tdd-create.md +44 -0
  192. package/skills/plan-guidelines/reference/todos.md +39 -0
  193. package/skills/presentation-guidelines/SKILL.md +25 -0
  194. package/skills/presentation-guidelines/reference/presentation-create.md +41 -0
  195. package/skills/presentation-guidelines/reference/presentation-motion-scaffold.md +38 -0
  196. package/skills/python-guidelines/SKILL.md +32 -0
  197. package/skills/python-guidelines/reference/async-await-patterns.md +62 -0
  198. package/skills/python-guidelines/reference/caching-functions.md +47 -0
  199. package/skills/python-guidelines/reference/dataclasses-type-hints.md +63 -0
  200. package/skills/python-guidelines/reference/exception-handling.md +72 -0
  201. package/skills/python-guidelines/reference/generators-comprehensions.md +54 -0
  202. package/skills/python-guidelines/reference/pathlib-file-ops.md +60 -0
  203. package/skills/python-guidelines/reference/resource-management.md +58 -0
  204. package/skills/python-guidelines/reference/string-formatting.md +41 -0
  205. package/skills/python-guidelines/reference/type-checking.md +47 -0
  206. package/skills/react-guidelines/SKILL.md +105 -0
  207. package/skills/react-guidelines/reference/accessibility.md +31 -0
  208. package/skills/react-guidelines/reference/activity-effect-event.md +42 -0
  209. package/skills/react-guidelines/reference/component-design.md +57 -0
  210. package/skills/react-guidelines/reference/hooks.md +39 -0
  211. package/skills/react-guidelines/reference/migration-anti-patterns.md +33 -0
  212. package/skills/react-guidelines/reference/migration-deprecations.md +109 -0
  213. package/skills/react-guidelines/reference/migration-paradigm-shifts.md +33 -0
  214. package/skills/react-guidelines/reference/migration-typescript.md +95 -0
  215. package/skills/react-guidelines/reference/new-hooks.md +94 -0
  216. package/skills/react-guidelines/reference/performance-optimization.md +41 -0
  217. package/skills/react-guidelines/reference/react-compiler.md +34 -0
  218. package/skills/react-guidelines/reference/server-components.md +99 -0
  219. package/skills/react-guidelines/reference/state-management.md +72 -0
  220. package/skills/react-guidelines/reference/suspense-streaming.md +36 -0
  221. package/skills/remotion-guidelines/SKILL.md +67 -0
  222. package/skills/remotion-guidelines/reference/animations.md +121 -0
  223. package/skills/remotion-guidelines/reference/assets.md +21 -0
  224. package/skills/remotion-guidelines/reference/captions.md +33 -0
  225. package/skills/remotion-guidelines/reference/charts.md +35 -0
  226. package/skills/remotion-guidelines/reference/compositions.md +40 -0
  227. package/skills/remotion-guidelines/reference/dom-measurement.md +82 -0
  228. package/skills/remotion-guidelines/reference/gifs.md +33 -0
  229. package/skills/remotion-guidelines/reference/lottie.md +41 -0
  230. package/skills/remotion-guidelines/reference/maps.md +26 -0
  231. package/skills/remotion-guidelines/reference/media.md +39 -0
  232. package/skills/remotion-guidelines/reference/mediabunny.md +28 -0
  233. package/skills/remotion-guidelines/reference/sequencing.md +44 -0
  234. package/skills/remotion-guidelines/reference/text.md +24 -0
  235. package/skills/remotion-guidelines/reference/three-d.md +33 -0
  236. package/skills/remotion-guidelines/reference/timing.md +22 -0
  237. package/skills/remotion-guidelines/reference/transitions.md +52 -0
  238. package/skills/shell-scripting-guidelines/SKILL.md +31 -0
  239. package/skills/shell-scripting-guidelines/reference/argument-parsing.md +67 -0
  240. package/skills/shell-scripting-guidelines/reference/common-patterns.md +46 -0
  241. package/skills/shell-scripting-guidelines/reference/error-handling.md +62 -0
  242. package/skills/shell-scripting-guidelines/reference/functions.md +66 -0
  243. package/skills/shell-scripting-guidelines/reference/idempotency.md +57 -0
  244. package/skills/shell-scripting-guidelines/reference/parameter-expansion.md +38 -0
  245. package/skills/shell-scripting-guidelines/reference/posix-compatibility.md +53 -0
  246. package/skills/shell-scripting-guidelines/reference/quoting.md +42 -0
  247. package/skills/shell-scripting-guidelines/reference/script-template.md +70 -0
  248. package/skills/shell-scripting-guidelines/reference/strict-mode.md +41 -0
  249. package/skills/shell-scripting-guidelines/reference/validation.md +30 -0
  250. package/skills/skill-guidelines/SKILL.md +33 -0
  251. package/skills/skill-guidelines/reference/assimilate.md +51 -0
  252. package/skills/skill-guidelines/reference/create.md +48 -0
  253. package/skills/skill-guidelines/reference/extract.md +48 -0
  254. package/skills/skill-guidelines/reference/simplify.md +56 -0
  255. package/skills/sql-postgresql-guidelines/SKILL.md +31 -0
  256. package/skills/sql-postgresql-guidelines/reference/constraints.md +47 -0
  257. package/skills/sql-postgresql-guidelines/reference/cte-patterns.md +42 -0
  258. package/skills/sql-postgresql-guidelines/reference/data-types.md +46 -0
  259. package/skills/sql-postgresql-guidelines/reference/indexing.md +45 -0
  260. package/skills/sql-postgresql-guidelines/reference/jsonb.md +54 -0
  261. package/skills/sql-postgresql-guidelines/reference/performance.md +46 -0
  262. package/skills/sql-postgresql-guidelines/reference/role-based-access.md +47 -0
  263. package/skills/sql-postgresql-guidelines/reference/row-level-security.md +66 -0
  264. package/skills/strudel-guidelines/SKILL.md +52 -0
  265. package/skills/strudel-guidelines/reference/arrangement.md +24 -0
  266. package/skills/strudel-guidelines/reference/conditionals.md +22 -0
  267. package/skills/strudel-guidelines/reference/effects.md +22 -0
  268. package/skills/strudel-guidelines/reference/genre-ambient.md +26 -0
  269. package/skills/strudel-guidelines/reference/genre-harsh.md +21 -0
  270. package/skills/strudel-guidelines/reference/genre-trance.md +23 -0
  271. package/skills/strudel-guidelines/reference/layering.md +22 -0
  272. package/skills/strudel-guidelines/reference/mini-notation.md +74 -0
  273. package/skills/strudel-guidelines/reference/modulation.md +22 -0
  274. package/skills/strudel-guidelines/reference/scales-harmony.md +20 -0
  275. package/skills/strudel-guidelines/reference/sounds.md +89 -0
  276. package/skills/strudel-guidelines/reference/tempo-timing.md +23 -0
  277. package/skills/terraform-guidelines/SKILL.md +28 -0
  278. package/skills/terraform-guidelines/reference/advanced-patterns.md +88 -0
  279. package/skills/terraform-guidelines/reference/locals.md +53 -0
  280. package/skills/terraform-guidelines/reference/module-definition.md +81 -0
  281. package/skills/terraform-guidelines/reference/module-structure.md +51 -0
  282. package/skills/terraform-guidelines/reference/remote-state.md +38 -0
  283. package/skills/terraform-guidelines/reference/root-module.md +71 -0
  284. package/skills/terraform-guidelines/reference/typed-variables.md +90 -0
  285. package/skills/threejs-guidelines/SKILL.md +38 -0
  286. package/skills/threejs-guidelines/reference/animation.md +26 -0
  287. package/skills/threejs-guidelines/reference/cameras-controls.md +26 -0
  288. package/skills/threejs-guidelines/reference/geometry.md +22 -0
  289. package/skills/threejs-guidelines/reference/interaction.md +25 -0
  290. package/skills/threejs-guidelines/reference/lighting-shadows.md +31 -0
  291. package/skills/threejs-guidelines/reference/loaders.md +29 -0
  292. package/skills/threejs-guidelines/reference/materials.md +25 -0
  293. package/skills/threejs-guidelines/reference/math.md +27 -0
  294. package/skills/threejs-guidelines/reference/node-materials.md +32 -0
  295. package/skills/threejs-guidelines/reference/patterns.md +29 -0
  296. package/skills/threejs-guidelines/reference/performance.md +24 -0
  297. package/skills/threejs-guidelines/reference/physics-vr.md +36 -0
  298. package/skills/threejs-guidelines/reference/postprocessing.md +26 -0
  299. package/skills/threejs-guidelines/reference/scene-fundamentals.md +26 -0
  300. package/skills/threejs-guidelines/reference/shaders.md +28 -0
  301. package/skills/threejs-guidelines/reference/textures.md +21 -0
  302. package/skills/threejs-guidelines/reference/webgpu.md +34 -0
  303. package/skills/typescript-guidelines/SKILL.md +37 -0
  304. package/skills/typescript-guidelines/reference/async-without-await.md +32 -0
  305. package/skills/typescript-guidelines/reference/avoid-barrel-exports.md +25 -0
  306. package/skills/typescript-guidelines/reference/avoid-eslint-disable.md +28 -0
  307. package/skills/typescript-guidelines/reference/avoid-reexports.md +26 -0
  308. package/skills/typescript-guidelines/reference/env-access-bracket-notation.md +29 -0
  309. package/skills/typescript-guidelines/reference/numeric-separator-enforcement.md +30 -0
  310. package/skills/typescript-guidelines/reference/template-literals-require-string-conversion.md +26 -0
  311. package/skills/typescript-guidelines/reference/unbound-method-references.md +32 -0
  312. package/skills/typescript-guidelines/reference/unnecessary-async-keywords.md +37 -0
  313. package/skills/typescript-to-lua-guidelines/SKILL.md +33 -0
  314. package/skills/typescript-to-lua-guidelines/reference/avoiding-heavy-features.md +41 -0
  315. package/skills/typescript-to-lua-guidelines/reference/coroutine-patterns.md +49 -0
  316. package/skills/typescript-to-lua-guidelines/reference/function-patterns.md +59 -0
  317. package/skills/typescript-to-lua-guidelines/reference/lua-interop.md +49 -0
  318. package/skills/typescript-to-lua-guidelines/reference/module-organization.md +42 -0
  319. package/skills/typescript-to-lua-guidelines/reference/multi-return-functions.md +47 -0
  320. package/skills/typescript-to-lua-guidelines/reference/namespaces-vs-classes.md +52 -0
  321. package/skills/typescript-to-lua-guidelines/reference/performance-tips.md +68 -0
  322. package/skills/typescript-to-lua-guidelines/reference/stable-tables.md +60 -0
  323. package/skills/typescript-to-lua-guidelines/reference/tsconfig.md +46 -0
  324. package/skills/typescript-to-lua-guidelines/reference/tstl-decorators.md +61 -0
  325. package/skills/typescript-to-lua-guidelines/reference/type-safety.md +79 -0
  326. package/skills/vitest-guidelines/SKILL.md +32 -0
  327. package/skills/vitest-guidelines/reference/cors-preflight-status-code.md +34 -0
  328. package/skills/vitest-guidelines/reference/http-testing.md +57 -0
  329. package/skills/vitest-guidelines/reference/json-response-type-safety.md +40 -0
  330. package/skills/vitest-guidelines/reference/mock-patterns.md +53 -0
  331. package/skills/vitest-guidelines/reference/project-references-path-resolution.md +36 -0
  332. package/skills/vitest-guidelines/reference/test-organization.md +25 -0
  333. package/skills/vitest-guidelines/reference/timestamp-testing.md +55 -0
  334. package/skills/vitest-guidelines/reference/type-safety.md +55 -0
  335. package/skills/vitest-guidelines/reference/typescript-config.md +43 -0
  336. package/skills/zod-guidelines/SKILL.md +33 -0
  337. package/skills/zod-guidelines/reference/default-values-output-type.md +63 -0
  338. package/skills/zod-guidelines/reference/migration-string-validators.md +38 -0
  339. package/skills/zod-guidelines/reference/migration-v4.md +46 -0
  340. package/skills/zod-guidelines/reference/schema-organization.md +73 -0
  341. package/skills/zod-guidelines/reference/validation-patterns.md +37 -0
@@ -0,0 +1,30 @@
1
+ # code-harden: Identify Code Hardening Opportunities
2
+
3
+ **Guideline:** Analyze code for hardening focusing on type safety, validation, logging, and error handling.
4
+
5
+ **Rationale:** Hardening improves reliability, debugging, and maintainability. Type safety catches bugs compile-time, validation prevents invalid states, logging aids debugging, and explicit error handling prevents silent failures.
6
+
7
+ **Example:**
8
+ ```typescript
9
+ // Before: Weak type safety, no validation
10
+ function processUser(data: any) {
11
+ return { id: data.id, email: data.email }
12
+ }
13
+
14
+ // After: Strong types, validation, error handling
15
+ function processUser(data: unknown): Result<User, ValidationError> {
16
+ const parsed = userSchema.safeParse(data)
17
+ if (!parsed.success) return Err(parsed.error)
18
+ logger.info('Processing user', { id: parsed.data.id })
19
+ return Ok(parsed.data)
20
+ }
21
+ ```
22
+
23
+ **Techniques:**
24
+ - Review project standards by reading CLAUDE.md, AGENTS.md, and style guides
25
+ - Scan for type safety issues: any types, implicit types, unchecked assertions
26
+ - Identify missing validation: unvalidated inputs, absent schema checks, missing guards
27
+ - Analyze error handling patterns: unhandled errors, swallowed exceptions, silent failures
28
+ - Detect logging gaps: missing context, inconsistent levels, inadequate debugging info
29
+ - Find code smells: long functions (>30 lines), deep nesting, complex branches
30
+ - Group issues by severity and category, prioritize by impact and fix effort
@@ -0,0 +1,25 @@
1
+ # code-shared-extract: Identify Common Patterns for Shared Library Extraction
2
+
3
+ **Guideline:** Identify common code patterns across packages for extraction to shared libraries.
4
+
5
+ **Rationale:** Duplicated code increases maintenance burden and inconsistency risks. Extracting to shared libraries promotes DRY, ensures consistent behavior, simplifies updates.
6
+
7
+ **Example:**
8
+ ```typescript
9
+ // Found in 3 packages: auth validation logic
10
+ // packages/api/src/utils/validateToken.ts
11
+ // packages/web/src/utils/validateToken.ts (duplicate!)
12
+ // packages/admin/src/utils/validateToken.ts (slight variation)
13
+
14
+ // Extract to: packages/shared-auth/src/validateToken.ts
15
+ export function validateToken(token: string): Result<Payload, Error>
16
+ ```
17
+
18
+ **Techniques:**
19
+ - Scan packages for repeated patterns: functions, components, hooks, middleware, types, constants
20
+ - Use semantic analysis to find similar logic even with different names
21
+ - Group patterns by similarity: identical code, equivalent logic, same interface
22
+ - Rank candidates by impact: occurrences × complexity × cross-package count
23
+ - Determine target: same-package `utils/`, cross-package `shared-*`, or new library
24
+ - Plan phased extraction with minimal breaking changes
25
+ - Validate extraction with typecheck, lint, and test suite
@@ -0,0 +1,33 @@
1
+ # code-simplify: Analyze Code Complexity for Simplification
2
+
3
+ **Guideline:** Identify consolidation, dead code removal, and simplification opportunities.
4
+
5
+ **Rationale:** Complexity accumulates through duplication and feature additions. Simplification reduces cognitive load, improves maintainability, and helps new contributors.
6
+
7
+ **Example:**
8
+ ```typescript
9
+ // Dead code: unused export
10
+ export interface LegacyUserType { name: string }
11
+
12
+ // Duplicate validation repeated 5 times
13
+ if (!email || !email.includes('@')) throw new Error()
14
+ if (!phone || !phone.match(/^\d{10}$/)) throw new Error()
15
+
16
+ // Over-engineered: single implementation
17
+ interface IUserValidation { validate(u: any): boolean }
18
+ class UserValidation implements IUserValidation { ... }
19
+ // Just use: function validateUser(u: User): boolean
20
+
21
+ // Large interface needing simplification
22
+ interface Config { host, port, ssl, timeout, retries, backoff, circuit, cache, ... }
23
+ // Split: { server: { host, port, ssl }, network: { timeout, retries } }
24
+ ```
25
+
26
+ **Techniques:**
27
+ - Scan files and build signature index for duplicate detection
28
+ - Find copy-paste duplicates: identical functions, replicated logic (>10 lines)
29
+ - Identify dead code: uncalled functions, unreachable branches, unused exports
30
+ - Detect redundancy: repeated validation, duplicate utilities, hardcoded constants
31
+ - Find over-engineering: single-implementation interfaces, unnecessary wrapper classes
32
+ - Analyze large interfaces: >5 parameters, nested config, inconsistent signatures
33
+ - Group issues by severity, prioritize by impact, and plan phased removal
@@ -0,0 +1,34 @@
1
+ # code-template-extract: Analyze Package for Template Extraction
2
+
3
+ **Guideline:** Analyze packages to identify core patterns for template extraction.
4
+
5
+ **Rationale:** Templates enable rapid scaffolding while maintaining consistency. Extracting from proven implementations ensures new packages follow established patterns and best practices.
6
+
7
+ **Example:**
8
+ ```
9
+ Analyzing packages/api-auth (successful, reusable):
10
+ ├── src/
11
+ │ ├── routes/index.ts
12
+ │ ├── middleware/auth.ts
13
+ │ ├── services/TokenService.ts
14
+ │ └── types/index.ts
15
+ ├── tests/
16
+ ├── Dockerfile
17
+ ├── docker-compose.yml
18
+ └── moon.yml
19
+
20
+ Template parameters:
21
+ - {{PACKAGE_NAME}}: api-auth
22
+ - {{PORT}}: 3000
23
+ - {{DATABASE_URL}}: postgres://...
24
+ ```
25
+
26
+ **Techniques:**
27
+ - Analyze successful package structure: directories, naming, organization patterns
28
+ - Document configuration templates: package.json, tsconfig.json, build settings
29
+ - Extract code patterns: common handlers, middleware, components, hooks
30
+ - Identify deployment setup: Dockerfile patterns, CI/CD, Kubernetes manifests
31
+ - Catalog testing patterns: utilities, fixtures, test organization
32
+ - Compare across packages to validate reusability and frequency
33
+ - Define parameterization: variables for names, ports, URLs, package-specific values
34
+ - Create template scaffold with substitution markers
@@ -0,0 +1,36 @@
1
+ # code-template-scaffold: Analyze Package Scaffolding Options
2
+
3
+ **Guideline:** Analyze available templates and generate research report on scaffolding options.
4
+
5
+ **Rationale:** Understanding available templates before scaffolding ensures correct foundation. Reduces setup time and ensures consistency with established patterns.
6
+
7
+ **Example:**
8
+ ```
9
+ Available templates in .templates/:
10
+ 1. api-typescript:
11
+ - Features: Express, Zod validation, Jest tests, Docker
12
+ - Use for: RESTful API services
13
+ - Dependencies: 45, Size: 2.1MB
14
+
15
+ 2. react-vite:
16
+ - Features: Vite, React 19, TailwindCSS, Vitest
17
+ - Use for: Frontend applications
18
+ - Dependencies: 38, Size: 1.8MB
19
+
20
+ 3. shared-library:
21
+ - Features: Monorepo-friendly, TypeScript, ESM, minimal deps
22
+ - Use for: Reusable utilities and components
23
+ - Dependencies: 12, Size: 0.8MB
24
+
25
+ Recommendation: For new API → use api-typescript
26
+ ```
27
+
28
+ **Techniques:**
29
+ - Discover templates in monorepo (usually in `templates/`, `.templates/`, or `_templates/`)
30
+ - List template types: website, API, library, utility, service
31
+ - Document features and capabilities for each template
32
+ - Identify configuration options and substitution placeholders
33
+ - Catalog dependencies, build systems, and deployment setup
34
+ - Map best use cases and target scenarios for each
35
+ - Compare templates across categories to guide selection
36
+ - Provide recommendations matching requirements to template fit
@@ -0,0 +1,35 @@
1
+ # general-research: Research Codebase and Web
2
+
3
+ **Guideline:** Research codebase and web for requirements, presenting findings without creating plans.
4
+
5
+ **Rationale:** Separates research from planning, allowing exploration and decision-making before implementation. Enables saving research independently from multiple sources (codebase + web).
6
+
7
+ **Example:**
8
+ ```
9
+ Research Topic: "Add OAuth2 authentication to API"
10
+
11
+ Codebase Findings:
12
+ - Current: JWT-based auth in packages/auth-service
13
+ - Version: @auth/core v5.1
14
+ - Similar: GitHub OAuth in 2 places (admin, web)
15
+
16
+ Web Research:
17
+ - Latest: @auth/core v6.0 (released Jan 2026)
18
+ - Breaking: Session handling changed
19
+ - Docs: oauth.net/2 reference implementation
20
+
21
+ Recommendations:
22
+ - Upgrade to v6.0 (more secure)
23
+ - Plan migration of session layer
24
+ - Consolidate OAuth logic to shared-auth package
25
+ ```
26
+
27
+ **Techniques:**
28
+ - Parse research topic and clarify scope with specific requirements
29
+ - Explore codebase patterns using parallel search: grep, glob, file reading
30
+ - Document current library versions and identify similar implementations
31
+ - Research latest versions and releases via web search
32
+ - Fetch and analyze documentation from official sources
33
+ - Map integration points and existing patterns in the codebase
34
+ - Identify relevant guidelines and best practices
35
+ - Synthesize codebase findings and web research into recommendations
@@ -0,0 +1,37 @@
1
+ # plan-create: Create Implementation Plan with Research
2
+
3
+ **Guideline:** Generate implementation plan from spec/requirements using research findings.
4
+
5
+ **Rationale:** Creates actionable plan from research context. Breaks work into tracked tasks with dependencies, enabling parallel or sequential execution as needed.
6
+
7
+ **Example:**
8
+ ```
9
+ ## Implementation Plan: Add OAuth2 Authentication
10
+
11
+ ### Goals
12
+ - Support OAuth2 authentication
13
+ - Maintain backward compatibility with JWT
14
+ - Consolidate OAuth logic across services
15
+
16
+ ### Key Decisions
17
+ - Upgrade @auth/core to v6.0
18
+ - Migrate session layer (breaks change)
19
+ - Extract OAuth to shared-auth package
20
+
21
+ ### Tasks
22
+ 1. [BLOCKED BY: none] Update @auth/core dependency
23
+ 2. [BLOCKED BY: 1] Migrate session handling in auth-service
24
+ 3. [PARALLEL TO: 2] Extract GitHub OAuth to shared-auth
25
+ 4. [BLOCKED BY: 2,3] Update packages/web to use shared OAuth
26
+ 5. [BLOCKED BY: 2,3,4] End-to-end testing and deployment
27
+ ```
28
+
29
+ **Techniques:**
30
+ - Read specification and clarify requirements with stakeholders
31
+ - Synthesize research findings from conversation history and prior analysis
32
+ - Document key architecture decisions: technology choices, versions, rationale
33
+ - Create granular tasks with clear objectives in imperative form
34
+ - Define task dependencies: which tasks block or are blocked by others
35
+ - Identify independent tasks for parallel execution
36
+ - Structure plan sections: overview, goals, current state, findings, tasks
37
+ - Set success criteria and completion indicators for each task
@@ -0,0 +1,44 @@
1
+ # plan-tdd-create: Create TDD Implementation Plan with Research
2
+
3
+ **Guideline:** Generate TDD implementation plan with RED-GREEN-COMMIT cycles as tracked tasks.
4
+
5
+ **Rationale:** Creates actionable TDD plan from research context. Each RED-GREEN-COMMIT cycle becomes a tracked task, ensuring test-first development with proper sequencing.
6
+
7
+ **Example:**
8
+ ```
9
+ ## TDD Plan: User Authentication
10
+
11
+ ### Story 1: Basic login validation
12
+ [RED] Write test: login() validates email format
13
+ [GREEN] Implement: if (!email.includes('@')) throw
14
+ [COMMIT] "feat: validate email format in login"
15
+
16
+ ### Story 2: Password requirements
17
+ [RED] Write test: password must be 8+ chars
18
+ [GREEN] Implement: if (password.length < 8) throw
19
+ [COMMIT] "feat: enforce 8-char password minimum"
20
+
21
+ ### Story 3: Token generation
22
+ [RED] Write test: login() returns JWT token
23
+ [GREEN] Implement: return jwt.sign({email})
24
+ [COMMIT] "feat: generate JWT token on successful login"
25
+
26
+ ### Story 4: Error handling
27
+ [RED] Write test: invalid credentials return error
28
+ [GREEN] Implement: check hash match, return Err
29
+ [COMMIT] "feat: return error for invalid credentials"
30
+
31
+ ### Story 5: Refactor
32
+ [REFACTOR] Extract validation to schema, improve test coverage
33
+ ```
34
+
35
+ **Techniques:**
36
+ - Read specification and extract research findings from prior analysis
37
+ - Decompose feature into discrete, testable stories
38
+ - Sequence stories: basic → properties → behavior → edge cases → validation
39
+ - Write RED test code matching project's test framework and conventions
40
+ - Define GREEN implementation guidance: minimal to pass test, hardcode acceptable
41
+ - Create sequential task dependencies: each cycle depends on previous completion
42
+ - Structure each task with test code, implementation guidance, and validation steps
43
+ - Plan for refactoring after GREEN phase for code quality
44
+ - Check granularity: independent commit, tests one thing, clear description
@@ -0,0 +1,39 @@
1
+ # todos: Scan and Group TODO Comments
2
+
3
+ **Guideline:** Scan for TODO comments, group by intent, and generate research report.
4
+
5
+ **Rationale:** TODO comments accumulate and become difficult to track. Scanning and grouping by intent helps prioritize work, identify systemic issues, and convert notes into actionable plans.
6
+
7
+ **Example:**
8
+ ```
9
+ Scan Results: 47 TODO comments found
10
+
11
+ Group 1: Auth improvements (12 occurrences, 3 files)
12
+ - "TODO: Add 2FA support"
13
+ - Files: services/auth, packages/web, packages/admin
14
+ - Priority: HIGH (blocks security audit)
15
+ - Action: Convert to plan-create task
16
+
17
+ Group 2: Performance optimizations (18 occurrences, 7 files)
18
+ - "TODO: Add caching layer"
19
+ - "TODO: Optimize database queries"
20
+ - Files: across services
21
+ - Priority: MEDIUM
22
+ - Action: Create code-simplify analysis
23
+
24
+ Group 3: Deprecations (17 occurrences, 5 files)
25
+ - "TODO: Remove legacy API"
26
+ - Files: api routes
27
+ - Priority: LOW
28
+ - Action: Schedule for v2.0 release
29
+ ```
30
+
31
+ **Techniques:**
32
+ - Scan directory recursively for TODO patterns (`TODO:`, `FIXME:`, `NOTE:`)
33
+ - Extract unique TODO messages, normalized for whitespace consistency
34
+ - Group TODOs by similarity: identical text, conceptual intent, file patterns
35
+ - Map each group to source files, count occurrences and affected files
36
+ - Infer applicable skills from file extensions and framework indicators
37
+ - Categorize by priority: blocking work, technical debt, nice-to-have
38
+ - Generate report with groups, file counts, and action recommendations
39
+ - Convert high-priority TODOs into tasks for tracking and execution
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: presentation-guidelines
3
+ description: >-
4
+ Trigger on presentation/slides creation tasks. Use when creating presentations from codebase analysis. Apply for scaffolding motion presentation packages. Keywords: presentation, slides, codebase analysis, GraphViz diagrams, Motion, React components, visual flow, narrative structure.
5
+ ---
6
+
7
+ # Presentation Guidelines
8
+
9
+ ## Core Principles
10
+
11
+ - **Explore First** - Use Task agents to gather context from codebase
12
+ - **Structure Slides** - Organize findings into clear narrative flow
13
+ - **Visual Diagrams** - Create GraphViz diagrams for architecture and flows
14
+ - **Factory Pattern** - Use factory functions for automatic maxSteps calculation
15
+ - **Theme Consistency** - Extract and apply brand colors throughout
16
+
17
+ ## Workflow
18
+
19
+ - **Create Presentation** - Explore codebase and generate markdown presentation, see [reference/presentation-create.md](reference/presentation-create.md)
20
+ - **Scaffold Package** - Convert markdown to Motion presentation package, see [reference/presentation-motion-scaffold.md](reference/presentation-motion-scaffold.md)
21
+
22
+ ## Progressive Disclosure
23
+
24
+ - **Create presentation document** - Explore codebase and structure into slides, see [reference/presentation-create.md](reference/presentation-create.md)
25
+ - **Scaffold motion package** - Generate React+Motion package from markdown, see [reference/presentation-motion-scaffold.md](reference/presentation-motion-scaffold.md)
@@ -0,0 +1,41 @@
1
+ # presentation-create: Create Presentation Document from Codebase
2
+
3
+ **Guideline:** Generate markdown presentation by exploring codebase and structuring findings into slides.
4
+
5
+ **Rationale:** Transforms technical findings from codebase analysis into structured narrative flow with clear narrative arcs, enabling effective communication of architecture and decisions to various audiences.
6
+
7
+ **Example:**
8
+
9
+ ```markdown
10
+ # Microservices Architecture
11
+
12
+ ---
13
+
14
+ ## Overview
15
+ - 12 services, 15 shared packages
16
+ - Kubernetes orchestration, GitOps deployment
17
+ - Found in: services/, clusters/
18
+
19
+ ---
20
+
21
+ ## Core Services
22
+ - API Gateway (packages/services/api-gateway)
23
+ - Auth Service (packages/services/auth)
24
+ - User Service (packages/services/users)
25
+
26
+ ---
27
+
28
+ ## Next Steps
29
+ - Scale to 20 services
30
+ - Implement service mesh
31
+ ```
32
+
33
+ **Techniques:**
34
+ - Parse topic and identify relevant codebase areas and packages
35
+ - Clarify scope with questions: packages, depth, audience, style
36
+ - Scan codebase using parallel exploration: architecture, schemas, integration points
37
+ - Synthesize findings into logical narrative with file references
38
+ - Generate diagrams: ASCII art for markdown or GraphViz for motion
39
+ - Structure content into slides: title, summary, challenges, solutions, implementation
40
+ - Extract and document style preferences: colors, fonts, logo, themes
41
+ - Create markdown with `---` separators for slide boundaries
@@ -0,0 +1,38 @@
1
+ # presentation-motion-scaffold: Create Motion Presentation Package
2
+
3
+ **Guideline:** Scaffold Motion React presentation package from markdown presentation document.
4
+
5
+ **Rationale:** Converts markdown presentations into fully-functional React + Motion slide decks with animations and interactive features.
6
+
7
+ **Example:**
8
+ ```
9
+ Input: presentation.md with:
10
+ - Title: "Microservices Architecture"
11
+ - Theme colors: #2563eb, #dc2626, #16a34a
12
+ - Slides: overview, services, challenges, next steps
13
+
14
+ Output structure:
15
+ packages/presentations/microservices/
16
+ ├── src/
17
+ │ ├── slides/
18
+ │ │ ├── Title.tsx
19
+ │ │ ├── Overview.tsx
20
+ │ │ ├── Services.tsx
21
+ │ │ └── NextSteps.tsx
22
+ │ ├── App.tsx
23
+ │ └── theme.ts (generated colors)
24
+ ├── public/assets/
25
+ ├── package.json (generated)
26
+ └── vite.config.ts (generated)
27
+ ```
28
+
29
+ **Techniques:**
30
+ - Parse markdown: extract title, style guide, slides separated by `---`
31
+ - Determine slide types from content: title, bullets, diagrams, chapter headers, closing
32
+ - Create package structure at `packages/presentations/[name]/` with configs
33
+ - Generate TSX components for each slide type with factory functions
34
+ - Extract theme colors from Style Guide section (#hex format)
35
+ - Convert ASCII diagrams to GraphViz .dot files for SVG generation
36
+ - Download and place external logos/images to `public/assets/`
37
+ - Generate configs: package.json, moon.yml, tsconfig.json, vite.config.ts
38
+ - Create factory functions for each slide with automatic step calculation
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: python-guidelines
3
+ description: >-
4
+ Trigger on `.py` files. Use when writing Python 3.12+ code. Apply for API development, data processing, file operations, resource management. Keywords: Python, async/await, dataclasses, type hints, generators, pathlib, pytest, context managers, @cache, f-strings.
5
+ ---
6
+
7
+ # Python Coding Guidelines
8
+
9
+ ## Requirements
10
+
11
+ - Python ≥ 3.12; pytest ≥ 8.
12
+
13
+ ## Essentials
14
+
15
+ - **Data models** - Use dataclasses and type hints, see [reference/dataclasses-type-hints.md](reference/dataclasses-type-hints.md), [reference/type-checking.md](reference/type-checking.md)
16
+ - **Iteration** - Prefer generators/comprehensions for data processing, see [reference/generators-comprehensions.md](reference/generators-comprehensions.md)
17
+ - **Async I/O** - Use async/await for I/O operations, see [reference/async-await-patterns.md](reference/async-await-patterns.md)
18
+ - **Performance** - Cache pure functions with `@cache`, see [reference/caching-functions.md](reference/caching-functions.md)
19
+ - **Resource management** - Use context managers for cleanup, see [reference/resource-management.md](reference/resource-management.md)
20
+ - **Modern syntax** - Use pathlib, f-strings, specific exceptions, see [reference/pathlib-file-ops.md](reference/pathlib-file-ops.md), [reference/string-formatting.md](reference/string-formatting.md), [reference/exception-handling.md](reference/exception-handling.md)
21
+
22
+ ## Progressive disclosure
23
+
24
+ - Read [reference/dataclasses-type-hints.md](reference/dataclasses-type-hints.md) - When defining structured data models or adding type annotations
25
+ - Read [reference/type-checking.md](reference/type-checking.md) - When using Protocols, type aliases, or complex Union types
26
+ - Read [reference/async-await-patterns.md](reference/async-await-patterns.md) - When building async APIs or handling concurrent I/O operations
27
+ - Read [reference/resource-management.md](reference/resource-management.md) - When working with files, connections, or resources needing cleanup
28
+ - Read [reference/caching-functions.md](reference/caching-functions.md) - When optimizing expensive computations or repeated function calls
29
+ - Read [reference/generators-comprehensions.md](reference/generators-comprehensions.md) - When processing large datasets or streaming data
30
+ - Read [reference/string-formatting.md](reference/string-formatting.md) - When formatting output, building messages, or templating
31
+ - Read [reference/pathlib-file-ops.md](reference/pathlib-file-ops.md) - When reading/writing files or traversing directories
32
+ - Read [reference/exception-handling.md](reference/exception-handling.md) - When defining error handling or creating custom exceptions
@@ -0,0 +1,62 @@
1
+ # async-await-patterns: Async/Await Patterns
2
+
3
+ **Guideline:** Use async/await for I/O-bound operations with proper concurrent execution patterns.
4
+
5
+ **Rationale:** Async programming enables efficient I/O operations without blocking threads. Using `asyncio.gather()` allows multiple operations to run concurrently, improving performance. Async generators enable memory-efficient streaming of data. Proper async context management ensures resources are cleaned up correctly.
6
+
7
+ **Example:**
8
+
9
+ ```python
10
+ import asyncio
11
+ import aiohttp
12
+ from typing import Sequence
13
+
14
+ # Async function with type hints
15
+ async def fetch_url(session: aiohttp.ClientSession, url: str) -> str:
16
+ async with session.get(url) as response:
17
+ response.raise_for_status()
18
+ return await response.text()
19
+
20
+ # Async context manager
21
+ async def fetch_multiple(urls: Sequence[str]) -> list[str]:
22
+ async with aiohttp.ClientSession() as session:
23
+ tasks = [fetch_url(session, url) for url in urls]
24
+ return await asyncio.gather(*tasks)
25
+
26
+ # Async generator
27
+ async def fetch_paginated(
28
+ session: aiohttp.ClientSession,
29
+ base_url: str,
30
+ page_size: int = 100
31
+ ):
32
+ page = 1
33
+ while True:
34
+ url = f"{base_url}?page={page}&size={page_size}"
35
+ data = await fetch_url(session, url)
36
+
37
+ if not data:
38
+ break
39
+
40
+ yield data
41
+ page += 1
42
+
43
+ # Usage
44
+ async def main():
45
+ urls = ["https://api.example.com/1", "https://api.example.com/2"]
46
+ results = await fetch_multiple(urls)
47
+
48
+ async with aiohttp.ClientSession() as session:
49
+ async for page_data in fetch_paginated(session, "https://api.example.com/items"):
50
+ process_page(page_data)
51
+
52
+ # Run
53
+ asyncio.run(main())
54
+ ```
55
+
56
+ **Techniques:**
57
+ - Define async functions with `async def`
58
+ - Use `await` for async operations
59
+ - Use `async with` for async context managers
60
+ - Gather concurrent operations with `asyncio.gather(*tasks)`
61
+ - Create async generators with `async def` and `yield`
62
+ - Run async code with `asyncio.run(main())`
@@ -0,0 +1,47 @@
1
+ # caching-functions: Caching Pure Functions
2
+
3
+ **Guideline:** Cache expensive pure function results with `@cache` or `@lru_cache` decorators.
4
+
5
+ **Rationale:** Caching eliminates redundant computations for pure functions (functions that always return the same output for the same input). `@cache` provides unbounded caching for small datasets, while `@lru_cache` offers size-limited caching with LRU eviction for larger datasets. This dramatically improves performance for recursive algorithms and expensive operations.
6
+
7
+ **Example:**
8
+
9
+ ```python
10
+ from functools import cache, lru_cache
11
+ from pathlib import Path
12
+
13
+ # Cache with @cache (unbounded cache)
14
+ @cache
15
+ def load_config() -> dict[str, str]:
16
+ """Load and parse config file (cached after first call)"""
17
+ return parse_config(Path("config.txt").read_text())
18
+
19
+ # LRU cache with size limit
20
+ @lru_cache(maxsize=128)
21
+ def fibonacci(n: int) -> int:
22
+ """Calculate Fibonacci number (cached with LRU eviction)"""
23
+ if n < 2:
24
+ return n
25
+ return fibonacci(n - 1) + fibonacci(n - 2)
26
+
27
+ # Cache expensive computations
28
+ @lru_cache(maxsize=1000)
29
+ def calculate_hash(data: str) -> str:
30
+ """Compute expensive hash (cached)"""
31
+ import hashlib
32
+ return hashlib.sha256(data.encode()).hexdigest()
33
+
34
+ # Usage - function only runs once per unique input
35
+ config1 = load_config() # Loads from file
36
+ config2 = load_config() # Returns cached value
37
+
38
+ fib_10 = fibonacci(10) # Calculates
39
+ fib_10_again = fibonacci(10) # Returns cached
40
+ ```
41
+
42
+ **Techniques:**
43
+ - Use `@cache` for unbounded caching of pure functions
44
+ - Use `@lru_cache(maxsize=N)` for size-limited caching
45
+ - Only cache pure functions (no side effects, deterministic output)
46
+ - Consider cache size based on memory constraints
47
+ - Cache is per-function-call signature (different args = different cache entry)
@@ -0,0 +1,63 @@
1
+ # dataclasses-type-hints: Dataclasses and Type Hints
2
+
3
+ **Guideline:** Use dataclasses with type hints for structured data definitions.
4
+
5
+ **Rationale:** Dataclasses reduce boilerplate code while providing automatic `__init__`, `__repr__`, and comparison methods. Type hints enable static analysis, IDE support, and self-documenting code. Frozen dataclasses create immutable objects that are safer in concurrent contexts.
6
+
7
+ **Example:**
8
+
9
+ ```python
10
+ from dataclasses import dataclass, field
11
+ from datetime import datetime
12
+ from typing import Optional
13
+
14
+ # Immutable dataclass with type hints
15
+ @dataclass(frozen=True)
16
+ class User:
17
+ id: str
18
+ email: str
19
+ name: str
20
+ created_at: datetime
21
+ metadata: dict[str, str] = field(default_factory=dict)
22
+
23
+ # Mutable dataclass
24
+ @dataclass
25
+ class Config:
26
+ host: str = "localhost"
27
+ port: int = 5432
28
+ debug: bool = False
29
+ timeout: float = 30.0
30
+
31
+ # Optional and union types
32
+ @dataclass(frozen=True)
33
+ class Response:
34
+ status: int
35
+ data: dict[str, any]
36
+ error: Optional[str] = None
37
+
38
+ # Generic types
39
+ @dataclass
40
+ class Page[T]:
41
+ items: list[T]
42
+ total: int
43
+ page: int
44
+ page_size: int
45
+
46
+ # Usage with type safety
47
+ user = User(
48
+ id="123",
49
+ email="user@example.com",
50
+ name="John Doe",
51
+ created_at=datetime.now()
52
+ )
53
+
54
+ # Type checker knows this is str
55
+ print(user.email)
56
+ ```
57
+
58
+ **Techniques:**
59
+ - Import `dataclass` decorator and type hints
60
+ - Annotate all fields with types using modern syntax (`list[T]`, `dict[K,V]`)
61
+ - Use `frozen=True` for immutable data structures
62
+ - Use `field(default_factory=...)` for mutable defaults
63
+ - Leverage generics with `[T]` syntax for reusable data structures