wicked-garden 12.27.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 (640) hide show
  1. package/.claude-plugin/archetypes.json +166 -0
  2. package/.claude-plugin/components.json +75 -0
  3. package/.claude-plugin/marketplace.json +15 -0
  4. package/.claude-plugin/plugin.json +174 -0
  5. package/.claude-plugin/specialist.json +48 -0
  6. package/.claude-plugin/stack-registry.json +96 -0
  7. package/AGENTS.md +13 -0
  8. package/CHANGELOG.md +712 -0
  9. package/CONTRIBUTING.md +99 -0
  10. package/ETHOS.md +83 -0
  11. package/LICENSE +21 -0
  12. package/README.md +115 -0
  13. package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
  14. package/agents/agentic/architect.md +449 -0
  15. package/agents/agentic/performance-analyst.md +702 -0
  16. package/agents/agentic/safety-reviewer.md +662 -0
  17. package/agents/crew/implementer.md +163 -0
  18. package/agents/crew/researcher.md +94 -0
  19. package/agents/crew/reviewer.md +184 -0
  20. package/agents/data/data-engineer.md +227 -0
  21. package/agents/engineering/api-documentarian.md +440 -0
  22. package/agents/engineering/migration-engineer.md +301 -0
  23. package/agents/engineering/solution-architect.md +208 -0
  24. package/agents/jam/brainstorm-facilitator.md +297 -0
  25. package/agents/jam/council.md +322 -0
  26. package/agents/jam/quick-facilitator.md +85 -0
  27. package/agents/persona/persona-agent.md +121 -0
  28. package/agents/platform/compliance-officer.md +266 -0
  29. package/agents/platform/privacy-expert.md +496 -0
  30. package/agents/platform/security-engineer.md +287 -0
  31. package/agents/product/a11y-expert.md +323 -0
  32. package/agents/product/requirements-analyst.md +238 -0
  33. package/agents/product/ui-reviewer.md +180 -0
  34. package/agents/product/ux-designer.md +199 -0
  35. package/agents/product/value-strategist.md +269 -0
  36. package/agents/qe/semantic-reviewer.md +78 -0
  37. package/commands/agentic/audit.md +24 -0
  38. package/commands/agentic/design.md +24 -0
  39. package/commands/agentic/frameworks.md +25 -0
  40. package/commands/agentic/review.md +27 -0
  41. package/commands/archetype/build.md +12 -0
  42. package/commands/archetype/decide.md +12 -0
  43. package/commands/archetype/explore.md +12 -0
  44. package/commands/archetype/incident.md +12 -0
  45. package/commands/archetype/migrate.md +12 -0
  46. package/commands/archetype/modernize.md +12 -0
  47. package/commands/archetype/review.md +14 -0
  48. package/commands/archetype/ship.md +12 -0
  49. package/commands/archetype/specify.md +12 -0
  50. package/commands/archetype/triage.md +12 -0
  51. package/commands/compile.md +37 -0
  52. package/commands/data/analyze.md +18 -0
  53. package/commands/data/data.md +21 -0
  54. package/commands/data/ml.md +18 -0
  55. package/commands/data/ontology.md +22 -0
  56. package/commands/data/pipeline.md +17 -0
  57. package/commands/deliberate.md +181 -0
  58. package/commands/engineering/add-field.md +77 -0
  59. package/commands/engineering/apply.md +58 -0
  60. package/commands/engineering/arch.md +26 -0
  61. package/commands/engineering/debug.md +27 -0
  62. package/commands/engineering/docs.md +27 -0
  63. package/commands/engineering/new-generator.md +257 -0
  64. package/commands/engineering/patch-plan.md +59 -0
  65. package/commands/engineering/plan.md +29 -0
  66. package/commands/engineering/remove.md +48 -0
  67. package/commands/engineering/rename.md +44 -0
  68. package/commands/engineering/review.md +32 -0
  69. package/commands/help.md +128 -0
  70. package/commands/install.md +118 -0
  71. package/commands/intent.md +54 -0
  72. package/commands/jam/brainstorm.md +37 -0
  73. package/commands/jam/council.md +49 -0
  74. package/commands/jam/quick.md +21 -0
  75. package/commands/jam/revisit.md +79 -0
  76. package/commands/persona/as.md +136 -0
  77. package/commands/persona/define.md +24 -0
  78. package/commands/persona/list.md +118 -0
  79. package/commands/platform/actions.md +20 -0
  80. package/commands/platform/assert.md +18 -0
  81. package/commands/platform/audit.md +23 -0
  82. package/commands/platform/compliance.md +20 -0
  83. package/commands/platform/gh.md +22 -0
  84. package/commands/platform/health.md +22 -0
  85. package/commands/platform/incident.md +23 -0
  86. package/commands/platform/infra.md +24 -0
  87. package/commands/platform/peer-health.md +103 -0
  88. package/commands/platform/plugin-health.md +58 -0
  89. package/commands/platform/security.md +38 -0
  90. package/commands/platform/toolchain.md +96 -0
  91. package/commands/platform/traces.md +20 -0
  92. package/commands/product/a11y.md +19 -0
  93. package/commands/product/acceptance.md +19 -0
  94. package/commands/product/align.md +20 -0
  95. package/commands/product/analyze.md +23 -0
  96. package/commands/product/elicit.md +19 -0
  97. package/commands/product/listen.md +24 -0
  98. package/commands/product/mockup.md +20 -0
  99. package/commands/product/screenshot.md +19 -0
  100. package/commands/product/strategy.md +40 -0
  101. package/commands/product/synthesize.md +23 -0
  102. package/commands/product/ux-review.md +42 -0
  103. package/commands/product/ux.md +20 -0
  104. package/commands/product/visual-direction.md +34 -0
  105. package/commands/prove.md +47 -0
  106. package/commands/report-issue.md +243 -0
  107. package/commands/reset.md +144 -0
  108. package/commands/search/blast-radius.md +58 -0
  109. package/commands/search/hotspots.md +55 -0
  110. package/commands/search/index.md +38 -0
  111. package/commands/search/lineage.md +47 -0
  112. package/commands/search/service-map.md +79 -0
  113. package/commands/setup.md +363 -0
  114. package/commands/smaht/briefing.md +200 -0
  115. package/commands/smaht/events-import.md +95 -0
  116. package/commands/smaht/state.md +19 -0
  117. package/commands/where-am-i.md +58 -0
  118. package/docs/README.md +32 -0
  119. package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
  120. package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
  121. package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
  122. package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
  123. package/docs/brain-chunk-format.md +135 -0
  124. package/docs/compiler.md +95 -0
  125. package/docs/daemon-api.md +70 -0
  126. package/docs/domains.md +197 -0
  127. package/docs/getting-started.md +208 -0
  128. package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
  129. package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
  130. package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
  131. package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
  132. package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
  133. package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
  134. package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
  135. package/docs/required-peers.md +60 -0
  136. package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
  137. package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
  138. package/docs/v11/archetypes.md +231 -0
  139. package/hooks/hooks.json +275 -0
  140. package/hooks/scripts/bootstrap.py +1797 -0
  141. package/hooks/scripts/invoke.py +62 -0
  142. package/hooks/scripts/notification.py +166 -0
  143. package/hooks/scripts/permission_request.py +223 -0
  144. package/hooks/scripts/post_tool.py +1374 -0
  145. package/hooks/scripts/pre_compact.py +272 -0
  146. package/hooks/scripts/pre_tool.py +1278 -0
  147. package/hooks/scripts/prompt_submit.py +1109 -0
  148. package/hooks/scripts/session_end.py +95 -0
  149. package/hooks/scripts/stop.py +624 -0
  150. package/hooks/scripts/subagent_lifecycle.py +464 -0
  151. package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
  152. package/hooks/scripts/task_completed.py +322 -0
  153. package/hooks/scripts/worktree_guard.py +148 -0
  154. package/hooks/subscriptions/on_gate_decided.json +9 -0
  155. package/install.mjs +128 -0
  156. package/package.json +41 -0
  157. package/pyproject.toml +59 -0
  158. package/schemas/README.md +32 -0
  159. package/schemas/assert_contracts.json +37 -0
  160. package/schemas/health_probe.json +46 -0
  161. package/schemas/plugin_status.json +37 -0
  162. package/scripts/_adapters/__init__.py +166 -0
  163. package/scripts/_adapters/jira_adapter.py +18 -0
  164. package/scripts/_adapters/linear_adapter.py +18 -0
  165. package/scripts/_adapters/miro_adapter.py +18 -0
  166. package/scripts/_adapters/notion_adapter.py +18 -0
  167. package/scripts/_agents.py +357 -0
  168. package/scripts/_brain_ingest/__init__.py +2 -0
  169. package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
  170. package/scripts/_brain_port.py +163 -0
  171. package/scripts/_bus.py +1081 -0
  172. package/scripts/_bus_catalog_gen.py +93 -0
  173. package/scripts/_bus_consumers.json +46 -0
  174. package/scripts/_bus_emit.py +43 -0
  175. package/scripts/_capability_registry.py +334 -0
  176. package/scripts/_capability_resolver.py +322 -0
  177. package/scripts/_domain_store.py +559 -0
  178. package/scripts/_event_log_reader.py +154 -0
  179. package/scripts/_event_schema.py +305 -0
  180. package/scripts/_event_store.py +397 -0
  181. package/scripts/_heavy_cadence.py +324 -0
  182. package/scripts/_integration_resolver.py +321 -0
  183. package/scripts/_logger.py +151 -0
  184. package/scripts/_loom.py +482 -0
  185. package/scripts/_paths.py +133 -0
  186. package/scripts/_python.sh +22 -0
  187. package/scripts/_run.py +137 -0
  188. package/scripts/_session.py +502 -0
  189. package/scripts/_validate_registry.py +1042 -0
  190. package/scripts/_wicked_testing_probe.py +277 -0
  191. package/scripts/agentic/analyze_agents.py +391 -0
  192. package/scripts/agentic/detect_framework.py +420 -0
  193. package/scripts/agentic/issue_taxonomy.py +357 -0
  194. package/scripts/agentic/pattern_scorer.py +434 -0
  195. package/scripts/classify/persist.py +169 -0
  196. package/scripts/compiler/compile.py +552 -0
  197. package/scripts/compiler/phase0/VERDICT.md +60 -0
  198. package/scripts/compiler/phase0/detect.py +292 -0
  199. package/scripts/compiler/phase0/emit.py +228 -0
  200. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
  201. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
  202. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
  203. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
  204. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
  205. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
  206. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
  207. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
  208. package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
  209. package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
  210. package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
  211. package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
  212. package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
  213. package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
  214. package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
  215. package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
  216. package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
  217. package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
  218. package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
  219. package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
  220. package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
  221. package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
  222. package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
  223. package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
  224. package/scripts/compiler/phase0/evidence/verdict.json +104 -0
  225. package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
  226. package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
  227. package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
  228. package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
  229. package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
  230. package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
  231. package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
  232. package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
  233. package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
  234. package/scripts/compiler/phase0/run_probe.py +234 -0
  235. package/scripts/compiler/phase0/wire_vault.py +310 -0
  236. package/scripts/crew/__init__.py +0 -0
  237. package/scripts/crew/_task_audit_writer.py +243 -0
  238. package/scripts/crew/_task_reader.py +389 -0
  239. package/scripts/crew/archetypes_v11.py +348 -0
  240. package/scripts/crew/detectors/__init__.py +12 -0
  241. package/scripts/crew/flow_compiler.py +121 -0
  242. package/scripts/crew/phase_manager.py +703 -0
  243. package/scripts/crew/scope_delta.py +264 -0
  244. package/scripts/crew/specialist_resolver.py +218 -0
  245. package/scripts/crew/stack_registry.py +189 -0
  246. package/scripts/data/data_profiler.py +271 -0
  247. package/scripts/data/ontology_recommender.py +231 -0
  248. package/scripts/data/schema_validator.py +267 -0
  249. package/scripts/delivery/drift.py +739 -0
  250. package/scripts/delivery/telemetry.py +614 -0
  251. package/scripts/engineering/patch/codegraph_db.py +125 -0
  252. package/scripts/engineering/patch/generators/__init__.py +56 -0
  253. package/scripts/engineering/patch/generators/base.py +373 -0
  254. package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
  255. package/scripts/engineering/patch/generators/go_generator.py +430 -0
  256. package/scripts/engineering/patch/generators/java_generator.py +928 -0
  257. package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
  258. package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
  259. package/scripts/engineering/patch/generators/perl_generator.py +510 -0
  260. package/scripts/engineering/patch/generators/php_generator.py +644 -0
  261. package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
  262. package/scripts/engineering/patch/generators/python_generator.py +487 -0
  263. package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
  264. package/scripts/engineering/patch/generators/rust_generator.py +400 -0
  265. package/scripts/engineering/patch/generators/sql_generator.py +594 -0
  266. package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
  267. package/scripts/engineering/patch/patch.py +800 -0
  268. package/scripts/engineering/patch/safety.py +429 -0
  269. package/scripts/jam/__init__.py +0 -0
  270. package/scripts/jam/_bus_consumers.py +271 -0
  271. package/scripts/jam/agentic_cli_registry.py +703 -0
  272. package/scripts/jam/consensus.py +737 -0
  273. package/scripts/jam/detect_clis.py +409 -0
  274. package/scripts/jam/jam.py +283 -0
  275. package/scripts/jam/save_transcript.py +171 -0
  276. package/scripts/loom/__init__.py +22 -0
  277. package/scripts/loom/cli.py +170 -0
  278. package/scripts/loom/compose.py +180 -0
  279. package/scripts/loom/gate.py +120 -0
  280. package/scripts/loom/manifest.py +140 -0
  281. package/scripts/loom/resolve.py +59 -0
  282. package/scripts/persona/__init__.py +0 -0
  283. package/scripts/persona/registry.py +688 -0
  284. package/scripts/platform/guard_pipeline.py +1214 -0
  285. package/scripts/platform/guard_profiles.py +216 -0
  286. package/scripts/platform/observability/assert_contracts.py +434 -0
  287. package/scripts/platform/observability/health_probe.py +915 -0
  288. package/scripts/platform/observability/ops_log_viewer.py +209 -0
  289. package/scripts/platform/prereq_doctor.py +567 -0
  290. package/scripts/qe/conditions_manifest.py +260 -0
  291. package/scripts/qe/content_sanitizer.py +160 -0
  292. package/scripts/qe/coverage_tracker.py +535 -0
  293. package/scripts/qe/discover_scenarios.py +243 -0
  294. package/scripts/qe/evidence_tracker.py +232 -0
  295. package/scripts/qe/prove.py +196 -0
  296. package/scripts/qe/registry_lookup.py +80 -0
  297. package/scripts/qe/registry_store.py +176 -0
  298. package/scripts/qe/semantic_review.py +1005 -0
  299. package/scripts/qe/vault_gate.py +382 -0
  300. package/scripts/qe/verdict_audit.py +175 -0
  301. package/scripts/qe/verdict_schema.py +335 -0
  302. package/scripts/reset.py +220 -0
  303. package/scripts/resolve_path.py +22 -0
  304. package/scripts/sentinel/invariants.py +402 -0
  305. package/scripts/sentinel/pre_push.py +73 -0
  306. package/scripts/setup/__init__.py +1 -0
  307. package/scripts/setup/detect_state.py +114 -0
  308. package/scripts/setup/migrate_legacy.py +67 -0
  309. package/scripts/setup/migrate_v6_projects.py +232 -0
  310. package/scripts/setup/onboarding.py +114 -0
  311. package/scripts/smaht/_bus_consumers.py +98 -0
  312. package/scripts/smaht/adapters/__init__.py +83 -0
  313. package/scripts/smaht/adapters/brain_adapter.py +254 -0
  314. package/scripts/smaht/adapters/context7_adapter.py +438 -0
  315. package/scripts/smaht/adapters/delegation_adapter.py +104 -0
  316. package/scripts/smaht/adapters/domain_adapter.py +206 -0
  317. package/scripts/smaht/adapters/events_adapter.py +231 -0
  318. package/scripts/smaht/adapters/tools_adapter.py +49 -0
  319. package/scripts/smaht/cheatsheet_store.py +236 -0
  320. package/scripts/smaht/context_package.py +386 -0
  321. package/scripts/smaht/knowledge_graph.py +395 -0
  322. package/scripts/smaht/propose_skills.py +856 -0
  323. package/scripts/smaht/test_cheatsheet_store.py +428 -0
  324. package/scripts/statusline.py +151 -0
  325. package/scripts/where_am_i.py +236 -0
  326. package/skills/agentic/agentic-patterns/SKILL.md +91 -0
  327. package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
  328. package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
  329. package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
  330. package/skills/agentic/context-engineering/SKILL.md +142 -0
  331. package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
  332. package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
  333. package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
  334. package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
  335. package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
  336. package/skills/agentic/frameworks/SKILL.md +191 -0
  337. package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
  338. package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
  339. package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
  340. package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
  341. package/skills/agentic/refs/audit.md +134 -0
  342. package/skills/agentic/refs/design.md +137 -0
  343. package/skills/agentic/refs/frameworks.md +102 -0
  344. package/skills/agentic/refs/review.md +160 -0
  345. package/skills/agentic/review-methodology/SKILL.md +186 -0
  346. package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
  347. package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
  348. package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
  349. package/skills/agentic/trust-and-safety/SKILL.md +177 -0
  350. package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
  351. package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
  352. package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
  353. package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
  354. package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
  355. package/skills/archetype/SKILL.md +104 -0
  356. package/skills/archetype/refs/build.md +142 -0
  357. package/skills/archetype/refs/decide.md +117 -0
  358. package/skills/archetype/refs/explore.md +66 -0
  359. package/skills/archetype/refs/incident.md +149 -0
  360. package/skills/archetype/refs/migrate.md +170 -0
  361. package/skills/archetype/refs/modernize.md +187 -0
  362. package/skills/archetype/refs/review.md +145 -0
  363. package/skills/archetype/refs/ship.md +117 -0
  364. package/skills/archetype/refs/specify.md +108 -0
  365. package/skills/archetype/refs/triage.md +62 -0
  366. package/skills/classify/SKILL.md +157 -0
  367. package/skills/data/analysis/SKILL.md +125 -0
  368. package/skills/data/analysis/refs/templates.md +170 -0
  369. package/skills/data/data/SKILL.md +118 -0
  370. package/skills/data/data/refs/examples.md +235 -0
  371. package/skills/data/ml/SKILL.md +125 -0
  372. package/skills/data/ml/refs/templates.md +172 -0
  373. package/skills/data/pipeline/SKILL.md +136 -0
  374. package/skills/data/pipeline/refs/templates.md +175 -0
  375. package/skills/data/refs/analyze.md +123 -0
  376. package/skills/data/refs/data.md +95 -0
  377. package/skills/data/refs/ml.md +118 -0
  378. package/skills/data/refs/pipeline.md +92 -0
  379. package/skills/deliberate/SKILL.md +125 -0
  380. package/skills/deliberate/refs/architecture-lens.md +37 -0
  381. package/skills/deliberate/refs/assumptions-lens.md +43 -0
  382. package/skills/deliberate/refs/code-lens.md +38 -0
  383. package/skills/deliberate/refs/content-lens.md +37 -0
  384. package/skills/deliberate/refs/data-lens.md +43 -0
  385. package/skills/deliberate/refs/design-lens.md +37 -0
  386. package/skills/deliberate/refs/opportunity-patterns.md +107 -0
  387. package/skills/deliberate/refs/ops-lens.md +43 -0
  388. package/skills/deliberate/refs/product-lens.md +46 -0
  389. package/skills/deliberate/refs/rethink-framework.md +77 -0
  390. package/skills/deliberate/refs/security-lens.md +47 -0
  391. package/skills/deliberate/refs/testing-lens.md +45 -0
  392. package/skills/deliberate/refs/timing-lens.md +42 -0
  393. package/skills/engineering/architecture/SKILL.md +177 -0
  394. package/skills/engineering/architecture/refs/adr-template.md +268 -0
  395. package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
  396. package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
  397. package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
  398. package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
  399. package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
  400. package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
  401. package/skills/engineering/backend/SKILL.md +102 -0
  402. package/skills/engineering/backend/refs/checklists.md +146 -0
  403. package/skills/engineering/backend/refs/patterns.md +181 -0
  404. package/skills/engineering/debugging/SKILL.md +99 -0
  405. package/skills/engineering/debugging/refs/patterns.md +248 -0
  406. package/skills/engineering/debugging/refs/process.md +203 -0
  407. package/skills/engineering/docs/SKILL.md +97 -0
  408. package/skills/engineering/engineering/SKILL.md +88 -0
  409. package/skills/engineering/engineering/refs/checklists.md +91 -0
  410. package/skills/engineering/engineering/refs/templates.md +71 -0
  411. package/skills/engineering/frontend/SKILL.md +92 -0
  412. package/skills/engineering/frontend/refs/checklists.md +96 -0
  413. package/skills/engineering/frontend/refs/patterns.md +167 -0
  414. package/skills/engineering/integration/SKILL.md +183 -0
  415. package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
  416. package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
  417. package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
  418. package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
  419. package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
  420. package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
  421. package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
  422. package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
  423. package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
  424. package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
  425. package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
  426. package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
  427. package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
  428. package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
  429. package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
  430. package/skills/engineering/integration/refs/grpc-testing.md +49 -0
  431. package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
  432. package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
  433. package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
  434. package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
  435. package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
  436. package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
  437. package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
  438. package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
  439. package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
  440. package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
  441. package/skills/engineering/large-scale-migration/SKILL.md +65 -0
  442. package/skills/engineering/patch/SKILL.md +184 -0
  443. package/skills/engineering/refs/arch.md +126 -0
  444. package/skills/engineering/refs/debug.md +142 -0
  445. package/skills/engineering/refs/docs.md +190 -0
  446. package/skills/engineering/refs/plan.md +109 -0
  447. package/skills/engineering/refs/review.md +138 -0
  448. package/skills/engineering/system-design/SKILL.md +154 -0
  449. package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
  450. package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
  451. package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
  452. package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
  453. package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
  454. package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
  455. package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
  456. package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
  457. package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
  458. package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
  459. package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
  460. package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
  461. package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
  462. package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
  463. package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
  464. package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
  465. package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
  466. package/skills/engineering/unit-test-quality/SKILL.md +194 -0
  467. package/skills/ground/SKILL.md +130 -0
  468. package/skills/integration-discovery/SKILL.md +168 -0
  469. package/skills/integration-discovery/refs/capabilities.md +282 -0
  470. package/skills/integration-discovery/refs/cli-detection.md +295 -0
  471. package/skills/integration-discovery/refs/discovery-sources.md +233 -0
  472. package/skills/integration-discovery/refs/task-patterns.md +206 -0
  473. package/skills/jam/SKILL.md +45 -0
  474. package/skills/jam/refs/facilitation-patterns.md +125 -0
  475. package/skills/jam/refs/quick.md +64 -0
  476. package/skills/jam/refs/synthesis-patterns.md +114 -0
  477. package/skills/multi-model/SKILL.md +168 -0
  478. package/skills/multi-model/refs/aichat.md +119 -0
  479. package/skills/multi-model/refs/aider.md +100 -0
  480. package/skills/multi-model/refs/auditability.md +238 -0
  481. package/skills/multi-model/refs/codex.md +169 -0
  482. package/skills/multi-model/refs/context.md +306 -0
  483. package/skills/multi-model/refs/copilot.md +161 -0
  484. package/skills/multi-model/refs/examples.md +224 -0
  485. package/skills/multi-model/refs/gemini.md +185 -0
  486. package/skills/multi-model/refs/goose.md +112 -0
  487. package/skills/multi-model/refs/llm.md +124 -0
  488. package/skills/multi-model/refs/opencode.md +196 -0
  489. package/skills/multi-model/refs/orchestration.md +188 -0
  490. package/skills/multi-model/refs/pi.md +208 -0
  491. package/skills/persona/SKILL.md +144 -0
  492. package/skills/persona/refs/define.md +133 -0
  493. package/skills/platform/actions/refs/actions.md +114 -0
  494. package/skills/platform/audit/SKILL.md +174 -0
  495. package/skills/platform/audit/refs/audit.md +145 -0
  496. package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
  497. package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
  498. package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
  499. package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
  500. package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
  501. package/skills/platform/compliance/SKILL.md +169 -0
  502. package/skills/platform/compliance/refs/checklists.md +303 -0
  503. package/skills/platform/compliance/refs/compliance.md +117 -0
  504. package/skills/platform/compliance/refs/frameworks.md +282 -0
  505. package/skills/platform/errors/SKILL.md +183 -0
  506. package/skills/platform/errors/refs/patterns.md +271 -0
  507. package/skills/platform/errors/refs/severity.md +264 -0
  508. package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
  509. package/skills/platform/gh/refs/gh.md +105 -0
  510. package/skills/platform/gh-cli/SKILL.md +120 -0
  511. package/skills/platform/gh-cli/refs/automation.md +63 -0
  512. package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
  513. package/skills/platform/gh-cli/refs/patterns.md +132 -0
  514. package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
  515. package/skills/platform/github-actions/SKILL.md +159 -0
  516. package/skills/platform/github-actions/refs/security.md +150 -0
  517. package/skills/platform/github-actions/refs/templates.md +230 -0
  518. package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
  519. package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
  520. package/skills/platform/gitlab-ci/SKILL.md +140 -0
  521. package/skills/platform/gitlab-ci/refs/templates.md +223 -0
  522. package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
  523. package/skills/platform/glab-cli/SKILL.md +133 -0
  524. package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
  525. package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
  526. package/skills/platform/glab-cli/refs/patterns.md +131 -0
  527. package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
  528. package/skills/platform/health/SKILL.md +177 -0
  529. package/skills/platform/health/refs/health.md +72 -0
  530. package/skills/platform/health/refs/sources.md +302 -0
  531. package/skills/platform/incident/refs/incident.md +136 -0
  532. package/skills/platform/infra/refs/infra.md +104 -0
  533. package/skills/platform/observability/SKILL.md +128 -0
  534. package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
  535. package/skills/platform/prereq-doctor/SKILL.md +57 -0
  536. package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
  537. package/skills/platform/traces/refs/traces.md +101 -0
  538. package/skills/product/acceptance-criteria/SKILL.md +193 -0
  539. package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
  540. package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
  541. package/skills/product/accessibility/SKILL.md +197 -0
  542. package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
  543. package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
  544. package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
  545. package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
  546. package/skills/product/accessibility/refs/audit-report-results.md +276 -0
  547. package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
  548. package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
  549. package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
  550. package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
  551. package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
  552. package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
  553. package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
  554. package/skills/product/analyze/SKILL.md +164 -0
  555. package/skills/product/analyze/refs/algorithms.md +238 -0
  556. package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
  557. package/skills/product/imagery/SKILL.md +97 -0
  558. package/skills/product/imagery/alter/SKILL.md +105 -0
  559. package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
  560. package/skills/product/imagery/create/SKILL.md +109 -0
  561. package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
  562. package/skills/product/imagery/create/refs/provider-reference.md +219 -0
  563. package/skills/product/imagery/review/SKILL.md +101 -0
  564. package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
  565. package/skills/product/imagery/review/refs/quality-gates.md +153 -0
  566. package/skills/product/imagery/scripts/analyze.sh +23 -0
  567. package/skills/product/imagery/scripts/edit.sh +14 -0
  568. package/skills/product/imagery/scripts/generate.sh +13 -0
  569. package/skills/product/imagery/scripts/provider.py +787 -0
  570. package/skills/product/listen/SKILL.md +175 -0
  571. package/skills/product/listen/refs/channels.md +220 -0
  572. package/skills/product/mockup/SKILL.md +106 -0
  573. package/skills/product/mockup/refs/templates.md +95 -0
  574. package/skills/product/refs/a11y.md +109 -0
  575. package/skills/product/refs/acceptance.md +79 -0
  576. package/skills/product/refs/align.md +67 -0
  577. package/skills/product/refs/analyze.md +77 -0
  578. package/skills/product/refs/elicit.md +67 -0
  579. package/skills/product/refs/listen.md +58 -0
  580. package/skills/product/refs/mockup.md +77 -0
  581. package/skills/product/refs/screenshot.md +59 -0
  582. package/skills/product/refs/strategy.md +77 -0
  583. package/skills/product/refs/synthesize.md +54 -0
  584. package/skills/product/refs/ux-review.md +68 -0
  585. package/skills/product/refs/ux.md +101 -0
  586. package/skills/product/requirements-analysis/SKILL.md +136 -0
  587. package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
  588. package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
  589. package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
  590. package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
  591. package/skills/product/requirements-graph/SKILL.md +155 -0
  592. package/skills/product/requirements-graph/refs/examples.md +223 -0
  593. package/skills/product/requirements-graph/refs/schema.md +162 -0
  594. package/skills/product/requirements-migrate/SKILL.md +90 -0
  595. package/skills/product/requirements-navigate/SKILL.md +141 -0
  596. package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
  597. package/skills/product/screenshot/SKILL.md +147 -0
  598. package/skills/product/strategy/SKILL.md +198 -0
  599. package/skills/product/strategy/refs/frameworks.md +295 -0
  600. package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
  601. package/skills/product/strategy/refs/templates-roi-value.md +207 -0
  602. package/skills/product/synthesize/SKILL.md +116 -0
  603. package/skills/product/synthesize/refs/journey-mapping.md +212 -0
  604. package/skills/product/synthesize/refs/prioritization.md +193 -0
  605. package/skills/product/ux-review/SKILL.md +164 -0
  606. package/skills/product/visual-direction/SKILL.md +137 -0
  607. package/skills/product/visual-review/SKILL.md +131 -0
  608. package/skills/runtime-exec/SKILL.md +138 -0
  609. package/skills/search/codebase-narrator/SKILL.md +131 -0
  610. package/skills/search/codebase-narrator/refs/output-template.md +100 -0
  611. package/skills/smaht/SKILL.md +72 -0
  612. package/skills/smaht/discovery/SKILL.md +65 -0
  613. package/skills/smaht/intent/SKILL.md +89 -0
  614. package/skills/smaht/propose-skills/SKILL.md +142 -0
  615. package/skills/smaht/refs/state.md +76 -0
  616. package/skills/swarm/SKILL.md +132 -0
  617. package/skills/swarm/refs/fan-out.md +104 -0
  618. package/skills/swarm/refs/independent-verification.md +86 -0
  619. package/skills/swarm/refs/receipts-and-evidence.md +69 -0
  620. package/skills/swarm/refs/recon-synthesis.md +87 -0
  621. package/skills/swarm/refs/ship-discipline.md +90 -0
  622. package/skills/wickedizer/SKILL.md +147 -0
  623. package/skills/wickedizer/refs/artifact-types.md +238 -0
  624. package/skills/wickedizer/refs/complexity.md +278 -0
  625. package/skills/wickedizer/refs/de-ai-pass.md +140 -0
  626. package/skills/wickedizer/refs/failure-modes.md +249 -0
  627. package/skills/wickedizer/refs/patterns.md +282 -0
  628. package/skills/wickedizer/refs/review.md +221 -0
  629. package/skills/wickedizer/refs/structure.md +282 -0
  630. package/skills/wickedizer/refs/voice-profile.md +125 -0
  631. package/skills/workflow/SKILL.md +132 -0
  632. package/skills/workflow/refs/archetype-adjustments.md +205 -0
  633. package/skills/workflow/refs/evidence.md +58 -0
  634. package/skills/workflow/refs/integration.md +130 -0
  635. package/skills/workflow/refs/risk-dimension-signals.md +260 -0
  636. package/skills/workflow/refs/scoring-rubric.md +49 -0
  637. package/skills/workflow/refs/signal-keywords.md +176 -0
  638. package/skills/workflow/refs/specialist-routing-rules.md +159 -0
  639. package/skills/worktrees/SKILL.md +87 -0
  640. package/skills/worktrees/refs/recipes.md +96 -0
