@xonovex/skills 0.1.9 → 0.1.15

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 (302) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +130 -21
  3. package/package.json +1 -1
  4. package/skills/astro-guidelines/reference/accessibility.md +1 -0
  5. package/skills/astro-guidelines/reference/components.md +12 -3
  6. package/skills/astro-guidelines/reference/content-collections.md +1 -0
  7. package/skills/astro-guidelines/reference/islands-architecture.md +6 -2
  8. package/skills/astro-guidelines/reference/project-structure.md +1 -0
  9. package/skills/c99-game-opinionated-guidelines/reference/builder-pattern.md +1 -0
  10. package/skills/c99-game-opinionated-guidelines/reference/coordinate-system.md +1 -0
  11. package/skills/c99-game-opinionated-guidelines/reference/geometry-pipeline.md +1 -0
  12. package/skills/c99-game-opinionated-guidelines/reference/math-types.md +2 -1
  13. package/skills/c99-game-opinionated-guidelines/reference/mesh-types.md +1 -0
  14. package/skills/c99-game-opinionated-guidelines/reference/physics-patterns.md +1 -0
  15. package/skills/c99-game-opinionated-guidelines/reference/spatial-structures.md +2 -1
  16. package/skills/c99-game-opinionated-guidelines/reference/tagged-unions.md +1 -0
  17. package/skills/c99-game-opinionated-guidelines/reference/vertex-packing.md +1 -0
  18. package/skills/c99-guidelines/reference/compound-literals.md +1 -0
  19. package/skills/c99-guidelines/reference/const-correctness.md +1 -0
  20. package/skills/c99-guidelines/reference/designated-initializers.md +1 -0
  21. package/skills/c99-guidelines/reference/error-handling.md +1 -0
  22. package/skills/c99-guidelines/reference/inline-functions.md +1 -0
  23. package/skills/c99-guidelines/reference/memory-management.md +1 -0
  24. package/skills/c99-opinionated-guidelines/reference/alignment.md +1 -0
  25. package/skills/c99-opinionated-guidelines/reference/caller-owns-memory.md +1 -0
  26. package/skills/c99-opinionated-guidelines/reference/compound-literals.md +1 -0
  27. package/skills/c99-opinionated-guidelines/reference/const-correctness.md +1 -0
  28. package/skills/c99-opinionated-guidelines/reference/data-oriented-design.md +1 -0
  29. package/skills/c99-opinionated-guidelines/reference/designated-initializers.md +1 -0
  30. package/skills/c99-opinionated-guidelines/reference/error-handling.md +1 -0
  31. package/skills/c99-opinionated-guidelines/reference/file-naming.md +1 -0
  32. package/skills/c99-opinionated-guidelines/reference/implementation-variants.md +1 -0
  33. package/skills/c99-opinionated-guidelines/reference/inline-functions.md +1 -0
  34. package/skills/c99-opinionated-guidelines/reference/memory-management.md +1 -0
  35. package/skills/c99-opinionated-guidelines/reference/safety-validations.md +1 -0
  36. package/skills/c99-opinionated-guidelines/reference/testing-patterns.md +1 -0
  37. package/skills/cmake-guidelines/reference/compile-options.md +2 -1
  38. package/skills/cmake-guidelines/reference/fetchcontent.md +1 -0
  39. package/skills/cmake-guidelines/reference/find-package.md +2 -1
  40. package/skills/cmake-guidelines/reference/generator-expressions.md +1 -0
  41. package/skills/cmake-guidelines/reference/installation.md +1 -0
  42. package/skills/cmake-guidelines/reference/project-structure.md +1 -0
  43. package/skills/cmake-guidelines/reference/target-types.md +1 -0
  44. package/skills/cmake-guidelines/reference/testing.md +1 -0
  45. package/skills/cmake-guidelines/reference/visibility-specifiers.md +1 -0
  46. package/skills/content-guidelines/SKILL.md +2 -0
  47. package/skills/content-guidelines/reference/humanize.md +6 -0
  48. package/skills/content-guidelines/reference/news.md +1 -0
  49. package/skills/content-guidelines/reference/travelguide.md +3 -0
  50. package/skills/docker-guidelines/reference/docker-compose.md +1 -0
  51. package/skills/docker-guidelines/reference/layer-caching.md +1 -0
  52. package/skills/docker-guidelines/reference/multi-stage-builds.md +1 -0
  53. package/skills/docker-guidelines/reference/production-config.md +1 -0
  54. package/skills/docker-guidelines/reference/security.md +1 -0
  55. package/skills/express.js-guidelines/reference/app-setup.md +4 -1
  56. package/skills/express.js-guidelines/reference/authentication.md +18 -6
  57. package/skills/express.js-guidelines/reference/controllers.md +5 -1
  58. package/skills/express.js-guidelines/reference/error-handling.md +6 -1
  59. package/skills/express.js-guidelines/reference/project-structure.md +1 -0
  60. package/skills/express.js-guidelines/reference/responses.md +1 -0
  61. package/skills/express.js-guidelines/reference/routes.md +27 -4
  62. package/skills/express.js-guidelines/reference/testing.md +1 -0
  63. package/skills/express.js-guidelines/reference/validation.md +4 -1
  64. package/skills/git-guidelines/SKILL.md +2 -0
  65. package/skills/git-guidelines/reference/commit.md +2 -1
  66. package/skills/git-guidelines/reference/merge-resolve.md +1 -0
  67. package/skills/git-guidelines/reference/worktree-abandon.md +1 -0
  68. package/skills/git-guidelines/reference/worktree-cleanup.md +1 -0
  69. package/skills/git-guidelines/reference/worktree-commit.md +1 -0
  70. package/skills/git-guidelines/reference/worktree-create.md +1 -0
  71. package/skills/git-guidelines/reference/worktree-merge.md +1 -0
  72. package/skills/git-guidelines/reference/worktree-validate.md +1 -0
  73. package/skills/hono-guidelines/reference/application-structure.md +6 -7
  74. package/skills/hono-guidelines/reference/context-storage.md +1 -0
  75. package/skills/hono-guidelines/reference/cookie-handling.md +1 -0
  76. package/skills/hono-guidelines/reference/error-handling.md +1 -0
  77. package/skills/hono-guidelines/reference/middleware-combine.md +1 -0
  78. package/skills/hono-guidelines/reference/middleware-patterns.md +1 -0
  79. package/skills/hono-guidelines/reference/platform-runtime.md +1 -0
  80. package/skills/hono-guidelines/reference/security-middleware.md +1 -0
  81. package/skills/hono-guidelines/reference/validation-type-safety.md +1 -0
  82. package/skills/hono-guidelines/reference/websocket-support.md +1 -0
  83. package/skills/hono-opinionated-guidelines/reference/application-structure.md +6 -7
  84. package/skills/hono-opinionated-guidelines/reference/body-limit.md +1 -0
  85. package/skills/hono-opinionated-guidelines/reference/context-storage.md +1 -0
  86. package/skills/hono-opinionated-guidelines/reference/controllers.md +1 -0
  87. package/skills/hono-opinionated-guidelines/reference/cookie-handling.md +1 -0
  88. package/skills/hono-opinionated-guidelines/reference/error-handling.md +1 -0
  89. package/skills/hono-opinionated-guidelines/reference/middleware-combine.md +1 -0
  90. package/skills/hono-opinionated-guidelines/reference/middleware-patterns.md +1 -0
  91. package/skills/hono-opinionated-guidelines/reference/openapi-explicit-status-codes.md +1 -0
  92. package/skills/hono-opinionated-guidelines/reference/openapi-inline-handlers.md +1 -0
  93. package/skills/hono-opinionated-guidelines/reference/openapi-router-hierarchy.md +1 -0
  94. package/skills/hono-opinionated-guidelines/reference/openapi-spec-generation.md +1 -0
  95. package/skills/hono-opinionated-guidelines/reference/platform-runtime.md +1 -0
  96. package/skills/hono-opinionated-guidelines/reference/router-selection.md +1 -0
  97. package/skills/hono-opinionated-guidelines/reference/security-middleware.md +1 -0
  98. package/skills/hono-opinionated-guidelines/reference/validation-type-safety.md +1 -0
  99. package/skills/hono-opinionated-guidelines/reference/websocket-support.md +1 -0
  100. package/skills/insights-guidelines/SKILL.md +2 -0
  101. package/skills/insights-guidelines/reference/insights-extract.md +1 -0
  102. package/skills/insights-guidelines/reference/insights-integrate.md +1 -0
  103. package/skills/instruction-guidelines/reference/assimilate.md +1 -0
  104. package/skills/instruction-guidelines/reference/simplify.md +2 -0
  105. package/skills/instruction-guidelines/reference/sync.md +9 -3
  106. package/skills/kubernetes-guidelines/reference/configmaps-secrets.md +1 -0
  107. package/skills/kubernetes-guidelines/reference/deployments.md +1 -0
  108. package/skills/kubernetes-guidelines/reference/kustomize.md +1 -0
  109. package/skills/kubernetes-guidelines/reference/network-policies.md +1 -0
  110. package/skills/kubernetes-guidelines/reference/services.md +1 -0
  111. package/skills/kubernetes-guidelines/reference/validation.md +1 -0
  112. package/skills/lua-guidelines/reference/coroutines.md +1 -0
  113. package/skills/lua-guidelines/reference/error-handling.md +1 -0
  114. package/skills/lua-guidelines/reference/idiomatic-patterns.md +1 -0
  115. package/skills/lua-guidelines/reference/input-validation.md +1 -0
  116. package/skills/lua-guidelines/reference/local-variables.md +1 -0
  117. package/skills/lua-guidelines/reference/metatables.md +1 -0
  118. package/skills/lua-guidelines/reference/module-pattern.md +1 -0
  119. package/skills/lua-guidelines/reference/string-concatenation.md +1 -0
  120. package/skills/lua-opinionated-guidelines/reference/cache-lookups.md +1 -0
  121. package/skills/lua-opinionated-guidelines/reference/coroutines.md +1 -0
  122. package/skills/lua-opinionated-guidelines/reference/error-handling.md +1 -0
  123. package/skills/lua-opinionated-guidelines/reference/idiomatic-patterns.md +1 -0
  124. package/skills/lua-opinionated-guidelines/reference/input-validation.md +1 -0
  125. package/skills/lua-opinionated-guidelines/reference/jit-friendly-tables.md +1 -0
  126. package/skills/lua-opinionated-guidelines/reference/local-variables.md +1 -0
  127. package/skills/lua-opinionated-guidelines/reference/metatables.md +1 -0
  128. package/skills/lua-opinionated-guidelines/reference/module-pattern.md +1 -0
  129. package/skills/lua-opinionated-guidelines/reference/string-concatenation.md +1 -0
  130. package/skills/moon-guidelines/SKILL.md +16 -2
  131. package/skills/moon-guidelines/reference/docker-multistage.md +1 -0
  132. package/skills/moon-guidelines/reference/migration-v2.md +107 -0
  133. package/skills/moon-guidelines/reference/project-constraints.md +65 -7
  134. package/skills/moon-guidelines/reference/query-language.md +54 -11
  135. package/skills/moon-guidelines/reference/tag-based-filtering.md +72 -7
  136. package/skills/moon-guidelines/reference/task-configuration.md +46 -14
  137. package/skills/moon-guidelines/reference/task-inheritance.md +91 -16
  138. package/skills/motion-react-guidelines/SKILL.md +2 -4
  139. package/skills/motion-react-guidelines/reference/3d-effects.md +3 -2
  140. package/skills/motion-react-guidelines/reference/entrance.md +10 -5
  141. package/skills/motion-react-guidelines/reference/exit.md +3 -2
  142. package/skills/motion-react-guidelines/reference/gestures.md +2 -0
  143. package/skills/motion-react-guidelines/reference/layout.md +10 -6
  144. package/skills/motion-react-guidelines/reference/motion-values.md +2 -0
  145. package/skills/motion-react-guidelines/reference/performance.md +3 -2
  146. package/skills/motion-react-guidelines/reference/scroll.md +7 -3
  147. package/skills/motion-react-guidelines/reference/spring-physics.md +2 -0
  148. package/skills/motion-react-guidelines/reference/stagger.md +9 -5
  149. package/skills/motion-react-guidelines/reference/svg-path.md +2 -0
  150. package/skills/motion-react-guidelines/reference/text-effects.md +15 -8
  151. package/skills/plan-guidelines/SKILL.md +2 -0
  152. package/skills/plan-guidelines/reference/code-align.md +2 -0
  153. package/skills/plan-guidelines/reference/code-barrels-remove.md +5 -3
  154. package/skills/plan-guidelines/reference/code-comments-remove.md +4 -2
  155. package/skills/plan-guidelines/reference/code-harden.md +7 -5
  156. package/skills/plan-guidelines/reference/code-shared-extract.md +3 -1
  157. package/skills/plan-guidelines/reference/code-simplify.md +2 -0
  158. package/skills/plan-guidelines/reference/code-template-extract.md +2 -0
  159. package/skills/plan-guidelines/reference/code-template-scaffold.md +2 -0
  160. package/skills/plan-guidelines/reference/general-research.md +2 -0
  161. package/skills/plan-guidelines/reference/plan-create.md +2 -0
  162. package/skills/plan-guidelines/reference/plan-tdd-create.md +2 -0
  163. package/skills/plan-guidelines/reference/todos.md +2 -0
  164. package/skills/presentation-guidelines/reference/presentation-create.md +4 -0
  165. package/skills/presentation-guidelines/reference/presentation-motion-scaffold.md +2 -0
  166. package/skills/python-guidelines/reference/async-await-patterns.md +1 -0
  167. package/skills/python-guidelines/reference/caching-functions.md +1 -0
  168. package/skills/python-guidelines/reference/dataclasses-type-hints.md +1 -0
  169. package/skills/python-guidelines/reference/exception-handling.md +1 -0
  170. package/skills/python-guidelines/reference/generators-comprehensions.md +1 -0
  171. package/skills/python-guidelines/reference/pathlib-file-ops.md +1 -0
  172. package/skills/python-guidelines/reference/resource-management.md +1 -0
  173. package/skills/python-guidelines/reference/string-formatting.md +1 -0
  174. package/skills/python-guidelines/reference/type-checking.md +1 -0
  175. package/skills/react-guidelines/SKILL.md +20 -19
  176. package/skills/react-guidelines/reference/accessibility.md +6 -2
  177. package/skills/react-guidelines/reference/activity-effect-event.md +7 -9
  178. package/skills/react-guidelines/reference/component-design.md +1 -0
  179. package/skills/react-guidelines/reference/hooks.md +19 -8
  180. package/skills/react-guidelines/reference/migration-anti-patterns.md +9 -4
  181. package/skills/react-guidelines/reference/migration-deprecations.md +16 -15
  182. package/skills/react-guidelines/reference/migration-paradigm-shifts.md +8 -3
  183. package/skills/react-guidelines/reference/migration-typescript.md +1 -0
  184. package/skills/react-guidelines/reference/new-hooks.md +16 -15
  185. package/skills/react-guidelines/reference/performance-optimization.md +4 -2
  186. package/skills/react-guidelines/reference/react-compiler.md +13 -10
  187. package/skills/react-guidelines/reference/server-components.md +21 -21
  188. package/skills/react-guidelines/reference/state-management.md +1 -0
  189. package/skills/react-guidelines/reference/suspense-streaming.md +3 -1
  190. package/skills/remotion-guidelines/SKILL.md +7 -1
  191. package/skills/remotion-guidelines/reference/animations.md +2 -1
  192. package/skills/remotion-guidelines/reference/assets.md +2 -0
  193. package/skills/remotion-guidelines/reference/captions.md +5 -2
  194. package/skills/remotion-guidelines/reference/charts.md +15 -2
  195. package/skills/remotion-guidelines/reference/compositions.md +3 -1
  196. package/skills/remotion-guidelines/reference/dom-measurement.md +16 -6
  197. package/skills/remotion-guidelines/reference/gifs.md +5 -3
  198. package/skills/remotion-guidelines/reference/lottie.md +16 -14
  199. package/skills/remotion-guidelines/reference/maps.md +4 -2
  200. package/skills/remotion-guidelines/reference/media.md +9 -7
  201. package/skills/remotion-guidelines/reference/mediabunny.md +6 -3
  202. package/skills/remotion-guidelines/reference/sequencing.md +10 -8
  203. package/skills/remotion-guidelines/reference/text.md +3 -1
  204. package/skills/remotion-guidelines/reference/three-d.md +2 -0
  205. package/skills/remotion-guidelines/reference/timing.md +10 -6
  206. package/skills/remotion-guidelines/reference/transitions.md +16 -10
  207. package/skills/shell-scripting-guidelines/reference/argument-parsing.md +1 -0
  208. package/skills/shell-scripting-guidelines/reference/common-patterns.md +1 -0
  209. package/skills/shell-scripting-guidelines/reference/error-handling.md +1 -0
  210. package/skills/shell-scripting-guidelines/reference/functions.md +1 -0
  211. package/skills/shell-scripting-guidelines/reference/idempotency.md +1 -0
  212. package/skills/shell-scripting-guidelines/reference/parameter-expansion.md +1 -0
  213. package/skills/shell-scripting-guidelines/reference/posix-compatibility.md +1 -0
  214. package/skills/shell-scripting-guidelines/reference/quoting.md +1 -0
  215. package/skills/shell-scripting-guidelines/reference/script-template.md +1 -0
  216. package/skills/shell-scripting-guidelines/reference/strict-mode.md +1 -0
  217. package/skills/shell-scripting-guidelines/reference/validation.md +1 -0
  218. package/skills/skill-guidelines/SKILL.md +2 -2
  219. package/skills/skill-guidelines/reference/assimilate.md +5 -0
  220. package/skills/skill-guidelines/reference/create.md +1 -0
  221. package/skills/skill-guidelines/reference/extract.md +1 -0
  222. package/skills/skill-guidelines/reference/simplify.md +7 -3
  223. package/skills/sql-postgresql-guidelines/reference/constraints.md +1 -0
  224. package/skills/sql-postgresql-guidelines/reference/cte-patterns.md +1 -0
  225. package/skills/sql-postgresql-guidelines/reference/data-types.md +1 -0
  226. package/skills/sql-postgresql-guidelines/reference/indexing.md +1 -0
  227. package/skills/sql-postgresql-guidelines/reference/jsonb.md +1 -0
  228. package/skills/sql-postgresql-guidelines/reference/performance.md +1 -0
  229. package/skills/sql-postgresql-guidelines/reference/role-based-access.md +1 -0
  230. package/skills/sql-postgresql-guidelines/reference/row-level-security.md +1 -0
  231. package/skills/strudel-guidelines/SKILL.md +3 -3
  232. package/skills/strudel-guidelines/reference/arrangement.md +7 -5
  233. package/skills/strudel-guidelines/reference/conditionals.md +5 -3
  234. package/skills/strudel-guidelines/reference/effects.md +7 -4
  235. package/skills/strudel-guidelines/reference/genre-ambient.md +28 -7
  236. package/skills/strudel-guidelines/reference/genre-harsh.md +10 -3
  237. package/skills/strudel-guidelines/reference/genre-trance.md +9 -5
  238. package/skills/strudel-guidelines/reference/layering.md +4 -2
  239. package/skills/strudel-guidelines/reference/mini-notation.md +29 -28
  240. package/skills/strudel-guidelines/reference/modulation.md +5 -2
  241. package/skills/strudel-guidelines/reference/scales-harmony.md +4 -4
  242. package/skills/strudel-guidelines/reference/sounds.md +30 -31
  243. package/skills/strudel-guidelines/reference/tempo-timing.md +7 -5
  244. package/skills/terraform-guidelines/reference/advanced-patterns.md +1 -0
  245. package/skills/terraform-guidelines/reference/locals.md +1 -1
  246. package/skills/terraform-guidelines/reference/module-definition.md +1 -1
  247. package/skills/terraform-guidelines/reference/module-structure.md +1 -1
  248. package/skills/terraform-guidelines/reference/remote-state.md +1 -1
  249. package/skills/terraform-guidelines/reference/root-module.md +1 -1
  250. package/skills/terraform-guidelines/reference/typed-variables.md +1 -1
  251. package/skills/threejs-guidelines/reference/animation.md +3 -1
  252. package/skills/threejs-guidelines/reference/cameras-controls.md +3 -1
  253. package/skills/threejs-guidelines/reference/geometry.md +4 -2
  254. package/skills/threejs-guidelines/reference/interaction.md +3 -1
  255. package/skills/threejs-guidelines/reference/lighting-shadows.md +3 -1
  256. package/skills/threejs-guidelines/reference/loaders.md +2 -0
  257. package/skills/threejs-guidelines/reference/materials.md +3 -1
  258. package/skills/threejs-guidelines/reference/math.md +5 -1
  259. package/skills/threejs-guidelines/reference/node-materials.md +5 -3
  260. package/skills/threejs-guidelines/reference/patterns.md +2 -0
  261. package/skills/threejs-guidelines/reference/performance.md +2 -0
  262. package/skills/threejs-guidelines/reference/physics-vr.md +2 -0
  263. package/skills/threejs-guidelines/reference/postprocessing.md +13 -7
  264. package/skills/threejs-guidelines/reference/scene-fundamentals.md +3 -1
  265. package/skills/threejs-guidelines/reference/shaders.md +4 -2
  266. package/skills/threejs-guidelines/reference/textures.md +4 -2
  267. package/skills/threejs-guidelines/reference/webgpu.md +4 -2
  268. package/skills/typescript-guidelines/reference/async-without-await.md +1 -0
  269. package/skills/typescript-guidelines/reference/avoid-barrel-exports.md +2 -1
  270. package/skills/typescript-guidelines/reference/avoid-eslint-disable.md +1 -0
  271. package/skills/typescript-guidelines/reference/avoid-reexports.md +4 -3
  272. package/skills/typescript-guidelines/reference/env-access-bracket-notation.md +1 -0
  273. package/skills/typescript-guidelines/reference/numeric-separator-enforcement.md +1 -0
  274. package/skills/typescript-guidelines/reference/template-literals-require-string-conversion.md +1 -0
  275. package/skills/typescript-guidelines/reference/unbound-method-references.md +1 -0
  276. package/skills/typescript-guidelines/reference/unnecessary-async-keywords.md +1 -0
  277. package/skills/typescript-to-lua-guidelines/reference/avoiding-heavy-features.md +27 -10
  278. package/skills/typescript-to-lua-guidelines/reference/coroutine-patterns.md +16 -14
  279. package/skills/typescript-to-lua-guidelines/reference/function-patterns.md +19 -13
  280. package/skills/typescript-to-lua-guidelines/reference/lua-interop.md +22 -20
  281. package/skills/typescript-to-lua-guidelines/reference/module-organization.md +19 -9
  282. package/skills/typescript-to-lua-guidelines/reference/multi-return-functions.md +14 -10
  283. package/skills/typescript-to-lua-guidelines/reference/namespaces-vs-classes.md +20 -12
  284. package/skills/typescript-to-lua-guidelines/reference/performance-tips.md +24 -22
  285. package/skills/typescript-to-lua-guidelines/reference/stable-tables.md +23 -21
  286. package/skills/typescript-to-lua-guidelines/reference/tsconfig.md +2 -0
  287. package/skills/typescript-to-lua-guidelines/reference/tstl-decorators.md +21 -16
  288. package/skills/typescript-to-lua-guidelines/reference/type-safety.md +22 -22
  289. package/skills/vitest-guidelines/reference/cors-preflight-status-code.md +1 -0
  290. package/skills/vitest-guidelines/reference/http-testing.md +1 -0
  291. package/skills/vitest-guidelines/reference/json-response-type-safety.md +1 -0
  292. package/skills/vitest-guidelines/reference/mock-patterns.md +1 -0
  293. package/skills/vitest-guidelines/reference/project-references-path-resolution.md +1 -0
  294. package/skills/vitest-guidelines/reference/test-organization.md +1 -0
  295. package/skills/vitest-guidelines/reference/timestamp-testing.md +1 -0
  296. package/skills/vitest-guidelines/reference/type-safety.md +1 -0
  297. package/skills/vitest-guidelines/reference/typescript-config.md +1 -0
  298. package/skills/zod-guidelines/reference/default-values-output-type.md +1 -0
  299. package/skills/zod-guidelines/reference/migration-string-validators.md +1 -0
  300. package/skills/zod-guidelines/reference/migration-v4.md +1 -0
  301. package/skills/zod-guidelines/reference/schema-organization.md +1 -0
  302. package/skills/zod-guidelines/reference/validation-patterns.md +13 -4
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "xonovex",
3
3
  "description": "Xonovex coding guidelines and workflow skills for Claude Code",
