@haposoft/cafekit 0.16.0-rc.8 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/README.md +117 -28
  2. package/bin/__tests__/codex-hooks-ownership.test.js +239 -0
  3. package/bin/__tests__/codex-hooks.test.js +175 -0
  4. package/bin/__tests__/codex-native.test.js +1882 -70
  5. package/bin/__tests__/develop-contract.test.js +442 -23
  6. package/bin/__tests__/grok-envelope.test.js +271 -0
  7. package/bin/__tests__/grok-platform.test.js +133 -0
  8. package/bin/__tests__/hook-payload.test.js +194 -0
  9. package/bin/__tests__/installer-safety.test.js +3 -3
  10. package/bin/__tests__/omp-bridge.test.js +168 -0
  11. package/bin/__tests__/omp-hooks.test.js +178 -0
  12. package/bin/__tests__/omp-runtime.test.js +150 -0
  13. package/bin/__tests__/optional-skill-inventory.test.js +249 -0
  14. package/bin/__tests__/output-styles.test.js +214 -0
  15. package/bin/__tests__/package-inventory.test.js +1735 -98
  16. package/bin/__tests__/runtime-dir.test.js +158 -0
  17. package/bin/__tests__/runtime-schema.test.js +113 -0
  18. package/bin/__tests__/secret-output-guardrail.test.js +122 -0
  19. package/bin/__tests__/skill-routing-source.test.js +172 -0
  20. package/bin/__tests__/specs-v2-execution-closeout.test.js +28 -1
  21. package/bin/install.js +15 -5
  22. package/bin/lib/codex-install.js +170 -5
  23. package/bin/lib/context.js +64 -3
  24. package/bin/lib/i18n.js +15 -36
  25. package/bin/lib/skill-deps.js +5 -5
  26. package/bin/phases/claude-runtime.js +23 -0
  27. package/bin/phases/claude-settings.js +8 -0
  28. package/bin/phases/codex-hooks.js +156 -0
  29. package/bin/phases/codex-runtime.js +29 -38
  30. package/bin/phases/copy-payload.js +15 -2
  31. package/bin/phases/omp-runtime.js +140 -0
  32. package/bin/phases/root-config.js +3 -0
  33. package/bin/phases/select-platform.js +22 -1
  34. package/bin/phases/select-skill-bundles.js +96 -0
  35. package/bin/phases/skill-inventory.js +71 -0
  36. package/bin/phases/skills-setup.js +9 -2
  37. package/bin/phases/summary.js +0 -4
  38. package/bin/phases/write-metadata.js +8 -5
  39. package/package.json +8 -2
  40. package/src/claude/CLAUDE.md +3 -3
  41. package/src/claude/agents/brainstormer.md +52 -69
  42. package/src/claude/agents/code-auditor.md +32 -14
  43. package/src/claude/agents/debugger.md +35 -20
  44. package/src/claude/agents/deployer.md +12 -5
  45. package/src/claude/agents/docs-keeper.md +11 -1
  46. package/src/claude/agents/implementer.md +25 -13
  47. package/src/claude/agents/inspector.md +6 -3
  48. package/src/claude/agents/project-manager.md +1 -1
  49. package/src/claude/agents/researcher.md +26 -55
  50. package/src/claude/agents/spec-maker.md +12 -7
  51. package/src/claude/agents/strategist.md +52 -0
  52. package/src/claude/agents/test-runner.md +117 -132
  53. package/src/claude/agents/ui-ux-designer.md +1 -1
  54. package/src/claude/hooks/__tests__/fixtures/statusline-default.golden +1 -0
  55. package/src/claude/hooks/__tests__/precompact.test.js +158 -0
  56. package/src/claude/hooks/__tests__/semantic-review-authority.test.js +2 -0
  57. package/src/claude/hooks/__tests__/spec-gate.test.js +348 -3
  58. package/src/claude/hooks/__tests__/state.test.js +7 -0
  59. package/src/claude/hooks/__tests__/statusline.test.js +196 -0
  60. package/src/claude/hooks/agent.cjs +13 -8
  61. package/src/claude/hooks/completion-authority.cjs +10 -4
  62. package/src/claude/hooks/docs-sync.cjs +14 -11
  63. package/src/claude/hooks/inspect-block.cjs +28 -8
  64. package/src/claude/hooks/lib/config.cjs +8 -2
  65. package/src/claude/hooks/lib/counter.cjs +7 -5
  66. package/src/claude/hooks/lib/hook-payload.cjs +160 -0
  67. package/src/claude/hooks/lib/hook-state-dir.cjs +39 -0
  68. package/src/claude/hooks/lib/runtime-dir.cjs +49 -0
  69. package/src/claude/hooks/lib/secret-keywords.cjs +42 -0
  70. package/src/claude/hooks/precompact.cjs +106 -0
  71. package/src/claude/hooks/privacy-block.cjs +4 -2
  72. package/src/claude/hooks/rules.cjs +5 -3
  73. package/src/claude/hooks/secret-output-guardrail.cjs +44 -0
  74. package/src/claude/hooks/semantic-review-authority.cjs +6 -4
  75. package/src/claude/hooks/session.cjs +37 -9
  76. package/src/claude/hooks/spec-gate.cjs +21 -11
  77. package/src/claude/hooks/spec-state.cjs +11 -7
  78. package/src/claude/hooks/state.cjs +7 -5
  79. package/src/claude/hooks/task-scaffold-guard.cjs +30 -9
  80. package/src/claude/hooks/usage.cjs +6 -5
  81. package/src/claude/migration-manifest.json +31 -15
  82. package/src/claude/output-styles/coding-level-0-eli5.md +103 -0
  83. package/src/claude/output-styles/coding-level-1-junior.md +124 -0
  84. package/src/claude/output-styles/coding-level-2-mid.md +146 -0
  85. package/src/claude/output-styles/coding-level-3-senior.md +148 -0
  86. package/src/claude/output-styles/coding-level-4-lead.md +159 -0
  87. package/src/claude/output-styles/coding-level-5-god.md +91 -0
  88. package/src/claude/references/debugger/core-philosophy.md +5 -3
  89. package/src/claude/references/debugger/frontend-verification.md +2 -2
  90. package/src/claude/references/debugger/log-ci-analysis.md +13 -1
  91. package/src/claude/references/debugger/parallel-agent-hydration.md +19 -34
  92. package/src/claude/references/debugger/performance-diagnostics.md +2 -2
  93. package/src/claude/references/debugger/root-cause-tracing.md +37 -6
  94. package/src/claude/references/debugger/side-effect-gate.md +3 -1
  95. package/src/claude/references/debugger/verification-protocol.md +13 -12
  96. package/src/claude/rules/orchestrator.md +7 -1
  97. package/src/claude/rules/process-management.md +39 -0
  98. package/src/claude/rules/review-audit-self-decision.md +48 -0
  99. package/src/claude/rules/skill-domain-routing.md +26 -24
  100. package/src/claude/rules/skill-workflow-routing.md +22 -14
  101. package/src/claude/rules/state-sync.md +7 -1
  102. package/src/claude/rules/workflow.md +5 -3
  103. package/src/claude/runtime.json +1 -0
  104. package/src/claude/runtime.schema.json +205 -0
  105. package/src/claude/scripts/generate-skill-catalog.cjs +156 -122
  106. package/src/claude/scripts/provenance.cjs +29 -9
  107. package/src/claude/scripts/spec-receipt.cjs +65 -4
  108. package/src/claude/scripts/workflow-policy.cjs +1 -1
  109. package/src/claude/settings/settings.json +16 -0
  110. package/src/claude/skills/agent-browser/SKILL.md +1 -1
  111. package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
  112. package/src/claude/skills/brainstorm/SKILL.md +193 -172
  113. package/src/claude/skills/brainstorm/references/question-framework.md +105 -167
  114. package/src/claude/skills/chrome-devtools/SKILL.md +1 -1
  115. package/src/claude/skills/code-review/SKILL.md +43 -25
  116. package/src/claude/skills/code-review/references/spec-compliance-review.md +3 -4
  117. package/src/claude/skills/code-review/references/verification-gate.md +1 -1
  118. package/src/claude/skills/debug/SKILL.md +48 -19
  119. package/src/claude/skills/delegate/SKILL.md +1 -1
  120. package/src/claude/skills/develop/SKILL.md +92 -65
  121. package/src/claude/skills/develop/references/parallel-waves.md +36 -63
  122. package/src/claude/skills/develop/references/quality-gate.md +31 -4
  123. package/src/claude/skills/develop/references/subagent-patterns.md +21 -7
  124. package/src/claude/skills/docs/SKILL.md +42 -23
  125. package/src/claude/skills/docs/references/init-workflow.md +4 -4
  126. package/src/claude/skills/docs/references/reconstruct-workflow.md +6 -6
  127. package/src/claude/skills/docs/references/standard-docs-workflow.md +6 -2
  128. package/src/claude/skills/docs/references/summarize-workflow.md +2 -2
  129. package/src/claude/skills/docs/references/update-workflow.md +9 -7
  130. package/src/claude/skills/docs/templates/requirements-as-is.md +1 -1
  131. package/src/claude/skills/docx/SKILL.md +1 -1
  132. package/src/claude/skills/git/SKILL.md +1 -1
  133. package/src/claude/skills/git/references/commit-protocols.md +1 -1
  134. package/src/claude/skills/git/references/finish-branch.md +1 -1
  135. package/src/claude/skills/hotfix/SKILL.md +159 -170
  136. package/src/claude/skills/hotfix/references/diagnosis-protocol.md +14 -9
  137. package/src/claude/skills/hotfix/references/parallel-patterns.md +27 -13
  138. package/src/claude/skills/hotfix/references/prevention-gate.md +5 -0
  139. package/src/claude/skills/hotfix/references/review-cycle.md +21 -15
  140. package/src/claude/skills/hotfix/references/workflow-specialized.md +53 -21
  141. package/src/claude/skills/inspect/SKILL.md +55 -46
  142. package/src/claude/skills/inspect/references/internal-inspection.md +21 -5
  143. package/src/claude/skills/loop/SKILL.md +114 -0
  144. package/src/claude/skills/loop/references/bounded-loop-protocol.md +104 -0
  145. package/src/claude/skills/loop/references/metric-and-guard-contract.md +76 -0
  146. package/src/claude/skills/pdf/SKILL.md +1 -1
  147. package/src/claude/skills/pptx/SKILL.md +1 -1
  148. package/src/claude/skills/question/SKILL.md +16 -13
  149. package/src/claude/skills/research/SKILL.md +70 -43
  150. package/src/claude/skills/route/SKILL.md +94 -0
  151. package/src/claude/skills/route/references/agent-timing.md +46 -0
  152. package/src/claude/skills/route/references/chaining-patterns.md +53 -0
  153. package/src/claude/skills/route/references/task-taxonomy.md +48 -0
  154. package/src/claude/skills/specs/SKILL.md +51 -71
  155. package/src/claude/skills/specs/references/review.md +11 -8
  156. package/src/claude/skills/specs/references/templates.md +34 -18
  157. package/src/claude/skills/specs/templates/requirements-init.md +1 -1
  158. package/src/claude/skills/specs/templates/research.md +2 -2
  159. package/src/claude/skills/sync/SKILL.md +6 -6
  160. package/src/claude/skills/sync/references/sync-protocols.md +1 -1
  161. package/src/claude/skills/test/SKILL.md +120 -120
  162. package/src/claude/skills/test/references/execution-strategy.md +208 -361
  163. package/src/claude/skills/test/references/failure-triage.md +55 -121
  164. package/src/claude/skills/test/references/test-memory.md +20 -34
  165. package/src/claude/skills/ui-ux-pro-max/SKILL.md +1 -1
  166. package/src/claude/skills/web-testing/SKILL.md +1 -1
  167. package/src/claude/skills/xlsx/SKILL.md +1 -1
  168. package/src/claude/status.cjs +135 -33
  169. package/src/codex/AGENTS.md +14 -4
  170. package/src/codex/hooks/docs-sync.cjs +8 -3
  171. package/src/codex/hooks/lib/hook-context.cjs +18 -4
  172. package/src/codex/hooks/rules.cjs +29 -1
  173. package/src/codex/hooks/secret-output-guardrail.cjs +30 -0
  174. package/src/codex/hooks/spec-gate.cjs +3 -8
  175. package/src/codex/hooks/spec-state.cjs +3 -2
  176. package/src/codex/hooks.json +5 -0
  177. package/src/codex/rules/state-sync.md +7 -1
  178. package/src/codex/runtime.json +2 -0
  179. package/src/common/.env.example +1 -1
  180. package/src/omp/extensions/cafekit-bridge.mjs +233 -0
  181. package/src/omp/hooks/privacy-block.cjs +250 -0
  182. package/src/omp/runtime.json +33 -0
  183. package/bin/lib/rtk-run.js +0 -28
  184. package/bin/phases/setup-rtk.js +0 -159
  185. package/src/claude/skills/backend-development/SKILL.md +0 -101
  186. package/src/claude/skills/backend-development/references/backend-api-design.md +0 -495
  187. package/src/claude/skills/backend-development/references/backend-architecture.md +0 -454
  188. package/src/claude/skills/backend-development/references/backend-authentication.md +0 -338
  189. package/src/claude/skills/backend-development/references/backend-code-quality.md +0 -659
  190. package/src/claude/skills/backend-development/references/backend-debugging.md +0 -904
  191. package/src/claude/skills/backend-development/references/backend-devops.md +0 -491
  192. package/src/claude/skills/backend-development/references/backend-mindset.md +0 -387
  193. package/src/claude/skills/backend-development/references/backend-performance.md +0 -397
  194. package/src/claude/skills/backend-development/references/backend-security.md +0 -342
  195. package/src/claude/skills/backend-development/references/backend-technologies.md +0 -256
  196. package/src/claude/skills/backend-development/references/backend-testing.md +0 -429
  197. package/src/claude/skills/devops/.env.example +0 -76
  198. package/src/claude/skills/devops/SKILL.md +0 -102
  199. package/src/claude/skills/devops/references/browser-rendering.md +0 -305
  200. package/src/claude/skills/devops/references/cloudflare-d1-kv.md +0 -123
  201. package/src/claude/skills/devops/references/cloudflare-platform.md +0 -271
  202. package/src/claude/skills/devops/references/cloudflare-r2-storage.md +0 -280
  203. package/src/claude/skills/devops/references/cloudflare-workers-advanced.md +0 -312
  204. package/src/claude/skills/devops/references/cloudflare-workers-apis.md +0 -309
  205. package/src/claude/skills/devops/references/cloudflare-workers-basics.md +0 -418
  206. package/src/claude/skills/devops/references/docker-basics.md +0 -297
  207. package/src/claude/skills/devops/references/docker-compose.md +0 -292
  208. package/src/claude/skills/devops/references/gcloud-platform.md +0 -297
  209. package/src/claude/skills/devops/references/gcloud-services.md +0 -304
  210. package/src/claude/skills/devops/references/kubernetes-basics.md +0 -95
  211. package/src/claude/skills/devops/references/kubernetes-helm-advanced.md +0 -70
  212. package/src/claude/skills/devops/references/kubernetes-helm.md +0 -81
  213. package/src/claude/skills/devops/references/kubernetes-kubectl.md +0 -74
  214. package/src/claude/skills/devops/references/kubernetes-security-advanced.md +0 -94
  215. package/src/claude/skills/devops/references/kubernetes-security.md +0 -89
  216. package/src/claude/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
  217. package/src/claude/skills/devops/references/kubernetes-troubleshooting.md +0 -49
  218. package/src/claude/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
  219. package/src/claude/skills/devops/references/kubernetes-workflows.md +0 -76
  220. package/src/claude/skills/devops/scripts/cloudflare_deploy.py +0 -269
  221. package/src/claude/skills/devops/scripts/docker_optimize.py +0 -332
  222. package/src/claude/skills/devops/scripts/requirements.txt +0 -20
  223. package/src/claude/skills/devops/scripts/tests/requirements.txt +0 -3
  224. package/src/claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +0 -285
  225. package/src/claude/skills/devops/scripts/tests/test_docker_optimize.py +0 -436
  226. package/src/claude/skills/frontend-design/SKILL.md +0 -135
  227. package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
  228. package/src/claude/skills/frontend-design/references/analysis-best-practices.md +0 -80
  229. package/src/claude/skills/frontend-design/references/analysis-prompts.md +0 -141
  230. package/src/claude/skills/frontend-design/references/analysis-techniques.md +0 -118
  231. package/src/claude/skills/frontend-design/references/animejs.md +0 -396
  232. package/src/claude/skills/frontend-design/references/anti-slop-rules.md +0 -103
  233. package/src/claude/skills/frontend-design/references/asset-generation.md +0 -337
  234. package/src/claude/skills/frontend-design/references/bento-motion-engine.md +0 -142
  235. package/src/claude/skills/frontend-design/references/design-extraction-overview.md +0 -71
  236. package/src/claude/skills/frontend-design/references/extraction-best-practices.md +0 -141
  237. package/src/claude/skills/frontend-design/references/extraction-output-templates.md +0 -162
  238. package/src/claude/skills/frontend-design/references/extraction-prompts.md +0 -127
  239. package/src/claude/skills/frontend-design/references/magicui-components.md +0 -129
  240. package/src/claude/skills/frontend-design/references/performance-guardrails.md +0 -169
  241. package/src/claude/skills/frontend-design/references/premium-design-patterns.md +0 -93
  242. package/src/claude/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
  243. package/src/claude/skills/frontend-design/references/technical-accessibility.md +0 -119
  244. package/src/claude/skills/frontend-design/references/technical-best-practices.md +0 -97
  245. package/src/claude/skills/frontend-design/references/technical-optimization.md +0 -44
  246. package/src/claude/skills/frontend-design/references/technical-overview.md +0 -90
  247. package/src/claude/skills/frontend-design/references/technical-workflows.md +0 -150
  248. package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +0 -95
  249. package/src/claude/skills/frontend-design/references/workflow-3d.md +0 -102
  250. package/src/claude/skills/frontend-design/references/workflow-describe.md +0 -87
  251. package/src/claude/skills/frontend-design/references/workflow-immersive.md +0 -87
  252. package/src/claude/skills/frontend-design/references/workflow-quick.md +0 -57
  253. package/src/claude/skills/frontend-design/references/workflow-screenshot.md +0 -63
  254. package/src/claude/skills/frontend-design/references/workflow-video.md +0 -74
  255. package/src/claude/skills/frontend-development/SKILL.md +0 -406
  256. package/src/claude/skills/frontend-development/resources/common-patterns.md +0 -331
  257. package/src/claude/skills/frontend-development/resources/complete-examples.md +0 -872
  258. package/src/claude/skills/frontend-development/resources/component-patterns.md +0 -502
  259. package/src/claude/skills/frontend-development/resources/data-fetching.md +0 -767
  260. package/src/claude/skills/frontend-development/resources/file-organization.md +0 -502
  261. package/src/claude/skills/frontend-development/resources/loading-and-error-states.md +0 -501
  262. package/src/claude/skills/frontend-development/resources/performance.md +0 -406
  263. package/src/claude/skills/frontend-development/resources/routing-guide.md +0 -364
  264. package/src/claude/skills/frontend-development/resources/styling-guide.md +0 -428
  265. package/src/claude/skills/frontend-development/resources/typescript-standards.md +0 -418
  266. package/src/claude/skills/mobile-development/SKILL.md +0 -218
  267. package/src/claude/skills/mobile-development/references/mobile-android.md +0 -604
  268. package/src/claude/skills/mobile-development/references/mobile-best-practices.md +0 -544
  269. package/src/claude/skills/mobile-development/references/mobile-debugging.md +0 -1089
  270. package/src/claude/skills/mobile-development/references/mobile-frameworks.md +0 -465
  271. package/src/claude/skills/mobile-development/references/mobile-ios.md +0 -496
  272. package/src/claude/skills/mobile-development/references/mobile-mindset.md +0 -542
  273. package/src/claude/skills/react-best-practices/AGENTS.md +0 -2249
  274. package/src/claude/skills/react-best-practices/README.md +0 -123
  275. package/src/claude/skills/react-best-practices/SKILL.md +0 -128
  276. package/src/claude/skills/react-best-practices/metadata.json +0 -15
  277. package/src/claude/skills/react-best-practices/rules/_sections.md +0 -46
  278. package/src/claude/skills/react-best-practices/rules/_template.md +0 -28
  279. package/src/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  280. package/src/claude/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
  281. package/src/claude/skills/react-best-practices/rules/async-api-routes.md +0 -38
  282. package/src/claude/skills/react-best-practices/rules/async-defer-await.md +0 -80
  283. package/src/claude/skills/react-best-practices/rules/async-dependencies.md +0 -36
  284. package/src/claude/skills/react-best-practices/rules/async-parallel.md +0 -28
  285. package/src/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  286. package/src/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  287. package/src/claude/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  288. package/src/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  289. package/src/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  290. package/src/claude/skills/react-best-practices/rules/bundle-preload.md +0 -50
  291. package/src/claude/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  292. package/src/claude/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  293. package/src/claude/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
  294. package/src/claude/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  295. package/src/claude/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  296. package/src/claude/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  297. package/src/claude/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  298. package/src/claude/skills/react-best-practices/rules/js-early-exit.md +0 -50
  299. package/src/claude/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  300. package/src/claude/skills/react-best-practices/rules/js-index-maps.md +0 -37
  301. package/src/claude/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  302. package/src/claude/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  303. package/src/claude/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  304. package/src/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  305. package/src/claude/skills/react-best-practices/rules/rendering-activity.md +0 -26
  306. package/src/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  307. package/src/claude/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  308. package/src/claude/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  309. package/src/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  310. package/src/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  311. package/src/claude/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  312. package/src/claude/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  313. package/src/claude/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  314. package/src/claude/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  315. package/src/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  316. package/src/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  317. package/src/claude/skills/react-best-practices/rules/rerender-memo.md +0 -44
  318. package/src/claude/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  319. package/src/claude/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  320. package/src/claude/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  321. package/src/claude/skills/react-best-practices/rules/server-cache-react.md +0 -26
  322. package/src/claude/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
  323. package/src/claude/skills/react-best-practices/rules/server-serialization.md +0 -38
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "./runtime.schema.json",
3
+ "privacyBlock": true,
4
+ "inspect": {
5
+ "enabled": true
6
+ },
7
+ "docs": {
8
+ "maxLoc": 800
9
+ },
10
+ "paths": {
11
+ "docs": "docs",
12
+ "specs": "specs",
13
+ "plans": "plans"
14
+ },
15
+ "spec": {
16
+ "scaffold_guard": true,
17
+ "completion_gate": true,
18
+ "tollgate": true
19
+ },
20
+ "develop": {
21
+ "parallel": true
22
+ },
23
+ "locale": {
24
+ "thinkingLanguage": null,
25
+ "responseLanguage": null
26
+ },
27
+ "codingLevel": 1,
28
+ "usage": {
29
+ "enabled": false
30
+ },
31
+ "hooks": {},
32
+ "assertions": []
33
+ }
@@ -1,28 +0,0 @@
1
- /**
2
- * Local captured-spawnSync helper for the rtk install phase.
3
- *
4
- * Why local: `lib/skill-deps.js` does not export a `run(cmd, args)` helper
5
- * (it uses `runAsync` internally and never re-exports it). The rtk phase
6
- * needs a synchronous, captured spawnSync (R2.2, R4.2) that returns
7
- * `{ ok, status, stdout, stderr }` — same shape as `skill-deps.runAsync` but
8
- * blocking. KISS: one 20-line module, no dependency on `lib/skill-deps.js`
9
- * (which is skill-domain and not a generic command runner).
10
- *
11
- * @param {string} cmd
12
- * @param {string[]} args
13
- * @param {object} [opts] — passed through to spawnSync (e.g. { timeout })
14
- * @returns {{ ok: boolean, status: number|null, stdout: string, stderr: string }}
15
- */
16
- const { spawnSync } = require('child_process');
17
-
18
- function run(cmd, args, opts = {}) {
19
- const r = spawnSync(cmd, args, { encoding: 'utf8', ...opts });
20
- return {
21
- ok: !r.error && r.status === 0,
22
- status: r.status,
23
- stdout: r.stdout || '',
24
- stderr: r.stderr || ''
25
- };
26
- }
27
-
28
- module.exports = { run };
@@ -1,159 +0,0 @@
1
- /**
2
- * setup-rtk — opt-in install of the rtk token-saver and its Claude Code hook.
3
- *
4
- * Phase order (per specs/rtk-installer-integration/design.md):
5
- * shouldRunRtk → ensureRtkBinary → `rtk init -g` → jq precheck → manifest
6
- *
7
- * R1-01 wired the consent gate (`shouldRunRtk`) and a thin `setupRtk` wrapper.
8
- * R2-01 adds the orchestrator: `ensureRtkBinary` (detect/install), the
9
- * `rtk init -g` hook registration, the `jq` precheck, and the manifest write.
10
- *
11
- * Non-fatal invariant (R2.7, R4.1): the entire `setupRtk` body is wrapped in
12
- * try/catch. Any throw / non-zero exit / timeout is logged as a warning via
13
- * `ctx.t('rtkFailed')` (with `{reason}` interpolation) and the cafekit
14
- * install continues with its existing exit code. Mirrors the non-fatal
15
- * contract of `phases/skills-setup.js`.
16
- *
17
- * Idempotency (R2.1, R2.6): re-runs see `hasCmd('rtk')` short-circuit the
18
- * binary install path and re-invoke `rtk init -g` (rtk's own command handles
19
- * its hook idempotency). The in-memory `ctx.rtkSetupRan` flag records that
20
- * setup executed, so downstream consumers (R3-01 summary line) can read it.
21
- *
22
- * Cross-OS install (validated 2026-06-15): best-effort order
23
- * (1) official prebuilt install script (pinned source)
24
- * (2) `cargo install rtk` when `hasCmd('cargo')`
25
- * (3) skip + warn
26
- * covers macOS/Linux dev machines (cargo fall-through) and CI (skip+warn).
27
- *
28
- * No timeout for `cargo install rtk` (validated 2026-06-15): user accepted
29
- * default `spawnSync` timeout; non-fatal guarantee holds via try/catch.
30
- */
31
-
32
- const dep = require('../lib/skill-deps');
33
- const rtkRun = require('../lib/rtk-run');
34
- const { hasCmd } = dep;
35
- const { run } = rtkRun;
36
-
37
- const RTK_INIT_TIMEOUT_MS = 30_000; // `rtk init -g` is a fast global-hook write
38
- const RTK_PREBUILT_TIMEOUT_MS = 120_000; // prebuilt install: curl download + sh pipe; slow networks need headroom
39
- const RTK_PREBUILT_INSTALL_URL =
40
- 'https://raw.githubusercontent.com/rtk-ai/rtk/main/install.sh';
41
-
42
- /**
43
- * Detect rtk binary, installing it if absent. Pure function over `ctx`.
44
- *
45
- * @param {object} ctx
46
- * @returns {'present'|'installed'|'absent'}
47
- */
48
- function ensureRtkBinary(ctx) {
49
- if (hasCmd('rtk')) return 'present';
50
- return installRtkBinary(ctx) ? 'installed' : 'absent';
51
- }
52
-
53
- /**
54
- * Best-effort rtk install. Tries the official prebuilt install script first
55
- * (R5.2: surface source), then falls back to `cargo install rtk` if cargo is
56
- * available, otherwise returns false (R2.3 non-fatal skip).
57
- *
58
- * @param {object} ctx
59
- * @returns {boolean} true on success, false on failure or no method available
60
- */
61
- function installRtkBinary(ctx) {
62
- // Method 1: official prebuilt install script (pinned URL).
63
- ctx.ui.info(ctx.t('rtkInstalling', { method: `prebuilt script (${RTK_PREBUILT_INSTALL_URL})` }));
64
- const prebuilt = run('sh', ['-c', `curl -fsSL ${RTK_PREBUILT_INSTALL_URL} | sh`], {
65
- timeout: RTK_PREBUILT_TIMEOUT_MS
66
- });
67
- if (prebuilt.ok) return true;
68
-
69
- // Method 2: `cargo install rtk` if cargo is on PATH.
70
- if (hasCmd('cargo')) {
71
- ctx.ui.info(ctx.t('rtkInstalling', { method: 'cargo install rtk' }));
72
- const cargo = run('cargo', ['install', 'rtk']);
73
- if (cargo.ok) return true;
74
- }
75
-
76
- // No method succeeded.
77
- return false;
78
- }
79
-
80
- /**
81
- * Phase entrypoint. R2-01 wires the full install + hook + manifest pipeline.
82
- * The consent gate is delegated to `shouldRunRtk(ctx)` (R1-01).
83
- *
84
- * @param {object} ctx
85
- * @returns {Promise<object>} the same ctx
86
- */
87
- async function setupRtk(ctx) {
88
- if (!(await shouldRunRtk(ctx))) {
89
- // Dry-run: enumerate the action set that would have run (validated 2026-06-15).
90
- if (ctx.dryRun) {
91
- ctx.ui.info(
92
- '[dry-run] rtk setup skipped (would: detect rtk binary, install if missing via prebuilt/cargo, run rtk init -g, check jq)'
93
- );
94
- } else {
95
- ctx.ui.info(ctx.t('rtkSkipped'));
96
- }
97
- return ctx;
98
- }
99
-
100
- try {
101
- // Step 1: ensure the binary is on PATH (R2.1, R2.2, R2.3).
102
- const state = ensureRtkBinary(ctx);
103
- if (state === 'absent') {
104
- ctx.ui.warn(ctx.t('rtkInstallFailed'));
105
- return ctx;
106
- }
107
- if (state === 'installed') {
108
- ctx.ui.info(ctx.t('rtkInstalled'));
109
- }
110
-
111
- // Step 2: register rtk's official Claude Code hook via `rtk init -g` (R2.4).
112
- const init = run('rtk', ['init', '-g'], { timeout: RTK_INIT_TIMEOUT_MS });
113
- if (!init.ok) {
114
- ctx.ui.warn(ctx.t('rtkInitFailed', { reason: init.stderr || `exit ${init.status}` }));
115
- return ctx;
116
- }
117
-
118
- // Step 3: `jq` precheck (R2.5). Warn if missing; do not fail.
119
- if (!hasCmd('jq')) {
120
- ctx.ui.warn(ctx.t('rtkNeedsJq'));
121
- }
122
-
123
- // Step 4: record the action (R2.6, idempotency). In-memory flag — re-runs
124
- // observe `hasCmd('rtk')` short-circuit and re-invoke `rtk init -g`,
125
- // which is itself idempotent. R3-01 reads this flag for the summary line.
126
- ctx.rtkSetupRan = true;
127
- return ctx;
128
- } catch (err) {
129
- // Non-fatal boundary: any unexpected throw becomes a warning, the
130
- // installer continues (R2.7, R4.1).
131
- ctx.ui.warn(ctx.t('rtkFailed', { reason: (err && err.message) || String(err) }));
132
- return ctx;
133
- }
134
- }
135
-
136
- /**
137
- * Decision matrix for whether the rtk setup phase should run. R1-01.
138
- *
139
- * 1. --dry-run → false (R1.4)
140
- * 2. ctx.options.withRtk === true → true (R1.1)
141
- * 3. !ctx.interactive → false (R1.3)
142
- * 4. interactive confirm resolves true → true (R1.2)
143
- * 5. interactive confirm resolves false → false (R1.2)
144
- *
145
- * @param {object} ctx
146
- * @returns {Promise<boolean>}
147
- */
148
- async function shouldRunRtk(ctx) {
149
- if (ctx.dryRun) return false;
150
- if (ctx.options.withRtk) return true;
151
- if (!ctx.interactive) return false;
152
- const yes = await ctx.ui.confirm(
153
- { message: ctx.t('rtkConfirm'), initialValue: false },
154
- false
155
- );
156
- return yes === true;
157
- }
158
-
159
- module.exports = { shouldRunRtk, setupRtk, ensureRtkBinary, installRtkBinary };
@@ -1,101 +0,0 @@
1
- ---
2
- name: hapo:backend-development
3
- description: Build backends with Node.js, Python, Go (NestJS, FastAPI, Django). Use for REST/GraphQL/gRPC APIs, auth (OAuth, JWT), databases, microservices, security (OWASP), Docker/K8s.
4
- license: MIT
5
- user-invocable: true
6
- when_to_use: "Invoke to build or modify server APIs, services, and data layers."
7
- category: backend
8
- keywords: [backend, api, server, database]
9
- argument-hint: "[framework] [task]"
10
- metadata:
11
- author: haposoft
12
- version: "1.0.0"
13
- ---
14
- # Backend Development Skill
15
-
16
- Production-ready backend development with modern technologies, best practices, and proven patterns.
17
-
18
- ## When to Use
19
-
20
- - Designing RESTful, GraphQL, or gRPC APIs
21
- - Building authentication/authorization systems
22
- - Optimizing database queries and schemas
23
- - Implementing caching and performance optimization
24
- - OWASP Top 10 security mitigation
25
- - Designing scalable microservices
26
- - Testing strategies (unit, integration, E2E)
27
- - CI/CD pipelines and deployment
28
- - Monitoring and debugging production systems
29
-
30
- ## Technology Selection Guide
31
-
32
- **Languages:** Node.js/TypeScript (full-stack), Python (data/ML), Go (concurrency), Rust (performance)
33
- **Frameworks:** NestJS, FastAPI, Django, Express, Gin
34
- **Databases:** PostgreSQL (ACID), MongoDB (flexible schema), Redis (caching)
35
- **APIs:** REST (simple), GraphQL (flexible), gRPC (performance)
36
-
37
- See: `references/backend-technologies.md` for detailed comparisons
38
-
39
- ## Reference Navigation
40
-
41
- **Core Technologies:**
42
- - `backend-technologies.md` - Languages, frameworks, databases, message queues, ORMs
43
- - `backend-api-design.md` - REST, GraphQL, gRPC patterns and best practices
44
-
45
- **Security & Authentication:**
46
- - `backend-security.md` - OWASP Top 10 2025, security best practices, input validation
47
- - `backend-authentication.md` - OAuth 2.1, JWT, RBAC, MFA, session management
48
-
49
- **Performance & Architecture:**
50
- - `backend-performance.md` - Caching, query optimization, load balancing, scaling
51
- - `backend-architecture.md` - Microservices, event-driven, CQRS, saga patterns
52
-
53
- **Quality & Operations:**
54
- - `backend-testing.md` - Testing strategies, frameworks, tools, CI/CD testing
55
- - `backend-code-quality.md` - SOLID principles, design patterns, clean code
56
- - `backend-devops.md` - Docker, Kubernetes, deployment strategies, monitoring
57
- - `backend-debugging.md` - Debugging strategies, profiling, logging, production debugging
58
- - `backend-mindset.md` - Problem-solving, architectural thinking, collaboration
59
-
60
- ## Key Best Practices (2025)
61
-
62
- **Security:** Argon2id passwords, parameterized queries prevent SQL injection, OAuth 2.1 + PKCE, rate limiting, security headers
63
-
64
- **Performance:** Redis caching reduces DB load, database indexing reduces I/O, CDN cuts latency, connection pooling
65
-
66
- **Testing:** 70-20-10 pyramid (unit-integration-E2E), Vitest or Jest, contract testing for microservices, migration tests
67
-
68
- **DevOps:** Blue-green/canary deployments, feature flags can reduce failures, Kubernetes, Prometheus/Grafana monitoring, OpenTelemetry tracing
69
-
70
- ## Quick Decision Matrix
71
-
72
- | Need | Choose |
73
- |------|--------|
74
- | Fast development | Node.js + NestJS |
75
- | Data/ML integration | Python + FastAPI |
76
- | High concurrency | Go + Gin |
77
- | Max performance | Rust + Axum |
78
- | ACID transactions | PostgreSQL |
79
- | Flexible schema | MongoDB |
80
- | Caching | Redis |
81
- | Internal services | gRPC |
82
- | Public APIs | GraphQL/REST |
83
- | Real-time events | Kafka |
84
-
85
- ## Implementation Checklist
86
-
87
- **API:** Choose style → Design schema → Validate input → Add auth → Rate limiting → Documentation → Error handling
88
-
89
- **Database:** Choose DB → Design schema → Create indexes → Connection pooling → Migration strategy → Backup/restore → Test performance
90
-
91
- **Security:** OWASP Top 10 → Parameterized queries → OAuth 2.1 + JWT → Security headers → Rate limiting → Input validation → Argon2id passwords
92
-
93
- **Testing:** Unit 70% → Integration 20% → E2E 10% → Load tests → Migration tests → Contract tests (microservices)
94
-
95
- **Deployment:** Docker → CI/CD → Blue-green/canary → Feature flags → Monitoring → Logging → Health checks
96
-
97
- ## Resources
98
-
99
- - OWASP Top 10: https://owasp.org/www-project-top-ten/
100
- - OAuth 2.1: https://oauth.net/2.1/
101
- - OpenTelemetry: https://opentelemetry.io/