@@ -0,0 +1,269 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Interface Documentation Template - Structure
6
+
7
+ Template for documenting component interfaces, contracts, and integration points. Covers overview, contracts, operations, data types, error handling, and auth.
8
+
9
+ ## Template Structure
10
+
11
+ ```markdown
12
+ # Interface Name
13
+
14
+ ## Overview
15
+
16
+ Brief description of what this interface provides and who uses it.
17
+
18
+ **Type**: [REST API | GraphQL | gRPC | Event Stream | Library]
19
+ **Provider**: [Component Name]
20
+ **Consumers**: [List of components that use this interface]
21
+ **Stability**: [Stable | Beta | Experimental | Deprecated]
22
+
23
+ ## Contract
24
+
25
+ ### Purpose
26
+
27
+ What problem does this interface solve? What functionality does it provide?
28
+
29
+ ### Guarantees
30
+
31
+ What this interface guarantees to consumers:
32
+
33
+ - Guarantee 1 (e.g., idempotency)
34
+ - Guarantee 2 (e.g., response time)
35
+ - Guarantee 3 (e.g., data consistency)
36
+
37
+ ### Assumptions
38
+
39
+ What this interface assumes about consumers:
40
+
41
+ - Assumption 1 (e.g., authentication)
42
+ - Assumption 2 (e.g., rate limits respected)
43
+ - Assumption 3 (e.g., proper error handling)
44
+
45
+ ## Operations
46
+
47
+ ### Operation 1: [Name]
48
+
49
+ **Description**: What this operation does
50
+
51
+ **Input**:
52
+ ```typescript
53
+ interface Input {
54
+ field1: string;
55
+ field2: number;
56
+ field3?: boolean; // Optional
57
+ }
58
+ ```
59
+
60
+ **Output**:
61
+ ```typescript
62
+ interface Output {
63
+ result: string;
64
+ metadata: {
65
+ timestamp: string;
66
+ version: string;
67
+ };
68
+ }
69
+ ```
70
+
71
+ **Errors**:
72
+ - `ERROR_CODE_1`: Description and recovery
73
+ - `ERROR_CODE_2`: Description and recovery
74
+
75
+ **Example**:
76
+ ```typescript
77
+ const result = await interface.operation1({
78
+ field1: "value",
79
+ field2: 42,
80
+ field3: true
81
+ });
82
+ ```
83
+
84
+ **Performance**:
85
+ - Expected latency: < 100ms
86
+ - Throughput: 1000 ops/sec
87
+
88
+ **Idempotency**: [Yes | No | Conditional]
89
+
90
+ **Side Effects**: [None | List of side effects]
91
+
92
+ ### Operation 2: [Name]
93
+
94
+ [Same structure]
95
+
96
+ ## Data Types
97
+
98
+ ### Type1
99
+
100
+ ```typescript
101
+ interface Type1 {
102
+ id: string;
103
+ name: string;
104
+ status: 'active' | 'inactive' | 'pending';
105
+ metadata: Record<string, any>;
106
+ createdAt: Date;
107
+ updatedAt: Date;
108
+ }
109
+ ```
110
+
111
+ **Validation Rules**:
112
+ - `id`: UUID format
113
+ - `name`: 1-100 characters, alphanumeric
114
+ - `status`: Must be one of allowed values
115
+
116
+ **Invariants**:
117
+ - `createdAt` <= `updatedAt`
118
+ - `status` transitions follow workflow
119
+
120
+ ### Type2
121
+
122
+ [Same structure]
123
+
124
+ ## Error Handling
125
+
126
+ ### Error Categories
127
+
128
+ | Category | HTTP Status | Retry | Description |
129
+ |----------|-------------|-------|-------------|
130
+ | Validation | 400 | No | Invalid input |
131
+ | Authentication | 401 | No | Missing/invalid auth |
132
+ | Authorization | 403 | No | Insufficient permissions |
133
+ | Not Found | 404 | No | Resource doesn't exist |
134
+ | Conflict | 409 | No | State conflict |
135
+ | Rate Limit | 429 | Yes | Too many requests |
136
+ | Server Error | 500 | Yes | Internal error |
137
+ | Unavailable | 503 | Yes | Service down |
138
+
139
+ ### Error Response Format
140
+
141
+ ```typescript
142
+ interface ErrorResponse {
143
+ error: {
144
+ code: string;
145
+ message: string;
146
+ details?: any;
147
+ requestId: string;
148
+ timestamp: string;
149
+ };
150
+ }
151
+ ```
152
+
153
+ ### Example Error
154
+
155
+ ```json
156
+ {
157
+ "error": {
158
+ "code": "RESOURCE_NOT_FOUND",
159
+ "message": "User with ID 123 not found",
160
+ "requestId": "req_abc123",
161
+ "timestamp": "2025-01-24T10:00:00Z"
162
+ }
163
+ }
164
+ ```
165
+
166
+ ## Authentication & Authorization
167
+
168
+ ### Authentication Method
169
+
170
+ [Bearer Token | API Key | OAuth2 | mTLS | None]
171
+
172
+ **Example**:
173
+ ```http
174
+ Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
175
+ ```
176
+
177
+ ### Authorization
178
+
179
+ **Required Permissions**:
180
+ - `operation1`: `resource:read`
181
+ - `operation2`: `resource:write`
182
+ - `operation3`: `resource:admin`
183
+
184
+ **Scopes**:
185
+ - `read`: Read-only access
186
+ - `write`: Create and update
187
+ - `admin`: Full access including delete
188
+
189
+ ## Versioning
190
+
191
+ **Current Version**: 2.1.0
192
+
193
+ **Supported Versions**:
194
+ - v1.x: Deprecated, sunset 2026-01-01
195
+ - v2.x: Current, stable
196
+
197
+ **Version Specification**:
198
+ [URL | Header | Query Parameter]
199
+
200
+ **Example**:
201
+ ```
202
+ /api/v2/resources
203
+ Accept: application/vnd.api.v2+json
204
+ ?version=2
205
+ ```
206
+
207
+ ### Breaking Changes
208
+
209
+ Documented in [CHANGELOG.md](./CHANGELOG.md)
210
+
211
+ **v2.0.0**:
212
+ - Changed ID format from integer to UUID
213
+ - Removed `description` field
214
+ - Renamed `user_name` to `username`
215
+
216
+ ## Rate Limiting
217
+
218
+ **Limits**:
219
+ - Authenticated: 1000 requests/hour
220
+ - Unauthenticated: 100 requests/hour
221
+ - Burst: 20 requests/second
222
+
223
+ **Headers**:
224
+ ```http
225
+ X-RateLimit-Limit: 1000
226
+ X-RateLimit-Remaining: 999
227
+ X-RateLimit-Reset: 1611218400
228
+ ```
229
+
230
+ **Exceeded Response**:
231
+ ```http
232
+ HTTP/1.1 429 Too Many Requests
233
+ Retry-After: 3600
234
+
235
+ {
236
+ "error": {
237
+ "code": "RATE_LIMIT_EXCEEDED",
238
+ "message": "Rate limit exceeded",
239
+ "retryAfter": 3600
240
+ }
241
+ }
242
+ ```
243
+
244
+ ## Service Level Agreement (SLA)
245
+
246
+ **Availability**: 99.9% uptime
247
+
248
+ **Performance**:
249
+ - P50 latency: < 50ms
250
+ - P95 latency: < 200ms
251
+ - P99 latency: < 500ms
252
+
253
+ **Support**:
254
+ - Response time: 4 hours
255
+ - Resolution time: 24 hours
256
+
257
+ ## Deprecation Policy
258
+
259
+ 1. **Announcement**: 6 months before deprecation
260
+ 2. **Warnings**: Deprecation headers in responses
261
+ 3. **Sunset**: Version removed after sunset date
262
+
263
+ **Deprecation Headers**:
264
+ ```http
265
+ Warning: 299 - "This API version is deprecated"
266
+ Sunset: Mon, 01 Jan 2026 00:00:00 GMT
267
+ Link: <https://docs.example.com/migration>; rel="deprecation"
268
+ ```
269
+ ```
@@ -0,0 +1,151 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Component Design Patterns: Dependency Injection
6
+
7
+ ## Dependency Injection
8
+
9
+ ### Structure
10
+
11
+ ```
12
+ ┌──────────────┐
13
+ │ Container │
14
+ └──────┬───────┘
15
+ │ Resolves
16
+ │
17
+ ┌──────▼──────────┐
18
+ │ Service │
19
+ └──────┬──────────┘
20
+ │ Depends on
21
+ │
22
+ ┌──────▼──────────┐
23
+ │ Dependency │ (Injected)
24
+ └─────────────────┘
25
+ ```
26
+
27
+ ### Example
28
+
29
+ ```typescript
30
+ // Dependencies
31
+ interface Logger {
32
+ log(message: string): void;
33
+ }
34
+
35
+ class ConsoleLogger implements Logger {
36
+ log(message: string): void {
37
+ console.log(message);
38
+ }
39
+ }
40
+
41
+ class FileLogger implements Logger {
42
+ constructor(private filename: string) {}
43
+
44
+ log(message: string): void {
45
+ fs.appendFileSync(this.filename, message + '\n');
46
+ }
47
+ }
48
+
49
+ // Service with dependencies
50
+ class UserService {
51
+ constructor(
52
+ private userRepo: UserRepository,
53
+ private logger: Logger,
54
+ private emailService: EmailService
55
+ ) {}
56
+
57
+ async createUser(data: CreateUserDTO): Promise<User> {
58
+ this.logger.log(`Creating user: ${data.email}`);
59
+
60
+ const user = await this.userRepo.save(User.create(data));
61
+
62
+ await this.emailService.sendWelcome(user.email);
63
+
64
+ this.logger.log(`User created: ${user.id}`);
65
+
66
+ return user;
67
+ }
68
+ }
69
+
70
+ // DI Container
71
+ class Container {
72
+ private services = new Map<string, any>();
73
+
74
+ register<T>(token: string, factory: () => T): void {
75
+ this.services.set(token, factory);
76
+ }
77
+
78
+ resolve<T>(token: string): T {
79
+ const factory = this.services.get(token);
80
+ if (!factory) {
81
+ throw new Error(`Service ${token} not registered`);
82
+ }
83
+ return factory();
84
+ }
85
+ }
86
+
87
+ // Setup
88
+ const container = new Container();
89
+
90
+ container.register<Logger>('Logger', () => new ConsoleLogger());
91
+ container.register<UserRepository>('UserRepository', () => new PostgresUserRepository(db));
92
+ container.register<EmailService>('EmailService', () => new EmailService());
93
+
94
+ container.register<UserService>('UserService', () => {
95
+ return new UserService(
96
+ container.resolve('UserRepository'),
97
+ container.resolve('Logger'),
98
+ container.resolve('EmailService')
99
+ );
100
+ });
101
+
102
+ // Usage
103
+ const userService = container.resolve<UserService>('UserService');
104
+ await userService.createUser({ email: 'test@example.com', name: 'Test' });
105
+ ```
106
+
107
+ ### When to Use
108
+
109
+ - Need loose coupling
110
+ - Multiple implementations
111
+ - Testability important
112
+ - Configuration flexibility
113
+
114
+ ### Trade-offs
115
+
116
+ **Pros**: Testable, flexible, decoupled
117
+ **Cons**: Indirection, learning curve
118
+
119
+ ## Best Practices
120
+
121
+ ### 1. Single Responsibility
122
+
123
+ Each component should have one reason to change.
124
+
125
+ ### 2. Interface Segregation
126
+
127
+ Prefer many small interfaces over large ones.
128
+
129
+ ### 3. Dependency Inversion
130
+
131
+ Depend on abstractions, not concretions.
132
+
133
+ ### 4. Composition over Inheritance
134
+
135
+ Favor composing objects over class hierarchies.
136
+
137
+ ### 5. Keep It Simple
138
+
139
+ Don't over-engineer. Start simple, refactor when needed.
140
+
141
+ ### 6. Document Patterns
142
+
143
+ Make it clear which patterns are used and why.
144
+
145
+ ### 7. Consistent Structure
146
+
147
+ Use consistent patterns across similar components.
148
+
149
+ ### 8. Test Boundaries
150
+
151
+ Test component interfaces and contracts.
@@ -0,0 +1,257 @@
1
+ ---
2
+ phase_relevance: ["design", "build"]
3
+ archetype_relevance: ["*"]
4
+ ---
5
+ # Component Design Patterns: Facade Pattern
6
+
7
+ ## Facade Pattern
8
+
9
+ ### Structure
10
+
11
+ ```
12
+ ┌──────────┐
13
+ │ Client │
14
+ └────┬─────┘
15
+ │
16
+ │ Simple Interface
17
+ │
18
+ ┌────▼────────────┐
19
+ │ Facade │
20
+ └────┬────┬───┬───┘
21
+ │ │ │
22
+ ┌────▼┐ ┌─▼─┐ ┌▼────┐
23
+ │Sub1 │ │S2 │ │ S3 │ (Complex Subsystems)
24
+ └─────┘ └───┘ └─────┘
25
+ ```
26
+
27
+ ### Example
28
+
29
+ ```typescript
30
+ // Complex Subsystems
31
+ class PaymentProcessor {
32
+ async charge(amount: number, token: string): Promise<string> {
33
+ // Complex payment logic
34
+ }
35
+ }
36
+
37
+ class InventoryManager {
38
+ async reserve(productId: string, quantity: number): Promise<void> {
39
+ // Complex inventory logic
40
+ }
41
+
42
+ async release(productId: string, quantity: number): Promise<void> {
43
+ // Release reserved inventory
44
+ }
45
+ }
46
+
47
+ class ShippingService {
48
+ async createShipment(order: Order): Promise<string> {
49
+ // Complex shipping logic
50
+ }
51
+ }
52
+
53
+ class NotificationService {
54
+ async sendOrderConfirmation(userId: string, orderId: string): Promise<void> {
55
+ // Send notifications
56
+ }
57
+ }
58
+
59
+ // Facade - Simple Interface
60
+ class OrderFacade {
61
+ constructor(
62
+ private payment: PaymentProcessor,
63
+ private inventory: InventoryManager,
64
+ private shipping: ShippingService,
65
+ private notifications: NotificationService
66
+ ) {}
67
+
68
+ async createOrder(request: CreateOrderRequest): Promise<Order> {
69
+ // Simple interface hiding complex workflow
70
+ try {
71
+ // Reserve inventory
72
+ for (const item of request.items) {
73
+ await this.inventory.reserve(item.productId, item.quantity);
74
+ }
75
+
76
+ // Process payment
77
+ const transactionId = await this.payment.charge(
78
+ request.total,
79
+ request.paymentToken
80
+ );
81
+
82
+ // Create order record
83
+ const order = await this.saveOrder({
84
+ ...request,
85
+ transactionId,
86
+ status: 'confirmed'
87
+ });
88
+
89
+ // Create shipment
90
+ await this.shipping.createShipment(order);
91
+
92
+ // Send confirmation
93
+ await this.notifications.sendOrderConfirmation(
94
+ request.userId,
95
+ order.id
96
+ );
97
+
98
+ return order;
99
+ } catch (error) {
100
+ // Rollback on failure
101
+ for (const item of request.items) {
102
+ await this.inventory.release(item.productId, item.quantity);
103
+ }
104
+ throw error;
105
+ }
106
+ }
107
+
108
+ private async saveOrder(data: any): Promise<Order> {
109
+ // Save order logic
110
+ return {} as Order;
111
+ }
112
+ }
113
+
114
+ // Client Usage
115
+ const orderFacade = new OrderFacade(
116
+ paymentProcessor,
117
+ inventoryManager,
118
+ shippingService,
119
+ notificationService
120
+ );
121
+
122
+ // Simple call, complex workflow hidden
123
+ const order = await orderFacade.createOrder({
124
+ userId: 'user123',
125
+ items: [{ productId: 'prod1', quantity: 2 }],
126
+ total: 99.99,
127
+ paymentToken: 'tok_123'
128
+ });
129
+ ```
130
+
131
+ ### When to Use
132
+
133
+ - Simplify complex subsystems
134
+ - Provide unified interface
135
+ - Reduce client dependencies
136
+ - Hide implementation complexity
137
+
138
+ ### Trade-offs
139
+
140
+ **Pros**: Simplified interface, loose coupling
141
+ **Cons**: Can become a god object
142
+
143
+ ## Strategy Pattern
144
+
145
+ ### Structure
146
+
147
+ ```
148
+ ┌──────────┐
149
+ │ Context │
150
+ └────┬─────┘
151
+ │
152
+ │ Uses
153
+ │
154
+ ┌────▼────────┐
155
+ │ Strategy │ (Interface)
156
+ └────┬────────┘
157
+ │
158
+ │ Implements
159
+ │
160
+ ┌──┼────┬──────┐
161
+ │ │ │ │
162
+ ┌─▼┐ ┌▼─┐ ┌▼──┐ ┌▼─┐
163
+ │S1│ │S2│ │S3 │ │S4│
164
+ └──┘ └──┘ └───┘ └──┘
165
+ ```
166
+
167
+ ### Example
168
+
169
+ ```typescript
170
+ // Strategy Interface
171
+ interface PricingStrategy {
172
+ calculatePrice(basePrice: number, quantity: number): number;
173
+ }
174
+
175
+ // Concrete Strategies
176
+ class RegularPricing implements PricingStrategy {
177
+ calculatePrice(basePrice: number, quantity: number): number {
178
+ return basePrice * quantity;
179
+ }
180
+ }
181
+
182
+ class BulkPricing implements PricingStrategy {
183
+ constructor(private discount: number) {}
184
+
185
+ calculatePrice(basePrice: number, quantity: number): number {
186
+ const subtotal = basePrice * quantity;
187
+ if (quantity >= 10) {
188
+ return subtotal * (1 - this.discount);
189
+ }
190
+ return subtotal;
191
+ }
192
+ }
193
+
194
+ class MemberPricing implements PricingStrategy {
195
+ constructor(private memberDiscount: number) {}
196
+
197
+ calculatePrice(basePrice: number, quantity: number): number {
198
+ return basePrice * quantity * (1 - this.memberDiscount);
199
+ }
200
+ }
201
+
202
+ class SeasonalPricing implements PricingStrategy {
203
+ constructor(private season: 'peak' | 'off-peak') {}
204
+
205
+ calculatePrice(basePrice: number, quantity: number): number {
206
+ const multiplier = this.season === 'peak' ? 1.2 : 0.8;
207
+ return basePrice * quantity * multiplier;
208
+ }
209
+ }
210
+
211
+ // Context
212
+ class ShoppingCart {
213
+ private items: Array<{ productId: string; basePrice: number; quantity: number }> = [];
214
+
215
+ constructor(private pricingStrategy: PricingStrategy) {}
216
+
217
+ addItem(productId: string, basePrice: number, quantity: number): void {
218
+ this.items.push({ productId, basePrice, quantity });
219
+ }
220
+
221
+ getTotal(): number {
222
+ return this.items.reduce((total, item) => {
223
+ return total + this.pricingStrategy.calculatePrice(item.basePrice, item.quantity);
224
+ }, 0);
225
+ }
226
+
227
+ setPricingStrategy(strategy: PricingStrategy): void {
228
+ this.pricingStrategy = strategy;
229
+ }
230
+ }
231
+
232
+ // Usage
233
+ const cart = new ShoppingCart(new RegularPricing());
234
+ cart.addItem('prod1', 29.99, 5);
235
+ console.log(cart.getTotal()); // Regular pricing
236
+
237
+ // Switch to bulk pricing
238
+ cart.setPricingStrategy(new BulkPricing(0.1)); // 10% discount
239
+ console.log(cart.getTotal()); // Bulk pricing
240
+
241
+ // Switch to member pricing
242
+ cart.setPricingStrategy(new MemberPricing(0.15)); // 15% discount
243
+ console.log(cart.getTotal()); // Member pricing
244
+ ```
245
+
246
+ ### When to Use
247
+
248
+ - Multiple algorithms for same task
249
+ - Runtime algorithm selection needed
250
+ - Avoid large conditionals
251
+ - Encapsulate varying behavior
252
+
253
+ ### Trade-offs
254
+
255
+ **Pros**: Flexible, testable, follows Open/Closed
256
+ **Cons**: More classes, client must know strategies
257
+