4
- "version": "0.1.0",
4
+ "version": "0.1.15",
5
5
  "author": {
6
6
  "name": "Xonovex"
7
7
  },
package/README.md CHANGED
@@ -5,38 +5,147 @@ Xonovex coding guidelines and workflow skills for Claude Code.
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- claude mcp add @xonovex/skills
8
+ # Install as npm package
9
+ npm install @xonovex/skills
10
+
11
+ # Or add the Xonovex marketplace (from within Claude Code)
12
+ /plugin marketplace add xonovex/platform
13
+
14
+ # Install the skills plugin
15
+ /plugin install xonovex@xonovex-platform
16
+ ```
17
+
18
+ Or test locally during development:
19
+
20
+ ```bash
21
+ claude --plugin-dir ./packages/plugins/skills
9
22
  ```
10
23
 
11
- Or add to your Claude Code configuration manually.
24
+ Skills are namespaced as `/xonovex:<skill-name>` (e.g., `/xonovex:typescript-guidelines`).
25
+
26
+ ## Coding Guidelines
27
+
28
+ Auto-triggered guidelines that activate based on file type and context.
29
+
30
+ ### Languages
31
+
32
+ | Skill | Description |
33
+ | --------------------------------- | ---------------------------------------------------------------------------- |
34
+ | `typescript-guidelines` | TypeScript Node.js ESM with strict mode, async/await, and Zod validation |
35
+ | `python-guidelines` | Python 3.12+ with async/await, dataclasses, type hints, and pytest |
36
+ | `c99-guidelines` | Modern C99 with memory management, type safety, and error handling |
37
+ | `c99-opinionated-guidelines` | Opinionated C99 for systems/game/embedded with data-oriented design and SIMD |
38
+ | `c99-game-opinionated-guidelines` | Game engine patterns: caller-owns-memory, inverse mass, SoA optimization |
39
+ | `lua-guidelines` | Lua 5.4+ with module patterns, tables, coroutines, and error handling |
40
+ | `lua-opinionated-guidelines` | LuaJIT performance patterns with JIT-friendly tables and pre-allocation |
41
+ | `typescript-to-lua-guidelines` | TypeScript-to-Lua transpilation with TSTL 1.24+ |
42
+ | `shell-scripting-guidelines` | POSIX shell scripts with strict mode, quoting, and idempotency |
43
+ | `sql-postgresql-guidelines` | PostgreSQL 15+ with CTEs, indexing, JSONB, and row-level security |
12
44
 
13
- ## Features
45
+ ### Frameworks
14
46
 
15
- This plugin provides coding guidelines and workflow automation for:
47
+ | Skill | Description |
48
+ | ----------------------------- | -------------------------------------------------------------------------- |
49
+ | `react-guidelines` | React 19+ with Server Components, Form Actions, and React Compiler |
50
+ | `astro-guidelines` | Astro static sites with islands architecture and content collections |
51
+ | `hono-guidelines` | Hono 4.0+ API servers with validation, middleware, and WebSocket |
52
+ | `hono-opinionated-guidelines` | Opinionated Hono with inline OpenAPI handlers and router selection |
53
+ | `express.js-guidelines` | Express 5+ API servers with route organization and Zod validation |
54
+ | `motion-react-guidelines` | React animations with Motion: gestures, scroll effects, layout transitions |
55
+ | `remotion-guidelines` | Programmatic video with React using frame-driven animations |
56
+ | `threejs-guidelines` | Vanilla Three.js with scene setup, materials, shaders, and post-processing |
16
57
 
17
- - **Languages**: TypeScript, Python, Lua, C99, Shell scripting
18
- - **Frameworks**: React, Express.js, Hono, Astro, Three.js, Remotion
19
- - **Infrastructure**: Docker, Kubernetes, Terraform, CMake
20
- - **Tools**: Git, Vitest, Zod, Motion
58
+ ### Infrastructure & Build
21
59
 
22
- ## Available Skills
60
+ | Skill | Description |
61
+ | ----------------------- | ------------------------------------------------------------------------- |
62
+ | `docker-guidelines` | Docker multi-stage builds, security hardening, and optimization |
63
+ | `kubernetes-guidelines` | Kubernetes manifests with GitOps, Kustomize, and multi-environment config |
64
+ | `terraform-guidelines` | Terraform 1.12+ with module design and environment isolation |
65
+ | `cmake-guidelines` | CMake 3.20+ target-based builds and dependency management |
66
+ | `moon-guidelines` | Moonrepo monorepo task management with inheritance and project tagging |
23
67
 
24
- ### Coding Guidelines
68
+ ### Testing & Validation
25
69
 
26
- - `typescript-guidelines` - TypeScript best practices
27
- - `react-guidelines` - React 19+ patterns
28
- - `python-guidelines` - Python 3.12+ conventions
29
- - `docker-guidelines` - Docker/containerization
30
- - `kubernetes-guidelines` - Kubernetes manifests
31
- - `terraform-guidelines` - Infrastructure as code
32
- - `git-guidelines` - Git workflow and commits
70
+ | Skill | Description |
71
+ | ------------------- | ---------------------------------------------------------------------- |
72
+ | `vitest-guidelines` | Vitest 3+ with type safety, HTTP testing, and mock patterns |
73
+ | `zod-guidelines` | Zod 4.0+ runtime validation with schema composition and type inference |
74
+
75
+ ### Paradigms
76
+
77
+ | Skill | Description |
78
+ | ------------------------ | ------------------------------------------------------------------------- |
79
+ | `general-fp-guidelines` | Functional programming with pure functions, immutability, and composition |
80
+ | `general-oop-guidelines` | Object-oriented programming with SOLID principles and design patterns |
81
+
82
+ ### Meta & Content
83
+
84
+ | Skill | Description |
85
+ | ------------------------- | ---------------------------------------------------------------------------- |
86
+ | `git-guidelines` | Git conventional commits, merge conflict resolution, and worktree management |
87
+ | `skill-guidelines` | Creating and managing guideline skills with progressive disclosure |
88
+ | `plan-guidelines` | Planning research and analysis tasks with code alignment and simplification |
89
+ | `insights-guidelines` | Extracting insights from development sessions and integrating into skills |
90
+ | `instruction-guidelines` | Working with AGENTS.md/CLAUDE.md project instruction files |
91
+ | `content-guidelines` | Bilingual content creation with structured formatting and CEFR levels |
92
+ | `presentation-guidelines` | Creating presentations from codebase analysis with diagrams and Motion |
93
+ | `strudel-guidelines` | Algorithmic music generation with Strudel.cc and mini-notation |
94
+
95
+ ## Workflow
96
+
97
+ Plan-driven development workflow with worktree isolation and parallel execution.
98
+
99
+ ```
100
+ +---------------------+ +---------------------+ +---------------------+
101
+ | Research | | Planning | | Worktree Setup |
102
+ +---------------------+ +---------------------+ +---------------------+
103
+ | /plan-research |---->| /plan-create |---->| /plan-worktree- |
104
+ | - viability | | /plan-subplans- | | create |
105
+ | - alternatives | | create | | |
106
+ +---------------------+ | /plan-tdd-create | +---------------------+
107
+ +---------------------+ |
108
+ +------------------------------------------------------+
109
+ |
110
+ v
111
+ +---------------------+ +---------------------+ +---------------------+
112
+ | Development Loop | | Code Quality | | Merge |
113
+ +---------------------+ +---------------------+ +---------------------+
114
+ | /plan-continue |---->| /code-simplify |---->| /plan-worktree- |
115
+ | (implement) | | /code-harden | | merge |
116
+ | /plan-validate | | /code-align | | /git-commit --push |
117
+ | /insights-extract | | | +---------------------+
118
+ | /plan-update | +---------------------+ |
119
+ +---------------------+ | |
120
+ ^ | v
121
+ | | +---------------------+
122
+ +--- more subplans? ---+ | Done |
123
+ +---------------------+
124
+
125
+ Parallel: Multiple agents work on parallel subplan groups in separate worktrees
126
+ Learning: /insights-integrate merges learnings into guidelines for future sessions
127
+ ```
33
128
 
34
129
  ### Workflow Commands
35
130
 
36
- - `/commit` - Create conventional commits
37
- - `/plan-create` - Create implementation plans
38
- - `/plan-continue` - Resume work from a plan
39
- - `/insights-extract` - Extract lessons learned
131
+ | Command | Description |
132
+ | ------------------------ | -------------------------------------------------------------- |
133
+ | `/plan-research` | Research codebase and web for viability and alternatives |
134
+ | `/plan-create` | Create a high-level plan with research for user review |
135
+ | `/plan-tdd-create` | Create a TDD plan with atomic test step proposals |
136
+ | `/plan-subplans-create` | Generate detailed subplans with parallel execution detection |
137
+ | `/plan-continue` | Resume work from an existing plan document |
138
+ | `/plan-validate` | Verify that plan objectives have been fully achieved |
139
+ | `/plan-update` | Update plan status, phase, and timestamps |
140
+ | `/plan-worktree-create` | Create a git worktree for isolated feature development |
141
+ | `/plan-worktree-merge` | Merge feature worktree back to source with conflict resolution |
142
+ | `/plan-worktree-abandon` | Document and abandon a feature with reason and learnings |
143
+ | `/code-simplify` | Analyze code for consolidation and dead code removal |
144
+ | `/code-harden` | Analyze code for type safety, validation, and error handling |
145
+ | `/code-align` | Compare two implementations for structural differences |
146
+ | `/git-commit` | Auto-generate conventional commit messages with optional push |
147
+ | `/insights-extract` | Extract development mistakes and lessons from the session |
148
+ | `/insights-integrate` | Convert extracted insights into guideline skills |
40
149
 
41
150
  ## License
42
151
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xonovex/skills",
3
- "version": "0.1.9",
3
+ "version": "0.1.15",
4
4
  "description": "Xonovex coding guidelines and workflow skills for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Xonovex",
@@ -24,6 +24,7 @@
24
24
  ```
