@punks/cli 0.1.16 → 1.0.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 (508) hide show
  1. package/AGENTS.md +10 -0
  2. package/README.md +64 -0
  3. package/dist/data/AGENTS.md +123 -0
  4. package/dist/data/catalog/lint.ts +349 -0
  5. package/dist/data/catalog/packs.ts +44 -0
  6. package/dist/data/catalog/skills.ts +47 -0
  7. package/dist/data/catalog/tools.ts +22 -0
  8. package/dist/data/hooks/format-edited-file.mjs +554 -0
  9. package/dist/data/hooks/format-edited-file.py +157 -0
  10. package/dist/data/hooks/format-edited-file.sh +37 -0
  11. package/dist/data/hooks/require-tests-for-pr.mjs +144 -0
  12. package/dist/data/scripts/sync-subagents.mjs +420 -0
  13. package/dist/data/subagents/manifest.mjs +253 -0
  14. package/dist/index.js +46415 -0
  15. package/dist/skills/agnostic/backend/backend-domain-structure/SKILL.md +50 -0
  16. package/dist/skills/agnostic/backend/backend-domain-structure/agents/openai.yaml +4 -0
  17. package/dist/skills/agnostic/backend/backend-domain-structure/references/layout.md +167 -0
  18. package/dist/skills/agnostic/backend/backend-recoverable-actions/SKILL.md +49 -0
  19. package/dist/skills/agnostic/backend/backend-recoverable-actions/agents/openai.yaml +4 -0
  20. package/dist/skills/agnostic/backend/backend-recoverable-actions/references/strategy-matrix.md +34 -0
  21. package/dist/skills/agnostic/backend/backend-recoverable-actions/references/test-matrix.md +34 -0
  22. package/dist/skills/agnostic/docs/docs-maintenance/SKILL.md +193 -0
  23. package/dist/skills/agnostic/docs/docs-maintenance/agents/openai.yaml +4 -0
  24. package/dist/skills/agnostic/docs/docs-maintenance/references/concept-pages.md +48 -0
  25. package/dist/skills/agnostic/docs/docs-maintenance/references/flow-pages.md +41 -0
  26. package/dist/skills/agnostic/frontend/agent-browser/.clawdhub/origin.json +7 -0
  27. package/dist/skills/agnostic/frontend/agent-browser/SKILL.md +229 -0
  28. package/dist/skills/agnostic/frontend/agent-browser/references/authentication.md +202 -0
  29. package/dist/skills/agnostic/frontend/agent-browser/references/commands.md +259 -0
  30. package/dist/skills/agnostic/frontend/agent-browser/references/proxy-support.md +188 -0
  31. package/dist/skills/agnostic/frontend/agent-browser/references/session-management.md +193 -0
  32. package/dist/skills/agnostic/frontend/agent-browser/references/snapshot-refs.md +194 -0
  33. package/dist/skills/agnostic/frontend/agent-browser/references/video-recording.md +173 -0
  34. package/dist/skills/agnostic/frontend/agent-browser/templates/authenticated-session.sh +97 -0
  35. package/dist/skills/agnostic/frontend/agent-browser/templates/capture-workflow.sh +69 -0
  36. package/dist/skills/agnostic/frontend/agent-browser/templates/form-automation.sh +62 -0
  37. package/dist/skills/agnostic/frontend/design-taste-frontend/SKILL.md +226 -0
  38. package/dist/skills/agnostic/frontend/frontend-domain-structure/SKILL.md +55 -0
  39. package/dist/skills/agnostic/frontend/frontend-domain-structure/agents/openai.yaml +4 -0
  40. package/dist/skills/agnostic/frontend/frontend-domain-structure/references/react/structure.md +102 -0
  41. package/dist/skills/agnostic/frontend/frontend-domain-structure/references/structure.md +257 -0
  42. package/dist/skills/agnostic/frontend/gpt-taste/SKILL.md +74 -0
  43. package/dist/skills/agnostic/frontend/image-taste-frontend/SKILL.md +1102 -0
  44. package/dist/skills/agnostic/frontend/redesign-existing-projects/SKILL.md +178 -0
  45. package/dist/skills/agnostic/planning/create-plan/REFERENCE.md +37 -0
  46. package/dist/skills/agnostic/planning/create-plan/SKILL.md +69 -0
  47. package/dist/skills/agnostic/planning/create-plan/references/backlog-sync.md +44 -0
  48. package/dist/skills/agnostic/planning/create-plan/references/grill-phase.md +86 -0
  49. package/dist/skills/agnostic/planning/create-plan/references/plan-schema.md +66 -0
  50. package/dist/skills/agnostic/planning/create-plan/references/planner-phase.md +39 -0
  51. package/dist/skills/agnostic/planning/create-plan/references/stop-conditions.md +18 -0
  52. package/dist/skills/agnostic/planning/create-plan/references/tdd-phase.md +26 -0
  53. package/dist/skills/agnostic/planning/create-spec/SKILL.md +57 -0
  54. package/dist/skills/agnostic/planning/create-spec/assets/SPEC-TEMPLATE.md +91 -0
  55. package/dist/skills/agnostic/planning/create-spec/references/discovery.md +44 -0
  56. package/dist/skills/agnostic/planning/create-spec/references/folder-naming.md +27 -0
  57. package/dist/skills/agnostic/planning/create-spec/references/handoff.md +47 -0
  58. package/dist/skills/agnostic/planning/create-spec/references/questioning.md +41 -0
  59. package/dist/skills/agnostic/planning/create-spec/references/spec-quality-bar.md +58 -0
  60. package/dist/skills/agnostic/planning/create-spec/references/wiki-bookkeeping.md +26 -0
  61. package/dist/skills/agnostic/planning/grill-me/SKILL.md +28 -0
  62. package/dist/skills/agnostic/planning/implement-spec/SKILL.md +72 -0
  63. package/dist/skills/agnostic/planning/implement-spec/assets/IMPLEMENTATION-NOTES-TEMPLATE.md +47 -0
  64. package/dist/skills/agnostic/planning/implement-spec/references/lifecycle.md +149 -0
  65. package/dist/skills/agnostic/planning/implement-spec/references/parallel-orchestration.md +102 -0
  66. package/dist/skills/agnostic/planning/implement-spec/references/parallel-worker-brief.md +65 -0
  67. package/dist/skills/agnostic/planning/implement-spec/references/parallel.md +56 -0
  68. package/dist/skills/agnostic/planning/implement-spec/references/sequential.md +28 -0
  69. package/dist/skills/agnostic/planning/swarm-planner/SKILL.md +179 -0
  70. package/dist/skills/agnostic/quality/simplify/SKILL.md +14 -0
  71. package/dist/skills/agnostic/quality/tdd/SKILL.md +107 -0
  72. package/dist/skills/agnostic/quality/tdd/deep-modules.md +33 -0
  73. package/dist/skills/agnostic/quality/tdd/interface-design.md +31 -0
  74. package/dist/skills/agnostic/quality/tdd/mocking.md +59 -0
  75. package/dist/skills/agnostic/quality/tdd/refactoring.md +10 -0
  76. package/dist/skills/agnostic/quality/tdd/tests.md +61 -0
  77. package/dist/skills/agnostic/requirements/requirements-grill/SKILL.md +42 -0
  78. package/dist/skills/agnostic/requirements/requirements-grill/references/artifact-output.md +73 -0
  79. package/dist/skills/agnostic/requirements/requirements-grill/references/grilling-flow.md +57 -0
  80. package/dist/skills/agnostic/requirements/requirements-grill/references/wiki-output.md +94 -0
  81. package/dist/skills/agnostic/requirements/write-backlog/EXAMPLES.md +67 -0
  82. package/dist/skills/agnostic/requirements/write-backlog/REFERENCE.md +253 -0
  83. package/dist/skills/agnostic/requirements/write-backlog/SKILL.md +68 -0
  84. package/dist/skills/agnostic/requirements/write-backlog/assets/concepts/backlog-model.md +69 -0
  85. package/dist/skills/agnostic/requirements/write-backlog/assets/concepts/story-shape.md +66 -0
  86. package/dist/skills/agnostic/requirements/write-backlog/assets/providers/azure-devops-create-payload.md +63 -0
  87. package/dist/skills/agnostic/requirements/write-backlog/assets/providers/github-issues-create-payload.md +48 -0
  88. package/dist/skills/agnostic/requirements/write-backlog/assets/providers/linear-create-payload.md +76 -0
  89. package/dist/skills/agnostic/research/improve-codebase-architecture/REFERENCE.md +78 -0
  90. package/dist/skills/agnostic/research/improve-codebase-architecture/SKILL.md +76 -0
  91. package/dist/skills/agnostic/research/parallel-research/SKILL.md +68 -0
  92. package/dist/skills/agnostic/research/parallel-research/agents/openai.yaml +4 -0
  93. package/dist/skills/agnostic/subagents/swarm-planner/SKILL.md +179 -0
  94. package/dist/skills/agnostic/write-a-skill/SKILL.md +117 -0
  95. package/dist/skills/frameworks/better-auth/better-auth-best-practices/SKILL.md +166 -0
  96. package/dist/skills/frameworks/better-auth/better-auth-security-best-practices/SKILL.MD +432 -0
  97. package/dist/skills/frameworks/effect/effect-authoring/SKILL.md +116 -0
  98. package/dist/skills/frameworks/effect/effect-authoring/references/branded-types.md +98 -0
  99. package/dist/skills/frameworks/effect/effect-authoring/references/effect-atom-patterns.md +257 -0
  100. package/dist/skills/frameworks/effect/effect-authoring/references/effect-primitives.md +144 -0
  101. package/dist/skills/frameworks/effect/effect-authoring/references/error-patterns.md +156 -0
  102. package/dist/skills/frameworks/effect/effect-authoring/references/otel-patterns.md +113 -0
  103. package/dist/skills/frameworks/effect/effect-authoring/references/test-patterns.md +146 -0
  104. package/dist/skills/frameworks/effect/effect-backend-structure/SKILL.md +96 -0
  105. package/dist/skills/frameworks/effect/effect-backend-structure/agents/openai.yaml +4 -0
  106. package/dist/skills/frameworks/effect/effect-backend-structure/references/layout.md +68 -0
  107. package/dist/skills/frameworks/effect/effect-best-practices/SKILL.md +517 -0
  108. package/dist/skills/frameworks/effect/effect-best-practices/references/anti-patterns.md +392 -0
  109. package/dist/skills/frameworks/effect/effect-best-practices/references/effect-atom-patterns.md +653 -0
  110. package/dist/skills/frameworks/effect/effect-best-practices/references/error-patterns.md +464 -0
  111. package/dist/skills/frameworks/effect/effect-best-practices/references/language-server.md +287 -0
  112. package/dist/skills/frameworks/effect/effect-best-practices/references/layer-patterns.md +495 -0
  113. package/dist/skills/frameworks/effect/effect-best-practices/references/observability-patterns.md +342 -0
  114. package/dist/skills/frameworks/effect/effect-best-practices/references/rpc-cluster-patterns.md +418 -0
  115. package/dist/skills/frameworks/effect/effect-best-practices/references/schema-patterns.md +353 -0
  116. package/dist/skills/frameworks/effect/effect-best-practices/references/service-patterns.md +299 -0
  117. package/dist/skills/frameworks/effect/effect-recoverable-actions/SKILL.md +65 -0
  118. package/dist/skills/frameworks/effect/effect-recoverable-actions/agents/openai.yaml +4 -0
  119. package/dist/skills/frameworks/effect/effect-recoverable-actions/references/flow-examples.md +154 -0
  120. package/dist/skills/frameworks/effect/effect-recoverable-actions/references/source-backed-primitives.md +104 -0
  121. package/dist/skills/frameworks/effect/effect-recoverable-actions/references/strategy-matrix.md +34 -0
  122. package/dist/skills/frameworks/effect/effect-recoverable-actions/references/test-matrix.md +36 -0
  123. package/dist/skills/frameworks/elysia/elysiajs/SKILL.md +475 -0
  124. package/dist/skills/frameworks/elysia/elysiajs/examples/basic.ts +9 -0
  125. package/dist/skills/frameworks/elysia/elysiajs/examples/body-parser.ts +33 -0
  126. package/dist/skills/frameworks/elysia/elysiajs/examples/complex.ts +112 -0
  127. package/dist/skills/frameworks/elysia/elysiajs/examples/cookie.ts +45 -0
  128. package/dist/skills/frameworks/elysia/elysiajs/examples/error.ts +38 -0
  129. package/dist/skills/frameworks/elysia/elysiajs/examples/file.ts +10 -0
  130. package/dist/skills/frameworks/elysia/elysiajs/examples/guard.ts +34 -0
  131. package/dist/skills/frameworks/elysia/elysiajs/examples/map-response.ts +15 -0
  132. package/dist/skills/frameworks/elysia/elysiajs/examples/redirect.ts +6 -0
  133. package/dist/skills/frameworks/elysia/elysiajs/examples/rename.ts +32 -0
  134. package/dist/skills/frameworks/elysia/elysiajs/examples/schema.ts +61 -0
  135. package/dist/skills/frameworks/elysia/elysiajs/examples/state.ts +6 -0
  136. package/dist/skills/frameworks/elysia/elysiajs/examples/upload-file.ts +20 -0
  137. package/dist/skills/frameworks/elysia/elysiajs/examples/websocket.ts +25 -0
  138. package/dist/skills/frameworks/elysia/elysiajs/integrations/ai-sdk.md +92 -0
  139. package/dist/skills/frameworks/elysia/elysiajs/integrations/astro.md +59 -0
  140. package/dist/skills/frameworks/elysia/elysiajs/integrations/better-auth.md +117 -0
  141. package/dist/skills/frameworks/elysia/elysiajs/integrations/cloudflare-worker.md +95 -0
  142. package/dist/skills/frameworks/elysia/elysiajs/integrations/deno.md +34 -0
  143. package/dist/skills/frameworks/elysia/elysiajs/integrations/drizzle.md +258 -0
  144. package/dist/skills/frameworks/elysia/elysiajs/integrations/expo.md +95 -0
  145. package/dist/skills/frameworks/elysia/elysiajs/integrations/nextjs.md +103 -0
  146. package/dist/skills/frameworks/elysia/elysiajs/integrations/nodejs.md +64 -0
  147. package/dist/skills/frameworks/elysia/elysiajs/integrations/nuxt.md +67 -0
  148. package/dist/skills/frameworks/elysia/elysiajs/integrations/prisma.md +93 -0
  149. package/dist/skills/frameworks/elysia/elysiajs/integrations/react-email.md +134 -0
  150. package/dist/skills/frameworks/elysia/elysiajs/integrations/sveltekit.md +53 -0
  151. package/dist/skills/frameworks/elysia/elysiajs/integrations/tanstack-start.md +87 -0
  152. package/dist/skills/frameworks/elysia/elysiajs/integrations/vercel.md +55 -0
  153. package/dist/skills/frameworks/elysia/elysiajs/patterns/mvc.md +380 -0
  154. package/dist/skills/frameworks/elysia/elysiajs/plugins/bearer.md +30 -0
  155. package/dist/skills/frameworks/elysia/elysiajs/plugins/cors.md +141 -0
  156. package/dist/skills/frameworks/elysia/elysiajs/plugins/cron.md +265 -0
  157. package/dist/skills/frameworks/elysia/elysiajs/plugins/graphql-apollo.md +90 -0
  158. package/dist/skills/frameworks/elysia/elysiajs/plugins/graphql-yoga.md +87 -0
  159. package/dist/skills/frameworks/elysia/elysiajs/plugins/html.md +188 -0
  160. package/dist/skills/frameworks/elysia/elysiajs/plugins/jwt.md +197 -0
  161. package/dist/skills/frameworks/elysia/elysiajs/plugins/openapi.md +246 -0
  162. package/dist/skills/frameworks/elysia/elysiajs/plugins/opentelemetry.md +167 -0
  163. package/dist/skills/frameworks/elysia/elysiajs/plugins/server-timing.md +71 -0
  164. package/dist/skills/frameworks/elysia/elysiajs/plugins/static.md +84 -0
  165. package/dist/skills/frameworks/elysia/elysiajs/references/bun-fullstack-dev-server.md +129 -0
  166. package/dist/skills/frameworks/elysia/elysiajs/references/cookie.md +187 -0
  167. package/dist/skills/frameworks/elysia/elysiajs/references/deployment.md +413 -0
  168. package/dist/skills/frameworks/elysia/elysiajs/references/eden.md +158 -0
  169. package/dist/skills/frameworks/elysia/elysiajs/references/lifecycle.md +198 -0
  170. package/dist/skills/frameworks/elysia/elysiajs/references/macro.md +83 -0
  171. package/dist/skills/frameworks/elysia/elysiajs/references/plugin.md +207 -0
  172. package/dist/skills/frameworks/elysia/elysiajs/references/route.md +331 -0
  173. package/dist/skills/frameworks/elysia/elysiajs/references/testing.md +385 -0
  174. package/dist/skills/frameworks/elysia/elysiajs/references/validation.md +491 -0
  175. package/dist/skills/frameworks/elysia/elysiajs/references/websocket.md +250 -0
  176. package/dist/skills/frameworks/nestjs/nestjs-best-practices/.github/workflows/branch-protection.yml +24 -0
  177. package/dist/skills/frameworks/nestjs/nestjs-best-practices/.github/workflows/deploy.yml +61 -0
  178. package/dist/skills/frameworks/nestjs/nestjs-best-practices/AGENTS.md +5958 -0
  179. package/dist/skills/frameworks/nestjs/nestjs-best-practices/SKILL.md +130 -0
  180. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/api-use-dto-serialization.md +182 -0
  181. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/api-use-interceptors.md +202 -0
  182. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/api-use-pipes.md +205 -0
  183. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/api-versioning.md +191 -0
  184. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/arch-avoid-circular-deps.md +80 -0
  185. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/arch-feature-modules.md +82 -0
  186. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/arch-module-sharing.md +141 -0
  187. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/arch-single-responsibility.md +106 -0
  188. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/arch-use-events.md +108 -0
  189. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/arch-use-repository-pattern.md +97 -0
  190. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/db-avoid-n-plus-one.md +139 -0
  191. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/db-use-migrations.md +129 -0
  192. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/db-use-transactions.md +140 -0
  193. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/devops-graceful-shutdown.md +222 -0
  194. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/devops-use-config-module.md +167 -0
  195. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/devops-use-logging.md +232 -0
  196. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/di-avoid-service-locator.md +104 -0
  197. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/di-interface-segregation.md +165 -0
  198. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/di-liskov-substitution.md +221 -0
  199. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/di-prefer-constructor-injection.md +86 -0
  200. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/di-scope-awareness.md +94 -0
  201. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/di-use-interfaces-tokens.md +101 -0
  202. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/error-handle-async-errors.md +125 -0
  203. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/error-throw-http-exceptions.md +114 -0
  204. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/error-use-exception-filters.md +140 -0
  205. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/micro-use-health-checks.md +226 -0
  206. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/micro-use-patterns.md +167 -0
  207. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/micro-use-queues.md +252 -0
  208. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/perf-async-hooks.md +109 -0
  209. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/perf-lazy-loading.md +121 -0
  210. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/perf-optimize-database.md +131 -0
  211. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/perf-use-caching.md +128 -0
  212. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/security-auth-jwt.md +146 -0
  213. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/security-rate-limiting.md +125 -0
  214. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/security-sanitize-output.md +139 -0
  215. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/security-use-guards.md +135 -0
  216. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/security-validate-all-input.md +150 -0
  217. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/test-e2e-supertest.md +178 -0
  218. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/test-mock-external-services.md +179 -0
  219. package/dist/skills/frameworks/nestjs/nestjs-best-practices/rules/test-use-testing-module.md +153 -0
  220. package/dist/skills/frameworks/nestjs/nestjs-best-practices/scripts/build-agents.ts +299 -0
  221. package/dist/skills/frameworks/nestjs/nestjs-best-practices/scripts/build.sh +16 -0
  222. package/dist/skills/frameworks/nestjs/nestjs-best-practices/scripts/package-lock.json +237 -0
  223. package/dist/skills/frameworks/nestjs/nestjs-best-practices/scripts/package.json +15 -0
  224. package/dist/skills/frameworks/nestjs/nestjs-expert/SKILL.md +208 -0
  225. package/dist/skills/frameworks/nestjs/nestjs-expert/references/authentication.md +166 -0
  226. package/dist/skills/frameworks/nestjs/nestjs-expert/references/controllers-routing.md +111 -0
  227. package/dist/skills/frameworks/nestjs/nestjs-expert/references/dtos-validation.md +153 -0
  228. package/dist/skills/frameworks/nestjs/nestjs-expert/references/migration-from-express.md +1237 -0
  229. package/dist/skills/frameworks/nestjs/nestjs-expert/references/services-di.md +140 -0
  230. package/dist/skills/frameworks/nestjs/nestjs-expert/references/testing-patterns.md +186 -0
  231. package/dist/skills/frameworks/nextjs/next-best-practices/SKILL.md +153 -0
  232. package/dist/skills/frameworks/nextjs/next-best-practices/async-patterns.md +87 -0
  233. package/dist/skills/frameworks/nextjs/next-best-practices/bundling.md +180 -0
  234. package/dist/skills/frameworks/nextjs/next-best-practices/data-patterns.md +297 -0
  235. package/dist/skills/frameworks/nextjs/next-best-practices/debug-tricks.md +105 -0
  236. package/dist/skills/frameworks/nextjs/next-best-practices/directives.md +73 -0
  237. package/dist/skills/frameworks/nextjs/next-best-practices/error-handling.md +227 -0
  238. package/dist/skills/frameworks/nextjs/next-best-practices/file-conventions.md +140 -0
  239. package/dist/skills/frameworks/nextjs/next-best-practices/font.md +245 -0
  240. package/dist/skills/frameworks/nextjs/next-best-practices/functions.md +108 -0
  241. package/dist/skills/frameworks/nextjs/next-best-practices/hydration-error.md +91 -0
  242. package/dist/skills/frameworks/nextjs/next-best-practices/image.md +173 -0
  243. package/dist/skills/frameworks/nextjs/next-best-practices/metadata.md +301 -0
  244. package/dist/skills/frameworks/nextjs/next-best-practices/parallel-routes.md +287 -0
  245. package/dist/skills/frameworks/nextjs/next-best-practices/route-handlers.md +146 -0
  246. package/dist/skills/frameworks/nextjs/next-best-practices/rsc-boundaries.md +159 -0
  247. package/dist/skills/frameworks/nextjs/next-best-practices/runtime-selection.md +39 -0
  248. package/dist/skills/frameworks/nextjs/next-best-practices/scripts.md +141 -0
  249. package/dist/skills/frameworks/nextjs/next-best-practices/self-hosting.md +371 -0
  250. package/dist/skills/frameworks/nextjs/next-best-practices/suspense-boundaries.md +67 -0
  251. package/dist/skills/frameworks/nextjs/next-cache-components/SKILL.md +360 -0
  252. package/dist/skills/frameworks/react/async-react-patterns/SKILL.md +78 -0
  253. package/dist/skills/frameworks/react/vercel-composition-patterns/AGENTS.md +946 -0
  254. package/dist/skills/frameworks/react/vercel-composition-patterns/SKILL.md +89 -0
  255. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  256. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  257. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  258. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  259. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  260. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  261. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  262. package/dist/skills/frameworks/react/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  263. package/dist/skills/frameworks/react/vercel-react-best-practices/AGENTS.md +3750 -0
  264. package/dist/skills/frameworks/react/vercel-react-best-practices/SKILL.md +148 -0
  265. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  266. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  267. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  268. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  269. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  270. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  271. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/async-defer-await.md +82 -0
  272. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  273. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/async-parallel.md +28 -0
  274. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  275. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
  276. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  277. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  278. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  279. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  280. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  281. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  282. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  283. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  284. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  285. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  286. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  287. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  288. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  289. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  290. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  291. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  292. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  293. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  294. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  295. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
  296. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  297. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  298. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  299. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  300. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  301. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  302. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  303. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  304. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  305. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  306. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  307. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  308. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  309. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  310. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  311. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  312. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  313. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  314. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  315. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  316. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  317. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  318. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  319. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  320. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  321. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  322. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  323. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  324. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  325. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  326. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  327. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  328. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  329. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
  330. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
  331. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  332. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  333. package/dist/skills/frameworks/react/vercel-react-best-practices/rules/server-serialization.md +38 -0
  334. package/dist/skills/frameworks/tanstack-query/tanstack-query/.claude-plugin/plugin.json +12 -0
  335. package/dist/skills/frameworks/tanstack-query/tanstack-query/SKILL.md +1058 -0
  336. package/dist/skills/frameworks/tanstack-query/tanstack-query/assets/example-template.txt +14 -0
  337. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/best-practices.md +304 -0
  338. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/common-patterns.md +271 -0
  339. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/example-reference.md +26 -0
  340. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/testing.md +282 -0
  341. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/top-errors.md +332 -0
  342. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/typescript-patterns.md +291 -0
  343. package/dist/skills/frameworks/tanstack-query/tanstack-query/references/v4-to-v5-migration.md +231 -0
  344. package/dist/skills/frameworks/tanstack-query/tanstack-query/rules/tanstack-query.md +126 -0
  345. package/dist/skills/frameworks/tanstack-query/tanstack-query/scripts/example-script.sh +15 -0
  346. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/custom-hooks-pattern.tsx +281 -0
  347. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/devtools-setup.tsx +248 -0
  348. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/error-boundary.tsx +243 -0
  349. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/package.json +31 -0
  350. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/provider-setup.tsx +50 -0
  351. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/query-client-config.ts +72 -0
  352. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/use-infinite-query.tsx +214 -0
  353. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/use-mutation-basic.tsx +201 -0
  354. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/use-mutation-optimistic.tsx +234 -0
  355. package/dist/skills/frameworks/tanstack-query/tanstack-query/templates/use-query-basic.tsx +119 -0
  356. package/dist/skills/frameworks/trpc/tanstack-query/.claude-plugin/plugin.json +12 -0
  357. package/dist/skills/frameworks/trpc/tanstack-query/SKILL.md +1058 -0
  358. package/dist/skills/frameworks/trpc/tanstack-query/assets/example-template.txt +14 -0
  359. package/dist/skills/frameworks/trpc/tanstack-query/references/best-practices.md +304 -0
  360. package/dist/skills/frameworks/trpc/tanstack-query/references/common-patterns.md +271 -0
  361. package/dist/skills/frameworks/trpc/tanstack-query/references/example-reference.md +26 -0
  362. package/dist/skills/frameworks/trpc/tanstack-query/references/testing.md +282 -0
  363. package/dist/skills/frameworks/trpc/tanstack-query/references/top-errors.md +332 -0
  364. package/dist/skills/frameworks/trpc/tanstack-query/references/typescript-patterns.md +291 -0
  365. package/dist/skills/frameworks/trpc/tanstack-query/references/v4-to-v5-migration.md +231 -0
  366. package/dist/skills/frameworks/trpc/tanstack-query/rules/tanstack-query.md +126 -0
  367. package/dist/skills/frameworks/trpc/tanstack-query/scripts/example-script.sh +15 -0
  368. package/dist/skills/frameworks/trpc/tanstack-query/templates/custom-hooks-pattern.tsx +281 -0
  369. package/dist/skills/frameworks/trpc/tanstack-query/templates/devtools-setup.tsx +248 -0
  370. package/dist/skills/frameworks/trpc/tanstack-query/templates/error-boundary.tsx +243 -0
  371. package/dist/skills/frameworks/trpc/tanstack-query/templates/package.json +31 -0
  372. package/dist/skills/frameworks/trpc/tanstack-query/templates/provider-setup.tsx +50 -0
  373. package/dist/skills/frameworks/trpc/tanstack-query/templates/query-client-config.ts +72 -0
  374. package/dist/skills/frameworks/trpc/tanstack-query/templates/use-infinite-query.tsx +214 -0
  375. package/dist/skills/frameworks/trpc/tanstack-query/templates/use-mutation-basic.tsx +201 -0
  376. package/dist/skills/frameworks/trpc/tanstack-query/templates/use-mutation-optimistic.tsx +234 -0
  377. package/dist/skills/frameworks/trpc/tanstack-query/templates/use-query-basic.tsx +119 -0
  378. package/dist/skills/frameworks/turborepo/turborepo/SKILL.md +914 -0
  379. package/dist/skills/frameworks/turborepo/turborepo/command/turborepo.md +70 -0
  380. package/dist/skills/frameworks/turborepo/turborepo/references/best-practices/RULE.md +241 -0
  381. package/dist/skills/frameworks/turborepo/turborepo/references/best-practices/dependencies.md +246 -0
  382. package/dist/skills/frameworks/turborepo/turborepo/references/best-practices/packages.md +335 -0
  383. package/dist/skills/frameworks/turborepo/turborepo/references/best-practices/structure.md +270 -0
  384. package/dist/skills/frameworks/turborepo/turborepo/references/boundaries/RULE.md +126 -0
  385. package/dist/skills/frameworks/turborepo/turborepo/references/caching/RULE.md +107 -0
  386. package/dist/skills/frameworks/turborepo/turborepo/references/caching/gotchas.md +169 -0
  387. package/dist/skills/frameworks/turborepo/turborepo/references/caching/remote-cache.md +127 -0
  388. package/dist/skills/frameworks/turborepo/turborepo/references/ci/RULE.md +79 -0
  389. package/dist/skills/frameworks/turborepo/turborepo/references/ci/github-actions.md +162 -0
  390. package/dist/skills/frameworks/turborepo/turborepo/references/ci/patterns.md +145 -0
  391. package/dist/skills/frameworks/turborepo/turborepo/references/ci/vercel.md +103 -0
  392. package/dist/skills/frameworks/turborepo/turborepo/references/cli/RULE.md +100 -0
  393. package/dist/skills/frameworks/turborepo/turborepo/references/cli/commands.md +297 -0
  394. package/dist/skills/frameworks/turborepo/turborepo/references/configuration/RULE.md +211 -0
  395. package/dist/skills/frameworks/turborepo/turborepo/references/configuration/global-options.md +187 -0
  396. package/dist/skills/frameworks/turborepo/turborepo/references/configuration/gotchas.md +348 -0
  397. package/dist/skills/frameworks/turborepo/turborepo/references/configuration/tasks.md +285 -0
  398. package/dist/skills/frameworks/turborepo/turborepo/references/environment/RULE.md +96 -0
  399. package/dist/skills/frameworks/turborepo/turborepo/references/environment/gotchas.md +141 -0
  400. package/dist/skills/frameworks/turborepo/turborepo/references/environment/modes.md +101 -0
  401. package/dist/skills/frameworks/turborepo/turborepo/references/filtering/RULE.md +148 -0
  402. package/dist/skills/frameworks/turborepo/turborepo/references/filtering/patterns.md +152 -0
  403. package/dist/skills/frameworks/turborepo/turborepo/references/watch/RULE.md +99 -0
  404. package/dist/tsconfig.tsbuildinfo +1 -0
  405. package/docs/README.md +20 -0
  406. package/docs/reference/dp-requirements.md +210 -0
  407. package/docs/runbooks/dp-cli-scaffolding.md +187 -0
  408. package/package.json +24 -50
  409. package/.eslintignore +0 -4
  410. package/.eslintrc +0 -127
  411. package/.prettierignore +0 -4
  412. package/.prettierrc +0 -7
  413. package/bin/abstractions/builder.d.ts +0 -4
  414. package/bin/abstractions/builder.js +0 -7
  415. package/bin/builders/dotnet/base.d.ts +0 -18
  416. package/bin/builders/dotnet/base.js +0 -47
  417. package/bin/builders/dotnet/entity-configuration/index.d.ts +0 -8
  418. package/bin/builders/dotnet/entity-configuration/index.js +0 -29
  419. package/bin/builders/dotnet/entity-converter/index.d.ts +0 -8
  420. package/bin/builders/dotnet/entity-converter/index.js +0 -29
  421. package/bin/builders/dotnet/entity-model-create/index.d.ts +0 -8
  422. package/bin/builders/dotnet/entity-model-create/index.js +0 -29
  423. package/bin/builders/dotnet/entity-model-dto/index.d.ts +0 -8
  424. package/bin/builders/dotnet/entity-model-dto/index.js +0 -29
  425. package/bin/builders/dotnet/entity-model-list-item-dto/index.d.ts +0 -8
  426. package/bin/builders/dotnet/entity-model-list-item-dto/index.js +0 -29
  427. package/bin/builders/dotnet/entity-model-update/index.d.ts +0 -8
  428. package/bin/builders/dotnet/entity-model-update/index.js +0 -29
  429. package/bin/builders/dotnet/entity-search-parameters/index.d.ts +0 -8
  430. package/bin/builders/dotnet/entity-search-parameters/index.js +0 -29
  431. package/bin/builders/dotnet/entity-search-query-builder/index.d.ts +0 -8
  432. package/bin/builders/dotnet/entity-search-query-builder/index.js +0 -29
  433. package/bin/builders/dotnet/firestore-connector/index.d.ts +0 -8
  434. package/bin/builders/dotnet/firestore-connector/index.js +0 -29
  435. package/bin/builders/dotnet/firestore-mapper/index.d.ts +0 -8
  436. package/bin/builders/dotnet/firestore-mapper/index.js +0 -29
  437. package/bin/builders/dotnet/types.d.ts +0 -10
  438. package/bin/builders/dotnet/types.js +0 -3
  439. package/bin/commands/entity-add/__test__/dotnet/common.d.ts +0 -2
  440. package/bin/commands/entity-add/__test__/dotnet/common.js +0 -11
  441. package/bin/commands/entity-add/__test__/dotnet/render.configuration.spec.d.ts +0 -1
  442. package/bin/commands/entity-add/__test__/dotnet/render.configuration.spec.js +0 -22
  443. package/bin/commands/entity-add/__test__/dotnet/render.converter.spec.d.ts +0 -1
  444. package/bin/commands/entity-add/__test__/dotnet/render.converter.spec.js +0 -22
  445. package/bin/commands/entity-add/__test__/dotnet/render.firestore-connector.spec.d.ts +0 -1
  446. package/bin/commands/entity-add/__test__/dotnet/render.firestore-connector.spec.js +0 -22
  447. package/bin/commands/entity-add/__test__/dotnet/render.firestore-mapper.spec.d.ts +0 -1
  448. package/bin/commands/entity-add/__test__/dotnet/render.firestore-mapper.spec.js +0 -22
  449. package/bin/commands/entity-add/__test__/dotnet/render.model-create.spec.d.ts +0 -1
  450. package/bin/commands/entity-add/__test__/dotnet/render.model-create.spec.js +0 -22
  451. package/bin/commands/entity-add/__test__/dotnet/render.model-dto.spec.d.ts +0 -1
  452. package/bin/commands/entity-add/__test__/dotnet/render.model-dto.spec.js +0 -22
  453. package/bin/commands/entity-add/__test__/dotnet/render.model-list-item-dto.spec.d.ts +0 -1
  454. package/bin/commands/entity-add/__test__/dotnet/render.model-list-item-dto.spec.js +0 -22
  455. package/bin/commands/entity-add/__test__/dotnet/render.model-update.spec.d.ts +0 -1
  456. package/bin/commands/entity-add/__test__/dotnet/render.model-update.spec.js +0 -22
  457. package/bin/commands/entity-add/__test__/dotnet/render.search-parameters.spec.d.ts +0 -1
  458. package/bin/commands/entity-add/__test__/dotnet/render.search-parameters.spec.js +0 -22
  459. package/bin/commands/entity-add/__test__/dotnet/render.search-query.spec.d.ts +0 -1
  460. package/bin/commands/entity-add/__test__/dotnet/render.search-query.spec.js +0 -22
  461. package/bin/commands/entity-add/index.d.ts +0 -26
  462. package/bin/commands/entity-add/index.js +0 -44
  463. package/bin/logging/index.d.ts +0 -8
  464. package/bin/logging/index.js +0 -28
  465. package/bin/providers/rendering/base.d.ts +0 -3
  466. package/bin/providers/rendering/base.js +0 -7
  467. package/bin/providers/rendering/factory.d.ts +0 -5
  468. package/bin/providers/rendering/factory.js +0 -16
  469. package/bin/providers/rendering/handlebars.d.ts +0 -4
  470. package/bin/providers/rendering/handlebars.js +0 -16
  471. package/bin/renderer/index.d.ts +0 -6
  472. package/bin/renderer/index.js +0 -27
  473. package/bin/run.d.ts +0 -2
  474. package/bin/run.js +0 -70
  475. package/bin/services/folders.d.ts +0 -1
  476. package/bin/services/folders.js +0 -31
  477. package/bin/types/commands.d.ts +0 -5
  478. package/bin/types/commands.js +0 -3
  479. package/bin/utils/collections.d.ts +0 -1
  480. package/bin/utils/collections.js +0 -6
  481. package/bin/utils/files.d.ts +0 -3
  482. package/bin/utils/files.js +0 -19
  483. package/bin/utils/strings.d.ts +0 -4
  484. package/bin/utils/strings.js +0 -22
  485. package/bin/utils/text.d.ts +0 -1
  486. package/bin/utils/text.js +0 -8
  487. package/em-cli +0 -0
  488. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.configuration.spec.ts.snap +0 -49
  489. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.converter.spec.ts.snap +0 -53
  490. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.firestore-connector.spec.ts.snap +0 -20
  491. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.firestore-mapper.spec.ts.snap +0 -29
  492. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.model-create.spec.ts.snap +0 -10
  493. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.model-dto.spec.ts.snap +0 -9
  494. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.model-list-item-dto.spec.ts.snap +0 -11
  495. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.model-update.spec.ts.snap +0 -11
  496. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.search-parameters.spec.ts.snap +0 -29
  497. package/src/commands/entity-add/__test__/dotnet/__snapshots__/render.search-query.spec.ts.snap +0 -42
  498. package/templates/dotnet/NewEntity/Configuration/<PluralizedEntity>Configuration.cs.template +0 -48
  499. package/templates/dotnet/NewEntity/Connectors/<PluralizedEntity>FirestoreConnector.cs.template +0 -15
  500. package/templates/dotnet/NewEntity/Converters/<PluralizedEntity>Converter.cs.template +0 -48
  501. package/templates/dotnet/NewEntity/Mappers/<PluralizedEntity>FirestoreMapper.cs.template +0 -25
  502. package/templates/dotnet/NewEntity/Models/<Entity>CreateInput.cs.template +0 -6
  503. package/templates/dotnet/NewEntity/Models/<Entity>Dto.cs.template +0 -5
  504. package/templates/dotnet/NewEntity/Models/<Entity>ListItemDto.cs.template +0 -6
  505. package/templates/dotnet/NewEntity/Models/<Entity>UpdateInput.cs.template +0 -6
  506. package/templates/dotnet/NewEntity/Search/<PluralizedEntity>QueryBuilder.cs.template +0 -38
  507. package/templates/dotnet/NewEntity/Search/<PluralizedEntity>SearchParameters.cs.template +0 -24
  508. package/tsconfig.json +0 -25
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: backend-domain-structure
3
+ description: |
4
+ Organize backend code into domain-first layers with thin transport entrypoints,
5
+ platform composition, external integrations, and feature-owned business behavior.
6
+ Use when creating or refactoring backend services, API routes, repositories,
7
+ providers, test layout, or import boundaries across backend frameworks.
8
+ ---
9
+
10
+ # Backend Domain Structure
11
+
12
+ Use this skill to keep backend code domain-based instead of transport- or utility-bucket-based.
13
+
14
+ Read `references/layout.md` before structure decisions or large refactors.
15
+
16
+ ## Quick Classifier
17
+
18
+ Place code by responsibility first.
19
+
20
+ - Put root runtime composition, request context, transport runners, and router assembly in `platform/`.
21
+ - Put external system adapters and provider mechanics in `integrations/`.
22
+ - Put business use cases, policies, repositories, models, and transport endpoints in `features/<domain>/`.
23
+ - Put code reused across backend package boundaries in shared libraries or packages.
24
+
25
+ ## Boundary Rules
26
+
27
+ - Keep transport thin. Parse input, call feature behavior, map errors at the boundary.
28
+ - Keep product policy out of `platform/` and `integrations/`.
29
+ - Let features depend on integrations and shared libraries.
30
+ - Do not let integrations import features.
31
+ - Do not move app-specific business logic into shared libraries.
32
+ - Avoid root-level generic buckets like `services`, `utils`, `helpers`, or `lib` when code can belong to a domain.
33
+
34
+ ## Actions, Services, Repositories
35
+
36
+ Default to explicit use-case actions.
37
+
38
+ - Use `actions/` for orchestration, authorization checks, policy, state transitions, and business flows.
39
+ - Use `repositories/` for persistence reads and writes.
40
+ - Use `services/` only for reusable mechanics or capability abstractions consumed by multiple actions.
41
+ - Use `models/` for domain data shapes, schemas, and branded identifiers when the stack supports them.
42
+
43
+ ## Use This Skill
44
+
45
+ - Read `references/layout.md`.
46
+ - Identify the backend root from the current repo instead of assuming a package path.
47
+ - Classify each file by responsibility first.
48
+ - Group business behavior under feature domains.
49
+ - Keep dependencies flowing: `platform -> features -> integrations -> external systems`.
50
+ - Keep tests near the feature or module that owns the behavior.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Backend Domain Structure"
3
+ short_description: "Domain-first backend structure"
4
+ default_prompt: "Use $backend-domain-structure to place backend code in the correct platform, integrations, features, or shared-library layer; pair it with framework-specific backend structure skills when present."
@@ -0,0 +1,167 @@
1
+ # Backend Domain Structure Reference
2
+
3
+ ## Goal
4
+
5
+ Organize backend code by responsibility and domain instead of by file type.
6
+
7
+ Prefer this shape inside the backend root:
8
+
9
+ ```text
10
+ <backend-root>/src/
11
+ platform/
12
+ integrations/
13
+ features/
14
+ ```
15
+
16
+ The backend root may be an app folder, package folder, service folder, or workspace package. Derive it from the current repo.
17
+
18
+ ## Layer Meanings
19
+
20
+ ### `platform/`
21
+
22
+ Use `platform/` for cross-domain execution wiring.
23
+
24
+ Good fits:
25
+
26
+ - root app composition
27
+ - request-scoped context construction
28
+ - transport runners
29
+ - router assembly
30
+ - dependency graph assembly
31
+ - process/runtime adapters
32
+
33
+ Bad fits:
34
+
35
+ - business policy
36
+ - feature orchestration
37
+ - direct provider details that belong to an integration
38
+ - persistence queries that belong to repositories
39
+
40
+ ### `integrations/`
41
+
42
+ Use `integrations/` for external systems and shared provider mechanics.
43
+
44
+ Good fits:
45
+
46
+ - auth provider client
47
+ - database adapter helpers
48
+ - email, queues, storage, billing, search, analytics, or third-party APIs
49
+ - SDK wrappers
50
+ - provider-specific error mapping
51
+
52
+ Do not put product policy in `integrations/`. An integration says how to talk to a system; a feature decides why and when.
53
+
54
+ ### `features/<domain>/`
55
+
56
+ Use features for business behavior.
57
+
58
+ Common local folders:
59
+
60
+ - `actions/`
61
+ - `models/`
62
+ - `repositories/`
63
+ - `services/`
64
+ - `tests/`
65
+ - `errors.ts`
66
+ - `layer.ts`, `container.ts`, `module.ts`, or equivalent composition file
67
+ - `router.ts`, `controller.ts`, or equivalent transport adapter when the feature exposes endpoints
68
+
69
+ Feature domains own use cases, policy, persistence contracts, and public behavior.
70
+
71
+ ## Actions vs Services
72
+
73
+ Default to actions.
74
+
75
+ Use `actions/` for:
76
+
77
+ - orchestration
78
+ - auth checks
79
+ - policy
80
+ - state transitions
81
+ - use cases
82
+ - multi-step workflows
83
+
84
+ Use `services/` only for reusable mechanics consumed by multiple actions, such as:
85
+
86
+ - provider wrappers already scoped to the feature
87
+ - shared low-level operations
88
+ - capability-style abstractions with stable reuse
89
+
90
+ Use `repositories/` for:
91
+
92
+ - persistence reads
93
+ - persistence writes
94
+ - query composition
95
+ - persistence model mapping
96
+
97
+ Quick rule:
98
+
99
+ - "what this flow means" -> `actions/`
100
+ - "how this reusable mechanic works" -> `services/`
101
+ - "how data is persisted/read" -> `repositories/`
102
+
103
+ Avoid broad god-services that collect unrelated use cases.
104
+
105
+ ## Transport Boundary
106
+
107
+ Keep transport thin.
108
+
109
+ - parse and validate input
110
+ - resolve request context
111
+ - call feature actions or query entrypoints
112
+ - map domain failures to transport errors
113
+ - return transport-shaped output
114
+
115
+ Business logic, external side effects, and DB queries should not live directly in routers, controllers, or handlers.
116
+
117
+ ## Dependency Direction
118
+
119
+ Prefer this direction:
120
+
121
+ - `platform -> features -> integrations -> external systems`
122
+ - `features -> shared libraries`
123
+ - `integrations -> shared libraries`
124
+
125
+ Avoid:
126
+
127
+ - `integrations -> features`
128
+ - shared libraries importing app-local code
129
+ - transport files importing many low-level helpers instead of one feature entrypoint
130
+ - feature domains reaching into another feature's internals
131
+
132
+ Features may depend on other features only when the domain relationship is explicit, stable, and exposed through a public feature entrypoint.
133
+
134
+ ## Testing Layout
135
+
136
+ Keep tests near the owning feature or module.
137
+
138
+ Prefer:
139
+
140
+ ```text
141
+ <backend-root>/src/features/<domain>/
142
+ tests/
143
+ support/
144
+ unit/
145
+ integration/
146
+ ```
147
+
148
+ Testing split:
149
+
150
+ - `tests/support`
151
+ fakes, builders, fixtures, and test-specific dependency wiring
152
+ - `tests/unit`
153
+ action, guard, policy, and repository behavior with controlled dependencies
154
+ - `tests/integration`
155
+ public behavior through live infrastructure or the transport/action boundary
156
+
157
+ Avoid a distant package-root `tests/` folder unless the project already has a strong convention for it.
158
+
159
+ ## Review Checklist
160
+
161
+ - Is transport thin?
162
+ - Did business policy land in a feature?
163
+ - Did external provider code stay in an integration?
164
+ - Are repositories the only persistence owners?
165
+ - Are services reusable mechanics rather than use-case buckets?
166
+ - Are tests colocated with the owning domain?
167
+ - Are imports flowing one way without layer inversions?
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: backend-recoverable-actions
3
+ description: |
4
+ Design recoverable backend action flows for multi-step mutations with explicit
5
+ transaction, retry, rollback, compensation, and failure-path testing strategy.
6
+ Use when backend work chains dependent writes, DB changes plus external side
7
+ effects, durable repair flows, or review of partial-failure risk.
8
+ ---
9
+
10
+ # Backend Recoverable Actions
11
+
12
+ Use this skill for chained multi-step backend mutations. Every mutating flow must be atomic or intentionally repairable.
13
+
14
+ Do not use this for simple single-step reads or writes.
15
+
16
+ Read `references/strategy-matrix.md` and `references/test-matrix.md` before implementation.
17
+
18
+ ## Workflow
19
+
20
+ 1. Enumerate the action steps in order.
21
+ 2. Classify each step:
22
+ - `preflight`
23
+ - `transactional-local`
24
+ - `retryable transient integration`
25
+ - `compensation-required external`
26
+ - `post-commit follow-up`
27
+ 3. Choose the failure strategy before writing code.
28
+ 4. Keep commit-path orchestration sequential unless concurrency semantics are explicit.
29
+ 5. Add failure-path tests before considering the action complete.
30
+
31
+ ## Hard Rules
32
+
33
+ - Local multi-write groups need one explicit transaction boundary when the storage layer supports transactions.
34
+ - Cross-system flows cannot pretend local rollback will undo auth providers, email, queues, billing, or other external writes.
35
+ - Retries must be explicit and step-local.
36
+ - Never retry an entire non-idempotent mutation pipeline by default.
37
+ - External writes need compensation, durable repair state, or a documented best-effort policy.
38
+ - Cleanup/finalization is not the same as business rollback.
39
+ - Parallel validation is allowed before commit; parallel mutation needs explicit failure semantics.
40
+
41
+ ## Output Checklist
42
+
43
+ - each step boundary has an explicit strategy
44
+ - local multi-write groups have one transaction boundary
45
+ - cross-system steps have a compensation or durable repair story
46
+ - retries are narrow, explicit, and only for transient idempotent steps
47
+ - expected recoverable failures stay typed or structured
48
+ - failure-path tests cover the chosen recovery model
49
+ - no silent partial-write risk remains undocumented
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Backend Recoverable Actions"
3
+ short_description: "Recoverable backend mutation flows"
4
+ default_prompt: "Use $backend-recoverable-actions for backend action flows that chain multiple dependent operations and need explicit transaction, retry, rollback, compensation, or failure-path testing strategy; pair it with framework-specific recoverability skills when present."
@@ -0,0 +1,34 @@
1
+ # Strategy Matrix
2
+
3
+ Use this table to choose the recovery model before writing code.
4
+
5
+ | Flow shape | Default strategy | Notes |
6
+ | --- | --- | --- |
7
+ | Local read + local write + local write | One transaction around the local mutation group | Keep commit-path sequencing explicit. |
8
+ | Local write + local write inside nested helpers | One outer transaction boundary | Helper internals should participate in the outer transaction when the stack supports it. |
9
+ | Local write + auth provider mutation | Compensation or durable repair path | Local rollback does not undo external auth state. |
10
+ | Local write + auth provider + email | Transaction only for local writes, explicit compensation or repair for auth, explicit delivery policy for email | Do not imply a single rollback boundary across systems. |
11
+ | Local write + email / queue / third-party side effect | Explicit commit boundary plus post-commit recovery story | Decide whether the side effect is best-effort, compensatable, or repairable. |
12
+ | Preflight validation over many items | Accumulate validation failures before mutation | Use before the commit path, not during it. |
13
+ | Parallel validation or read-only fan-out | Explicit concurrency plus explicit error aggregation semantics | Be clear about fail-fast vs collect-all behavior. |
14
+ | Commit path orchestration | Sequential by default | Introduce concurrency only when failure semantics stay safe and obvious. |
15
+
16
+ ## Classification Guide
17
+
18
+ - `preflight`
19
+ Validation, lookups, and checks that can fail before any durable mutation starts.
20
+ - `transactional-local`
21
+ Local writes that must commit or roll back together.
22
+ - `retryable transient integration`
23
+ External call with explicit transient failure handling and safe retry semantics.
24
+ - `compensation-required external`
25
+ External write that cannot be covered by local rollback.
26
+ - `post-commit follow-up`
27
+ Side effect that happens after the main durable state transition and therefore needs an explicit repair story if it fails.
28
+
29
+ ## Approval Heuristics
30
+
31
+ - If all durable mutations are in the same transaction-capable store, use one transaction.
32
+ - If any step mutates external state, write down the compensation or repair story before implementation.
33
+ - If a retry changes business semantics or risks duplicates, do not retry the whole pipeline.
34
+ - If a collection helper hides which steps are concurrent or fail-fast, prefer explicit sequential composition in the commit path.
@@ -0,0 +1,34 @@
1
+ # Test Matrix
2
+
3
+ Every multi-step mutating action needs failure-path coverage, not only happy-path coverage.
4
+
5
+ ## Required Scenarios
6
+
7
+ - later local write fails and earlier local writes are rolled back
8
+ - nested helper usage still preserves the outer transaction boundary
9
+ - external step succeeds and a later local step fails, triggering compensation or leaving a deliberate repairable state
10
+ - transient retryable integration step retries only that step
11
+ - non-retryable integration failure surfaces once as a typed or structured error
12
+ - preflight accumulation returns the intended set of validation failures
13
+ - intentionally parallel validation or read fan-out uses the expected error semantics
14
+ - simple one-step actions are not over-engineered with unnecessary orchestration machinery
15
+
16
+ ## Unit-Level Expectations
17
+
18
+ - fake leaf services and repositories should make each failure point injectable
19
+ - tests should assert which step ran and which step did not
20
+ - tests should prove the chosen retry, compensation, or transaction story, not just the final error message
21
+
22
+ ## Integration-Level Expectations
23
+
24
+ - verify rollback behavior with live infrastructure when the flow relies on transactions
25
+ - verify public action or transport behavior exposes expected failures correctly
26
+ - verify recoverable degraded states are observable when compensation is impossible
27
+
28
+ ## Review Checklist
29
+
30
+ - where is the transaction boundary
31
+ - what external writes escape the local transaction boundary
32
+ - what is the retry scope
33
+ - what is the compensation or repair path
34
+ - which tests prove the story
@@ -0,0 +1,193 @@
1
+ ---
2
+ name: docs-maintenance
3
+ description: Ingest a spec folder into the wiki domain layer by extracting and writing flow pages first, then concept pages, then syncing ingest metadata. Secondary: update docs/ when code changes alter architecture, setup, contracts, or operator workflow. Use when a spec is ready to be captured as domain knowledge after review or implementation, or when a code task changes non-obvious behavior that docs/ should reflect.
4
+ ---
5
+
6
+ # Docs Maintenance
7
+
8
+ ## Contract
9
+
10
+ - **Role:** higher-order ingest and repo-docs orchestrator
11
+ - **Entrypoint type:** public entrypoint
12
+ - **Upstream:** reviewed or implemented spec folder, or code changes that may require `docs/` updates
13
+ - **Delegates to:** internal flow-writing phase, then internal concept-writing phase
14
+ - **Downstream:** synced wiki indexes, ingest metadata, wiki log, and any required `docs/` updates
15
+ - **Entry conditions:** resolved spec folder for ingest work, or a concrete docs-affecting code change
16
+ - **Stop conditions:** ingest bookkeeping complete, required docs updates complete, failures reported honestly
17
+
18
+ ## Overview
19
+
20
+ **Primary purpose:** synthesize `<wiki-root>/specs/<domain>/<spec>/SPEC.md` (and optionally `IMPLEMENTATION-NOTES.md`) into the wiki domain knowledge layer. Write flow pages first, then concept pages, then sync ingest bookkeeping.
21
+
22
+ **Secondary purpose:** keep `docs/` accurate when code changes alter architecture, setup, contracts, decisions, or operator-facing behavior.
23
+
24
+ Read `<wiki-root>/AGENTS.md` before touching any wiki content.
25
+
26
+ `<wiki-root>` is repo-shape dependent:
27
+ - monorepo: `apps/wiki`
28
+ - single-repo: `wiki`
29
+
30
+ ---
31
+
32
+ ## Primary: Wiki Ingest Orchestration
33
+
34
+ ### Pipeline
35
+
36
+ ```
37
+ docs-maintenance (orchestrator)
38
+ └─ 1. flow-writing phase — writes flows/, updates domain index
39
+ └─ 2. concept-writing phase — reads flows/ for cross-linking, writes concepts/, updates domain index
40
+ ```
41
+
42
+ **Why this order is required:** concept writing reads existing flow pages to cross-link concepts. Flow pages must exist before concept pages are written.
43
+
44
+ ### Inputs
45
+
46
+ Accept any of:
47
+ - A spec folder path: `<wiki-root>/specs/<domain>/<spec>/`
48
+ - A domain name + spec name
49
+ - An explicit `SPEC.md` path
50
+
51
+ Resolve all inputs to a full spec folder path before continuing. If the target is still ambiguous, ask only for the missing folder.
52
+
53
+ ### Step 1: Guard
54
+
55
+ Check `SPEC.md` frontmatter for `ingested: true`. If set, exit with a clear no-op message.
56
+
57
+ Verify the spec has `domain:` in frontmatter. Error if absent.
58
+
59
+ ### Step 2: Read the source
60
+
61
+ Read in order:
62
+ 1. `SPEC.md` — mandatory. If missing, stop and report.
63
+ 2. `IMPLEMENTATION-NOTES.md` — optional. If present, flows and concepts become `status: implemented`. If absent, status is `proposed`.
64
+ - Check its frontmatter. If it lacks frontmatter (no YAML block), add it now before continuing:
65
+ ```yaml
66
+ ---
67
+ domain: <domain from SPEC.md>
68
+ type: implementation-notes
69
+ spec: <spec id from SPEC.md>
70
+ links:
71
+ - "[[specs/<domain>/<spec>/SPEC]]"
72
+ ingested: false
73
+ last_ingested: null
74
+ created: <today>
75
+ updated: <today>
76
+ ---
77
+ ```
78
+
79
+ Verify `<wiki-root>/domains/<domain>/` exists with a `<domain>.md` index file. If the domain is missing, stop and scaffold the wiki/domain structure first.
80
+
81
+ ### Step 3: Extract flows
82
+
83
+ A flow exists when the spec describes a **sequence of user or system actions with a defined start, steps, and end outcome**.
84
+
85
+ Look for flows in:
86
+ - Multi-step acceptance criteria (e.g. "On save, the system runs duplicate detection → blocks if exact match → redirects operator on success")
87
+ - Explicit user journeys or process descriptions in the Context section
88
+ - "When X, then Y" conditional chains across multiple acceptance criteria
89
+ - Any section titled Flow, Process, Journey, or similar
90
+
91
+ For each flow found:
92
+ - Assign a descriptive `flow_name` (e.g., "Create Patient", "Document Upload", "Duplicate Check")
93
+ - Extract `flow_content`: triggering event, actors involved, ordered steps with decision points, terminal outcome
94
+ - When `IMPLEMENTATION-NOTES.md` is present: note deviations, surprises, or blocked steps inline
95
+
96
+ If no multi-step sequence is discernible (e.g., a purely data-model spec), record the absence and skip flow delegation.
97
+
98
+ ### Step 4: Write flow pages
99
+
100
+ Read [references/flow-pages.md](references/flow-pages.md) and apply that contract to every extracted flow.
101
+
102
+ Wait for all flow pages to complete before proceeding.
103
+
104
+ If any flow write fails, stop immediately. Do not proceed to concept writing. Report the failure so the run can be resumed cleanly.
105
+
106
+ ### Step 5: Extract concepts
107
+
108
+ A concept exists when the spec **names a domain entity or term with defined attributes, invariants, or bounded scope**.
109
+
110
+ Look for concepts in:
111
+ - Fields listed in acceptance criteria (e.g., `first_name`, `email`, `acquisition_channel`, `nin`)
112
+ - Explicit data model or entity sections
113
+ - Nouns that recur across multiple acceptance criteria with their own distinct attributes or rules
114
+ - Enum sets representing a bounded domain state (e.g., `acquisition_channel` values)
115
+ - Entities referenced via `[[wikilinks]]` to other specs or domain pages
116
+
117
+ **Grouping rule:** collect related fields under one owning entity rather than creating a concept per field. All patient registry fields → one "Patient" concept. All acquisition channel variants → one "Acquisition Channel" concept.
118
+
119
+ If no distinct domain entity is identifiable, record the absence and skip concept delegation.
120
+
121
+ ### Step 6: Write concept pages
122
+
123
+ Read [references/concept-pages.md](references/concept-pages.md) and apply that contract to every extracted concept.
124
+
125
+ Wait for all concept pages to complete.
126
+
127
+ ### Step 7: Mark sources as ingested
128
+
129
+ Update `SPEC.md` frontmatter:
130
+ ```yaml
131
+ ingested: true
132
+ last_ingested: YYYY-MM-DD
133
+ ```
134
+
135
+ If `IMPLEMENTATION-NOTES.md` is present, update its frontmatter:
136
+ ```yaml
137
+ ingested: true
138
+ last_ingested: YYYY-MM-DD
139
+ ```
140
+
141
+ Also populate its `links` array with every flow and concept page written in Steps 4 and 6 (in addition to the SPEC link that was set in Step 2). This is the only moment where IMPLEMENTATION-NOTES links are updated — do not leave them pointing only at the SPEC.
142
+
143
+ ### Step 8: Log entry
144
+
145
+ Append to `<wiki-root>/log.md` (cap at 50 entries; drop oldest when over):
146
+ ```md
147
+ ## [YYYY-MM-DD] ingest | <spec title>
148
+ - Source: [[specs/<domain>/<spec>/SPEC]]
149
+ - Flows written: <count>
150
+ - Concepts written: <count>
151
+ ```
152
+
153
+ ### Step 9: Update wiki index
154
+
155
+ If new pages were created, update the Concepts and Flows counts in the relevant Domains table row in `<wiki-root>/index.md`.
156
+
157
+ ### Resumability
158
+
159
+ Output pages are the checkpoints. On re-invocation of the same source:
160
+
161
+ - Flow pages with `ingested: true` → skip Step 4 for those flows
162
+ - Any expected flow page missing → re-run Step 4 for it before Step 6
163
+ - Concept pages with `ingested: true` → skip Step 6 for those concepts
164
+
165
+ ---
166
+
167
+ ## Secondary: docs/ Maintenance
168
+
169
+ Update `docs/` when a code task changes **architecture, setup, contracts, decisions, or non-obvious operator-facing behavior**. Do not let docs/ work displace or delay wiki ingest.
170
+
171
+ 1. Read `docs/README.md` and the nearest affected section README before editing.
172
+ 2. Prefer editing an existing leaf doc over creating a new one.
173
+ 3. When a doc is added, removed, or renamed: update `docs/README.md` and the nearest section README in the same task.
174
+ 4. Record repo-wide behavior changes in `docs/architecture/decisions/`.
175
+
176
+ **Route by owned behavior:**
177
+ - Backend/runtime surface → `docs/reference/domains/backend-effect-sql.md` or `docs/runbooks/`
178
+ - Auth/user-management → `docs/reference/domains/user-management.md`
179
+ - Frontend/app structure → `docs/reference/domains/frontend-application-structure.md`
180
+ - AI workflow/agent infrastructure → `docs/runbooks/subagent-templates.md` or `docs/runbooks/claude-code-hooks.md`
181
+
182
+ ---
183
+
184
+ ## Never Do
185
+
186
+ - Ingest a spec with `ingested: true` — exit early instead
187
+ - Ingest an `IMPLEMENTATION-NOTES.md` with `ingested: true` — treat it as already reflected in domain pages
188
+ - Proceed to concept writing when a flow write has failed
189
+ - Create `docs/prd`, `docs/dev`, roadmap, sprint, or backlog-mirror folders
190
+ - Document speculative or future-state features as current truth
191
+ - Put agent task instructions inside human-facing docs pages
192
+ - Leave docs orphaned from `docs/README.md` after adding or renaming them
193
+ - Duplicate content between `<wiki-root>/domains/` (the "what") and `docs/reference/domains/` (the "how")
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Docs Maintenance"
3
+ short_description: "Wiki ingest plus repo docs maintenance"
4
+ default_prompt: "Use $docs-maintenance to own the wiki ingest pipeline, then keep docs/ human-facing and implementation-grounded when code changes affect durable knowledge."
@@ -0,0 +1,48 @@
1
+ # Concept Pages
2
+
3
+ Use this reference during Step 6 of `docs-maintenance`.
4
+
5
+ ## Input expansion
6
+
7
+ For each extracted concept:
8
+
9
+ 1. Read existing flow pages under `<wiki-root>/domains/<domain>/flows/` for cross-linking.
10
+ 2. Scan `<wiki-root>/raw/` recursively and collect files where frontmatter `ingested: false` or `ingested` is absent.
11
+ 3. Use relevant raw content only as supplementary material. Do not mark raw files as ingested here.
12
+
13
+ ## Output contract
14
+
15
+ 4. Synthesize concept content in this precedence order:
16
+ - `IMPLEMENTATION-NOTES.md` deviations, surprises, and judgment calls
17
+ - `SPEC.md` acceptance criteria, data model, and technical notes
18
+ - relevant sections from flow pages
19
+ - relevant raw file content
20
+ 5. Determine status:
21
+ - `proposed` when only `SPEC.md` is present
22
+ - `implemented` when `IMPLEMENTATION-NOTES.md` is present
23
+ 6. Derive the output path:
24
+ - slugify the concept name to kebab-case
25
+ - write to `<wiki-root>/domains/<domain>/concepts/<concept-name>.md`
26
+ 7. Write or merge the concept page:
27
+ - preserve established facts
28
+ - append new information under `## [Source: <origin>]`
29
+ - flag contradictions inline: `> [!warning] CONTRADICTS [[source]]`
30
+ 8. Every concept page must include:
31
+ - frontmatter:
32
+ ```yaml
33
+ ---
34
+ domain: <domain>
35
+ type: concept
36
+ status: proposed | implemented
37
+ ingested: true
38
+ last_ingested: YYYY-MM-DD
39
+ links: []
40
+ created: YYYY-MM-DD
41
+ updated: YYYY-MM-DD
42
+ ---
43
+ ```
44
+ - `Definition`
45
+ - `Attributes` table
46
+ - `Related flows`
47
+ - `## [Source: <origin>]`
48
+ 9. Update `<wiki-root>/domains/<domain>/<domain>.md` to link the concept page if not already present
@@ -0,0 +1,41 @@
1
+ # Flow Pages
2
+
3
+ Use this reference during Step 4 of `docs-maintenance`.
4
+
5
+ ## Output contract
6
+
7
+ For each extracted flow:
8
+
9
+ 1. Derive the output path:
10
+ - slugify `flow_name` to kebab-case
11
+ - write to `<wiki-root>/domains/<domain>/flows/<flow-name>.md`
12
+ 2. Determine status:
13
+ - `proposed` when only `SPEC.md` is present
14
+ - `implemented` when `IMPLEMENTATION-NOTES.md` is present
15
+ 3. Reconcile implementation notes when present:
16
+ - use `SPEC.md` acceptance criteria as the skeleton
17
+ - override or annotate steps where `IMPLEMENTATION-NOTES.md` records a deviation, surprise, or judgment call
18
+ - mark blocked or unmet steps: `⚠ blocked — <reason>`
19
+ 4. Write or merge the flow page:
20
+ - preserve established facts
21
+ - append new information under `## [Source: <origin>]`
22
+ - flag contradictions inline: `> [!warning] CONTRADICTS [[source]]`
23
+ 5. Every flow page must include:
24
+ - frontmatter:
25
+ ```yaml
26
+ ---
27
+ domain: <domain>
28
+ type: flow
29
+ status: proposed | implemented
30
+ ingested: true
31
+ last_ingested: YYYY-MM-DD
32
+ links:
33
+ - "[[specs/<domain>/<spec>/SPEC]]"
34
+ - "[[specs/<domain>/<spec>/IMPLEMENTATION-NOTES]]" # only when notes exist
35
+ created: YYYY-MM-DD
36
+ updated: YYYY-MM-DD
37
+ ---
38
+ ```
39
+ - a Mermaid diagram
40
+ - a numbered step list aligned to the diagram nodes
41
+ 6. Update `<wiki-root>/domains/<domain>/<domain>.md` to link the flow page if not already present
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 1,
3
+ "registry": "https://clawdhub.com",
4
+ "slug": "agent-browser",
5
+ "installedVersion": "0.1.0",
6
+ "installedAt": 1768436984598
7
+ }