25
25
 
26
26
  **Techniques:**
27
+
27
28
  - Semantic elements: Use `<header>`, `<nav>`, `<main>`, `<article>`, `<aside>` for structure
28
29
  - Alt text: Provide descriptive alt attributes for all images
29
30
  - Heading hierarchy: Maintain h1 → h2 → h3 logical ordering
@@ -16,8 +16,9 @@ interface Props {
16
16
  variant?: "default" | "featured";
17
17
  }
18
18
 
19
- const { title, description, href, variant = "default" } = Astro.props;
19
+ const {title, description, href, variant = "default"} = Astro.props;
20
20
  ---
21
+
21
22
  <div class={`card card--${variant}`}>
22
23
  <h3>{title}</h3>
23
24
  {description && <p>{description}</p>}
@@ -29,12 +30,20 @@ const { title, description, href, variant = "default" } = Astro.props;
29
30
  </div>
30
31
  </div>
31
32
  <style>
32
- .card { border: 1px solid #ddd; padding: 1rem; border-radius: 8px; }
33
- .card--featured { border-color: #0066cc; background: #f0f8ff; }
33
+ .card {
34
+ border: 1px solid #ddd;
35
+ padding: 1rem;
36
+ border-radius: 8px;
37
+ }
38
+ .card--featured {
39
+ border-color: #0066cc;
40
+ background: #f0f8ff;
41
+ }
34
42
  </style>
35
43
  ```
36
44
 
37
45
  **Techniques:**
46
+
38
47
  - Astro components: Create `.astro` components for static presentational UI
39
48
  - Props typing: Use TypeScript interfaces for type-safe component props
40
49
  - Slots composition: Leverage slots for flexible component composition
@@ -25,6 +25,7 @@ export const collections = {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Collection schemas: Define Zod schemas in `src/content/config.ts` for validation
29
30
  - Directory structure: Organize content in `src/content/[collection-name]/` directories
30
31
  - Query functions: Use `getCollection()` and `getEntry()` for type-safe queries
@@ -11,14 +11,18 @@
11
11
  import Counter from "../components/Counter.tsx";
12
12
  import SearchBar from "../components/SearchBar.tsx";
13
13
  ---
14
+
14
15
  <Layout title="Home">
15
16
  <h1>Static Content</h1>
16
- <Counter client:visible /> <!-- Hydrate on viewport entry -->
17
- <SearchBar client:load /> <!-- Hydrate immediately -->
17
+ <Counter client:visible />
18
+ <!-- Hydrate on viewport entry -->
19
+ <SearchBar client:load />
20
+ <!-- Hydrate immediately -->
18
21
  </Layout>
19
22
  ```
20
23
 
21
24
  **Techniques:**
25
+
22
26
  - Static by default: Build pages with Astro components that render zero JavaScript
23
27
  - Framework components: Import React, Vue, Svelte only for interactive features
24
28
  - client:load: Hydrate immediately for critical interactive components
@@ -25,6 +25,7 @@ src/
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Pages directory: Place routes in `src/pages/` for automatic file-based routing
29
30
  - Components folder: Store reusable components in `src/components/`
30
31
  - Layouts directory: Create reusable layouts in `src/layouts/`
@@ -22,6 +22,7 @@ status_t status = sphere_mesh3d_build(&mesh, 1.0f, 32, 16);
22
22
  ```
23
23
 
24
24
  **Techniques:**
25
+
25
26
  - Query phase: Call `*_req()` to get exact vertex/index counts needed
26
27
  - Caller allocation: Choose strategy (stack, malloc, arena) for complete control
27
28
  - Build phase: Call `*_build()` to fill pre-allocated caller buffer
@@ -20,6 +20,7 @@ matrix4f_t view_lh = matrix4f_look_at_lh(eye, target, up);
20
20
  ```
21
21
 
22
22
  **Techniques:**
23
+
23
24
  - Right-handed default: Use +X right, +Y up, +Z forward as base convention
24
25
  - CCW winding: Define front faces with counter-clockwise vertex order
25
26
  - Suffix variants: Provide `_rh` and `_lh` function suffixes for explicit systems
@@ -22,6 +22,7 @@ mesh3d_pack_3f_4u8(packed, &mesh, color);
22
22
  ```
23
23
 
24
24
  **Techniques:**
25
+
25
26
  - Analytic layer: Define shapes like `sphere3d_t`, `circle2d_t` for physics/logic
26
27
  - Discrete layer: Build indexed meshes from analytic shapes with builder pattern
27
28
  - Packing layer: Convert mesh to GPU-ready vertex formats (interleaved/streaming)
@@ -24,7 +24,8 @@ m.columns[3] = (vec4f_t){.x = tx, .y = ty, .z = tz, .w = 1.0f};
24
24
  ```
25
25
 
26
26
  **Techniques:**
27
- - 16-byte alignment: Pad vec3 with _pad field for SIMD-friendly 16B size
27
+
28
+ - 16-byte alignment: Pad vec3 with \_pad field for SIMD-friendly 16B size
28
29
  - Union design: Combine named fields with array access for flexibility
29
30
  - Column-major matrices: Store matrix4f_t as 4 column vectors
30
31
  - Quaternion format: Use x, y, z, w order with normalization constraint
@@ -25,6 +25,7 @@ typedef struct {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Capacity tracking: Maintain separate count and capacity for dynamic growth
29
30
  - Builder pattern: Use `{shape}_mesh{dim}_{req|build}` naming convention
30
31
  - Optional data: Include normals/UVs in mesh3d for advanced rendering
@@ -21,6 +21,7 @@ void apply_impulse(rigidbody_t *rb, vec3f_t impulse) {
21
21
  ```
22
22
 
23
23
  **Techniques:**
24
+
24
25
  - Inverse mass: Store `inv_mass` (1/mass); zero for static bodies to disable movement
25
26
  - Bit flags: Use `uint32_t` with bitmask enums for state like ACTIVE, SLEEPING
26
27
  - Sync maps: Index maps decouple physics arrays from entity system arrays
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Guideline:** Use dimension-suffixed structures (grid, tree, bvh) for broad-phase queries. Choose by density/pattern.
4
4
 
5
- **Rationale:** Different structures suit different spatial distributions; dimension suffixes (_2d, _3d) enable consistent APIs across dimensions.
5
+ **Rationale:** Different structures suit different spatial distributions; dimension suffixes (\_2d, \_3d) enable consistent APIs across dimensions.
6
6
 
7
7
  **Example:**
8
8
 
@@ -19,6 +19,7 @@ uint32_t cell_idx = cell_y * g->cells_x + cell_x;
19
19
  ```
20
20
 
21
21
  **Techniques:**
22
+
22
23
  - Uniform grids: Use for dense/uniform object distributions with O(1) insertion
23
24
  - Quadtrees/Octrees: Use for sparse/varying density with O(log n) operations
24
25
  - BVH structures: Use for static geometry and ray casting queries
@@ -33,6 +33,7 @@ float shape_volume(const shape_t *s) {
33
33
  ```
34
34
 
35
35
  **Techniques:**
36
+
36
37
  - Type enum: Define all variant types in single enum for exhaustiveness
37
38
  - Union members: Create named structs within union for each type variant
38
39
  - Switch dispatch: Use switch on type field with no default clause
@@ -31,6 +31,7 @@ size_t mesh3d_pack_size(const mesh3d_t *m, vertex_format_t fmt) {
31
31
  ```
32
32
 
33
33
  **Techniques:**
34
+
34
35
  - Vertex format naming: Use `vertex_{components}_{types}_t` (e.g., `vertex_3f_4u8_t`)
35
36
  - Interleaved layout: Pack all attributes per-vertex in single buffer
36
37
  - Streaming layout: Separate position/normal/UV into different buffers
@@ -26,6 +26,7 @@ void example(void) {
26
26
  ```
27
27
 
28
28
  **Techniques:**
29
+
29
30
  - Inline syntax: Use `(Type){initializer-list}` to create temporaries inline
30
31
  - With designators: Combine with designated initializers for clarity
31
32
  - Function arguments: Create temporary structs directly in function calls
@@ -25,6 +25,7 @@ const char *get_name(void) {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Read-only parameters: Mark function parameters with const when not modified
29
30
  - Pointer variants: Distinguish `const T *p` (pointer to const) vs `T *const p` (const pointer)
30
31
  - Return values: Use const for immutable return values to prevent modification
@@ -25,6 +25,7 @@ int days[12] = {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Field syntax: Use `.field = value` for struct initialization with clarity
29
30
  - Array syntax: Use `[index] = value` for sparse array initialization
30
31
  - Partial init: Unspecified fields are automatically zeroed without explicit values
@@ -42,6 +42,7 @@ error_t load_file(const char *path, char **out, size_t *len) {
42
42
  ```
43
43
 
44
44
  **Techniques:**
45
+
45
46
  - Error enums: Define descriptive error types with zero for success
46
47
  - Output parameters: Use pointers to return multiple results alongside error codes
47
48
  - Error checking: Always check return values immediately after function calls
@@ -30,6 +30,7 @@ int result = clampi(x++, 0, 10);
30
30
  ```
31
31
 
32
32
  **Techniques:**
33
+
33
34
  - Replace macros: Replace function-like macros with `static inline` functions
34
35
  - Type-specific variants: Create `clampi`, `clampf` instead of generic macro
35
36
  - Header placement: Use inline functions in headers for no multiple definition issues
@@ -28,6 +28,7 @@ void dynamic_array(size_t size) {
28
28
  ```
29
29
 
30
30
  **Techniques:**
31
+
31
32
  - Default stack: Use stack allocation for fixed-size data by default
32
33
  - Heap when needed: Use malloc/calloc only for dynamic or longer-lived data
33
34
  - Malloc/free pairing: Always pair every malloc with corresponding free call
@@ -43,6 +43,7 @@ void *aligned_alloc_16(size_t size) {
43
43
  ```
44
44
 
45
45
  **Techniques:**
46
+
46
47
  - SIMD alignment: Pad vec3 to 16-byte aligned structures for SIMD instructions
47
48
  - Compiler directives: Use `_Alignas(16)` for explicit struct field alignment
48
49
  - SoA layout: Align array-of-structures for batch SIMD operations
@@ -31,6 +31,7 @@ status_t entity_add(entity_system_t *sys, float x, float y) {
31
31
  ```
32
32
 
33
33
  **Techniques:**
34
+
34
35
  - Functions receive pointers: Accept caller-provided storage instead of allocating
35
36
  - Init functions: Bind library state to caller-owned arrays with capacity tracking
36
37
  - Status returns: Return status codes, never allocated pointers
@@ -26,6 +26,7 @@ void example(void) {
26
26
  ```
27
27
 
28
28
  **Techniques:**
29
+
29
30
  - Inline syntax: Use `(Type){initializer-list}` to create temporaries inline
30
31
  - With designators: Combine with designated initializers for clarity
31
32
  - Function arguments: Create temporary structs directly in function calls
@@ -25,6 +25,7 @@ const char *get_name(void) {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Read-only parameters: Mark function parameters with const when not modified
29
30
  - Pointer variants: Distinguish `const T *p` (pointer to const) vs `T *const p` (const pointer)
30
31
  - Return values: Use const for immutable return values to prevent modification
@@ -35,6 +35,7 @@ for (size_t i = 0; i < system.count; i++) {
35
35
  ```
36
36
 
37
37
  **Techniques:**
38
+
38
39
  - Separate fields: Move frequently accessed fields into their own arrays
39
40
  - Cache locality: Sequential memory access maximizes CPU cache utilization
40
41
  - Array sync: Keep indices synchronized across all component arrays
@@ -25,6 +25,7 @@ int days[12] = {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Field syntax: Use `.field = value` for struct initialization with clarity
29
30
  - Array syntax: Use `[index] = value` for sparse array initialization
30
31
  - Partial init: Unspecified fields are automatically zeroed without explicit values
@@ -42,6 +42,7 @@ error_t load_file(const char *path, char **out, size_t *len) {
42
42
  ```
43
43
 
44
44
  **Techniques:**
45
+
45
46
  - Error enums: Define descriptive error types with zero for success
46
47
  - Output parameters: Use pointers to return multiple results alongside error codes
47
48
  - Error checking: Always check return values immediately after function calls
@@ -26,6 +26,7 @@ vector.test.c # Scalar tests
26
26
  ```
27
27
 
28
28
  **Techniques:**
29
+
29
30
  - Type suffix: Use `_type.h` for type definitions only
30
31
  - Impl suffix: Use `_impl.h` for inline scalar implementations
31
32
  - Batch variants: Use `_aos.h`, `_soa.h` for batch implementations
@@ -28,6 +28,7 @@ void vec3_dot_soa(float *out, const vec3_soa_t *a, const vec3_soa_t *b) {
28
28
  ```
29
29
 
30
30
  **Techniques:**
31
+
31
32
  - Scalar single: Start with single-object reference implementation for debugging
32
33
  - AoS batch: Add batch processing for struct arrays (1.5x speedup)
33
34
  - SoA batch: Add cache-friendly variant for large workloads (2-3x speedup)
@@ -30,6 +30,7 @@ int result = clampi(x++, 0, 10);
30
30
  ```
31
31
 
32
32
  **Techniques:**
33
+
33
34
  - Replace macros: Replace function-like macros with `static inline` functions
34
35
  - Type-specific variants: Create `clampi`, `clampf` instead of generic macro
35
36
  - Header placement: Use inline functions in headers for no multiple definition issues
@@ -28,6 +28,7 @@ void dynamic_array(size_t size) {
28
28
  ```
29
29
 
30
30
  **Techniques:**
31
+
31
32
  - Default stack: Use stack allocation for fixed-size data by default
32
33
  - Heap when needed: Use malloc/calloc only for dynamic or longer-lived data
33
34
  - Malloc/free pairing: Always pair every malloc with corresponding free call
@@ -25,6 +25,7 @@ vec3_t vec3_normalize(const vec3_t *v) {
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - Capacity checks: Validate `used + size <= capacity` before writing
29
30
  - Bounds checks: Check `idx < count` before array access
30
31
  - NULL checks: Test `if (!ptr)` at function entry
@@ -32,6 +32,7 @@ void test_vec3_dot_soa_parity(void) {
32
32
  ```
33
33
 
34
34
  **Techniques:**
35
+
35
36
  - Typed assertions: Use `assert_int_eq`, `assert_float_eq`, `assert_ptr_not_null`
36
37
  - Epsilon values: Use 1e-4f general, 1e-5f cumulative, 5e-4f for SIMD
37
38
  - Scalar tests: Validate against known values for correctness
@@ -1,6 +1,6 @@
1
1
  # compile-options: Compile Options and Definitions
2
2
 
3
- **Guideline:** Set compiler flags, definitions, and features on targets using target_compile_* commands with appropriate visibility.
3
+ **Guideline:** Set compiler flags, definitions, and features on targets using target*compile*\* commands with appropriate visibility.
4
4
 
5
5
  **Rationale:** Target-scoped settings prevent pollution of the global build environment and allow different targets to have different requirements.
6
6
 
@@ -27,6 +27,7 @@ target_compile_features(mylib PUBLIC cxx_std_20)
27
27
  ```
28
28
 
29
29
  **Techniques:**
30
+
30
31
  - target_compile_options(): Set compiler-specific flags with generator expressions
31
32
  - target_compile_definitions(): Define preprocessor macros with visibility control
32
33
  - target_compile_features(): Require C++ standard using cxx_std_20, cxx_std_17, etc
@@ -25,6 +25,7 @@ target_link_libraries(app PRIVATE fmt::fmt)
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - FetchContent_Declare(): Declare dependency with git repo and version pin
29
30
  - GIT_TAG: Pin exact version for reproducible builds
30
31
  - GIT_SHALLOW: Use shallow clone for faster fetching
@@ -22,8 +22,9 @@ endif()
22
22
  ```
23
23
 
24
24
  **Techniques:**
25
+
25
26
  - REQUIRED: Fail build if package not found, use for mandatory dependencies
26
27
  - COMPONENTS: Specify individual package parts to reduce linking
27
28
  - Namespaced targets: Use Boost::system, OpenSSL::SSL for safe target linking
28
- - \*_FOUND variable: Check if optional dependency is available before using
29
+ - \*\_FOUND variable: Check if optional dependency is available before using
29
30
  - Conditional linking: Add target_compile_definitions when dependencies found
@@ -27,6 +27,7 @@ target_compile_definitions(mylib PRIVATE
27
27
  ```
28
28
 
29
29
  **Techniques:**
30
+
30
31
  - BUILD_INTERFACE/INSTALL_INTERFACE: Different paths for build vs installed consumption
31
32
  - CXX_COMPILER_ID: Detect compiler and apply vendor-specific flags
32
33
  - CONFIG: Apply Debug or Release build-specific settings
@@ -31,6 +31,7 @@ install(EXPORT mylib-targets
31
31
  ```
32
32
 
33
33
  **Techniques:**
34
+
34
35
  - install(TARGETS): Install libraries and executables with type-specific destinations
35
36
  - EXPORT: Create importable CMake files for downstream find_package() calls
36
37
  - DESTINATION: Set lib/bin/include paths for each artifact type
@@ -33,6 +33,7 @@ add_test(NAME core_test COMMAND core_test)
33
33
  ```
34
34
 
35
35
  **Techniques:**
36
+
36
37
  - cmake_minimum_required(): Set 3.20+ for modern CMake features
37
38
  - project(): Declare name, version, description, and required languages
38
39
  - add_library/add_executable(): Create targets for libraries and binaries
@@ -30,6 +30,7 @@ add_executable(gui WIN32 MACOSX_BUNDLE src/gui.cpp)
30
30
  ```
31
31
 
32
32
  **Techniques:**
33
+
33
34
  - add_library() without type: Let BUILD_SHARED_LIBS control static vs shared
34
35
  - STATIC: Always statically link, good for embedded or single-binary scenarios
35
36
  - SHARED: Dynamic library for runtime linking and flexible updates
@@ -23,6 +23,7 @@ set_tests_properties(unit_tests PROPERTIES TIMEOUT 30 LABELS "unit")
23
23
  ```
24
24
 
25
25
  **Techniques:**
26
+
26
27
  - enable_testing(): Enable the testing feature in CMake project
27
28
  - add_test(): Register test executable or command with optional working directory
28
29
  - set_tests_properties(): Set timeout, labels, or other test attributes
@@ -25,6 +25,7 @@ target_link_libraries(app PRIVATE mylib PUBLIC common INTERFACE interface)
25
25
  ```
26
26
 
27
27
  **Techniques:**
28
+
28
29
  - PUBLIC: Properties visible to both target and all downstream consumers
29
30
  - PRIVATE: Properties used only by target, not propagated to consumers
30
31
  - INTERFACE: Properties for consumers only, not used by target itself