@hivehub/rulebook 5.4.0 → 5.4.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 (454) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/ralph-config.md +112 -112
  4. package/.claude/commands/ralph-history.md +110 -110
  5. package/.claude/commands/ralph-init.md +72 -72
  6. package/.claude/commands/ralph-pause-resume.md +105 -105
  7. package/.claude/commands/ralph-run.md +101 -101
  8. package/.claude/commands/ralph-status.md +76 -76
  9. package/.claude/commands/rulebook-decision-create.md +55 -55
  10. package/.claude/commands/rulebook-decision-list.md +15 -15
  11. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  12. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  13. package/.claude/commands/rulebook-learn-capture.md +48 -48
  14. package/.claude/commands/rulebook-learn-list.md +13 -13
  15. package/.claude/commands/rulebook-memory-save.md +48 -48
  16. package/.claude/commands/rulebook-memory-search.md +47 -47
  17. package/.claude/commands/rulebook-task-apply.md +67 -67
  18. package/.claude/commands/rulebook-task-archive.md +94 -94
  19. package/.claude/commands/rulebook-task-create.md +93 -93
  20. package/.claude/commands/rulebook-task-list.md +42 -42
  21. package/.claude/commands/rulebook-task-show.md +52 -52
  22. package/.claude/commands/rulebook-task-validate.md +53 -53
  23. package/.claude-plugin/marketplace.json +28 -28
  24. package/.claude-plugin/plugin.json +8 -8
  25. package/LICENSE +191 -191
  26. package/README.md +393 -393
  27. package/dist/index.js +0 -0
  28. package/dist/mcp/rulebook-server.js +0 -0
  29. package/package.json +22 -21
  30. package/templates/agents/accessibility-reviewer.md +43 -43
  31. package/templates/agents/api-designer.md +42 -42
  32. package/templates/agents/architect.md +51 -51
  33. package/templates/agents/build-engineer.md +36 -36
  34. package/templates/agents/code-reviewer.md +47 -47
  35. package/templates/agents/compiler/codegen-debugger.md +34 -34
  36. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  37. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  38. package/templates/agents/context-intelligence.md +52 -52
  39. package/templates/agents/database-architect.md +41 -41
  40. package/templates/agents/devops-engineer.md +42 -42
  41. package/templates/agents/docs-writer.md +38 -38
  42. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  43. package/templates/agents/game-engine/render-engineer.md +22 -22
  44. package/templates/agents/game-engine/shader-engineer.md +38 -38
  45. package/templates/agents/game-engine/systems-integration.md +43 -43
  46. package/templates/agents/generic/code-reviewer.md +41 -41
  47. package/templates/agents/generic/docs-writer.md +25 -25
  48. package/templates/agents/generic/project-manager.md +36 -36
  49. package/templates/agents/generic/researcher.md +34 -34
  50. package/templates/agents/generic/test-engineer.md +41 -41
  51. package/templates/agents/i18n-engineer.md +42 -42
  52. package/templates/agents/implementer.md +42 -42
  53. package/templates/agents/migration-engineer.md +42 -42
  54. package/templates/agents/mobile/platform-specialist.md +22 -22
  55. package/templates/agents/mobile/ui-engineer.md +22 -22
  56. package/templates/agents/performance-engineer.md +49 -49
  57. package/templates/agents/refactoring-agent.md +41 -41
  58. package/templates/agents/researcher.md +38 -38
  59. package/templates/agents/security-reviewer.md +40 -40
  60. package/templates/agents/team-lead.md +37 -37
  61. package/templates/agents/tester.md +48 -48
  62. package/templates/agents/ux-reviewer.md +43 -43
  63. package/templates/agents/web-app/api-designer.md +22 -22
  64. package/templates/agents/web-app/backend-engineer.md +30 -30
  65. package/templates/agents/web-app/database-engineer.md +22 -22
  66. package/templates/agents/web-app/frontend-engineer.md +29 -29
  67. package/templates/agents/web-app/security-reviewer.md +32 -32
  68. package/templates/ci/rulebook-review.yml +26 -26
  69. package/templates/cli/AIDER.md +49 -49
  70. package/templates/cli/AMAZON_Q.md +25 -25
  71. package/templates/cli/AUGGIE.md +32 -32
  72. package/templates/cli/CLAUDE.md +117 -117
  73. package/templates/cli/CLINE.md +99 -99
  74. package/templates/cli/CODEBUDDY.md +20 -20
  75. package/templates/cli/CODEIUM.md +20 -20
  76. package/templates/cli/CODEX.md +21 -21
  77. package/templates/cli/CONTINUE.md +34 -34
  78. package/templates/cli/CURSOR_CLI.md +62 -62
  79. package/templates/cli/FACTORY.md +18 -18
  80. package/templates/cli/GEMINI.md +35 -35
  81. package/templates/cli/KILOCODE.md +18 -18
  82. package/templates/cli/OPENCODE.md +18 -18
  83. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  84. package/templates/cli/gemini-extension.json +77 -77
  85. package/templates/commands/rulebook-decision-create.md +55 -55
  86. package/templates/commands/rulebook-decision-list.md +15 -15
  87. package/templates/commands/rulebook-knowledge-add.md +41 -41
  88. package/templates/commands/rulebook-knowledge-list.md +15 -15
  89. package/templates/commands/rulebook-learn-capture.md +48 -48
  90. package/templates/commands/rulebook-learn-list.md +13 -13
  91. package/templates/commands/rulebook-memory-save.md +48 -48
  92. package/templates/commands/rulebook-memory-search.md +47 -47
  93. package/templates/commands/rulebook-task-apply.md +67 -67
  94. package/templates/commands/rulebook-task-archive.md +94 -94
  95. package/templates/commands/rulebook-task-create.md +93 -93
  96. package/templates/commands/rulebook-task-list.md +42 -42
  97. package/templates/commands/rulebook-task-show.md +52 -52
  98. package/templates/commands/rulebook-task-validate.md +53 -53
  99. package/templates/compact-context/_default.md +23 -23
  100. package/templates/compact-context/cpp.md +26 -26
  101. package/templates/compact-context/go.md +26 -26
  102. package/templates/compact-context/python.md +26 -26
  103. package/templates/compact-context/rust.md +28 -28
  104. package/templates/compact-context/typescript.md +29 -29
  105. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  106. package/templates/core/AGENT_AUTOMATION.md +296 -296
  107. package/templates/core/CLAUDE_MD_v2.md +71 -71
  108. package/templates/core/DAG.md +304 -304
  109. package/templates/core/DECISIONS.md +38 -38
  110. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  111. package/templates/core/KNOWLEDGE.md +49 -49
  112. package/templates/core/MULTI_AGENT.md +74 -74
  113. package/templates/core/PLANS.md +28 -28
  114. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  115. package/templates/core/RALPH.md +471 -471
  116. package/templates/core/RULEBOOK.md +1947 -1947
  117. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  118. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  119. package/templates/core/WORKSPACE.md +69 -69
  120. package/templates/frameworks/ANGULAR.md +36 -36
  121. package/templates/frameworks/DJANGO.md +83 -83
  122. package/templates/frameworks/ELECTRON.md +147 -147
  123. package/templates/frameworks/FLASK.md +38 -38
  124. package/templates/frameworks/FLUTTER.md +55 -55
  125. package/templates/frameworks/JQUERY.md +32 -32
  126. package/templates/frameworks/LARAVEL.md +38 -38
  127. package/templates/frameworks/NESTJS.md +43 -43
  128. package/templates/frameworks/NEXTJS.md +127 -127
  129. package/templates/frameworks/NUXT.md +40 -40
  130. package/templates/frameworks/RAILS.md +66 -66
  131. package/templates/frameworks/REACT.md +38 -38
  132. package/templates/frameworks/REACT_NATIVE.md +47 -47
  133. package/templates/frameworks/SPRING.md +39 -39
  134. package/templates/frameworks/SYMFONY.md +36 -36
  135. package/templates/frameworks/VUE.md +36 -36
  136. package/templates/frameworks/ZEND.md +35 -35
  137. package/templates/git/CI_CD_PATTERNS.md +661 -661
  138. package/templates/git/GITHUB_ACTIONS.md +728 -728
  139. package/templates/git/GITLAB_CI.md +730 -730
  140. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  141. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  142. package/templates/hooks/COMMIT_MSG.md +530 -530
  143. package/templates/hooks/POST_CHECKOUT.md +546 -546
  144. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  145. package/templates/hooks/PRE_COMMIT.md +414 -414
  146. package/templates/hooks/PRE_PUSH.md +601 -601
  147. package/templates/hooks/check-context-and-handoff.ps1 +58 -58
  148. package/templates/hooks/check-context-and-handoff.sh +76 -76
  149. package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
  150. package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
  151. package/templates/hooks/on-compact-reinject.sh +34 -34
  152. package/templates/hooks/resume-from-handoff.ps1 +40 -40
  153. package/templates/hooks/resume-from-handoff.sh +61 -61
  154. package/templates/hooks/terse-activate.ps1 +143 -143
  155. package/templates/hooks/terse-activate.sh +197 -197
  156. package/templates/hooks/terse-mode-tracker.ps1 +153 -153
  157. package/templates/hooks/terse-mode-tracker.sh +187 -187
  158. package/templates/ides/CONTINUE_RULES.md +16 -16
  159. package/templates/ides/COPILOT.md +37 -37
  160. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  161. package/templates/ides/CURSOR.md +43 -43
  162. package/templates/ides/GEMINI_RULES.md +17 -17
  163. package/templates/ides/JETBRAINS_AI.md +35 -35
  164. package/templates/ides/REPLIT.md +36 -36
  165. package/templates/ides/TABNINE.md +29 -29
  166. package/templates/ides/VSCODE.md +40 -40
  167. package/templates/ides/WINDSURF.md +36 -36
  168. package/templates/ides/WINDSURF_RULES.md +14 -14
  169. package/templates/ides/ZED.md +32 -32
  170. package/templates/ides/cursor-mdc/go.mdc +24 -24
  171. package/templates/ides/cursor-mdc/python.mdc +24 -24
  172. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  173. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  174. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  175. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  176. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  177. package/templates/languages/C.md +333 -333
  178. package/templates/languages/CPP.md +743 -743
  179. package/templates/languages/CSHARP.md +417 -417
  180. package/templates/languages/ELIXIR.md +454 -454
  181. package/templates/languages/ERLANG.md +361 -361
  182. package/templates/languages/GO.md +645 -645
  183. package/templates/languages/HASKELL.md +177 -177
  184. package/templates/languages/JAVA.md +607 -607
  185. package/templates/languages/JAVASCRIPT.md +631 -631
  186. package/templates/languages/JULIA.md +97 -97
  187. package/templates/languages/KOTLIN.md +511 -511
  188. package/templates/languages/LISP.md +100 -100
  189. package/templates/languages/LUA.md +74 -74
  190. package/templates/languages/OBJECTIVEC.md +90 -90
  191. package/templates/languages/PHP.md +416 -416
  192. package/templates/languages/PYTHON.md +682 -682
  193. package/templates/languages/RUBY.md +421 -421
  194. package/templates/languages/RUST.md +477 -477
  195. package/templates/languages/SAS.md +73 -73
  196. package/templates/languages/SCALA.md +348 -348
  197. package/templates/languages/SOLIDITY.md +580 -580
  198. package/templates/languages/SQL.md +137 -137
  199. package/templates/languages/SWIFT.md +466 -466
  200. package/templates/languages/TYPESCRIPT.md +591 -591
  201. package/templates/languages/ZIG.md +265 -265
  202. package/templates/modules/ATLASSIAN.md +255 -255
  203. package/templates/modules/CONTEXT7.md +54 -54
  204. package/templates/modules/FIGMA.md +267 -267
  205. package/templates/modules/GITHUB_MCP.md +64 -64
  206. package/templates/modules/GRAFANA.md +328 -328
  207. package/templates/modules/MEMORY.md +126 -126
  208. package/templates/modules/NOTION.md +247 -247
  209. package/templates/modules/PLAYWRIGHT.md +90 -90
  210. package/templates/modules/RULEBOOK_MCP.md +208 -208
  211. package/templates/modules/SERENA.md +337 -337
  212. package/templates/modules/SUPABASE.md +223 -223
  213. package/templates/modules/SYNAP.md +69 -69
  214. package/templates/modules/VECTORIZER.md +63 -63
  215. package/templates/modules/sequential-thinking.md +42 -42
  216. package/templates/ralph/ralph-history.bat +4 -4
  217. package/templates/ralph/ralph-history.sh +5 -5
  218. package/templates/ralph/ralph-init.bat +5 -5
  219. package/templates/ralph/ralph-init.sh +5 -5
  220. package/templates/ralph/ralph-pause.bat +5 -5
  221. package/templates/ralph/ralph-pause.sh +5 -5
  222. package/templates/ralph/ralph-run.bat +5 -5
  223. package/templates/ralph/ralph-run.sh +5 -5
  224. package/templates/ralph/ralph-status.bat +4 -4
  225. package/templates/ralph/ralph-status.sh +5 -5
  226. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  227. package/templates/rules/cpp.md +46 -46
  228. package/templates/rules/csharp.md +44 -44
  229. package/templates/rules/diagnostic-first.md +39 -39
  230. package/templates/rules/fail-twice-escalate.md +46 -46
  231. package/templates/rules/follow-task-sequence.md +36 -36
  232. package/templates/rules/git-safety.md +29 -29
  233. package/templates/rules/go.md +40 -40
  234. package/templates/rules/incremental-implementation.md +56 -56
  235. package/templates/rules/incremental-tests.md +29 -29
  236. package/templates/rules/java.md +43 -43
  237. package/templates/rules/javascript.md +39 -39
  238. package/templates/rules/knowledge-base-usage.md +41 -41
  239. package/templates/rules/multi-agent-teams.md +75 -75
  240. package/templates/rules/no-deferred.md +31 -31
  241. package/templates/rules/no-shortcuts.md +30 -30
  242. package/templates/rules/python.md +43 -43
  243. package/templates/rules/research-first.md +30 -30
  244. package/templates/rules/respect-handoff-trigger.md +41 -41
  245. package/templates/rules/rust.md +40 -40
  246. package/templates/rules/sequential-editing.md +21 -21
  247. package/templates/rules/session-workflow.md +24 -24
  248. package/templates/rules/task-decomposition.md +32 -32
  249. package/templates/rules/typescript.md +40 -40
  250. package/templates/services/AZURE_BLOB.md +184 -184
  251. package/templates/services/CASSANDRA.md +239 -239
  252. package/templates/services/DATADOG.md +26 -26
  253. package/templates/services/DOCKER.md +124 -124
  254. package/templates/services/DOCKER_COMPOSE.md +168 -168
  255. package/templates/services/DYNAMODB.md +308 -308
  256. package/templates/services/ELASTICSEARCH.md +347 -347
  257. package/templates/services/GCS.md +178 -178
  258. package/templates/services/HELM.md +194 -194
  259. package/templates/services/INFLUXDB.md +265 -265
  260. package/templates/services/KAFKA.md +341 -341
  261. package/templates/services/KUBERNETES.md +208 -208
  262. package/templates/services/MARIADB.md +183 -183
  263. package/templates/services/MEMCACHED.md +242 -242
  264. package/templates/services/MINIO.md +201 -201
  265. package/templates/services/MONGODB.md +268 -268
  266. package/templates/services/MYSQL.md +358 -358
  267. package/templates/services/NEO4J.md +247 -247
  268. package/templates/services/OPENTELEMETRY.md +25 -25
  269. package/templates/services/ORACLE.md +290 -290
  270. package/templates/services/PINO.md +24 -24
  271. package/templates/services/POSTGRESQL.md +326 -326
  272. package/templates/services/PROMETHEUS.md +33 -33
  273. package/templates/services/RABBITMQ.md +286 -286
  274. package/templates/services/REDIS.md +292 -292
  275. package/templates/services/S3.md +298 -298
  276. package/templates/services/SENTRY.md +23 -23
  277. package/templates/services/SQLITE.md +294 -294
  278. package/templates/services/SQLSERVER.md +294 -294
  279. package/templates/services/WINSTON.md +30 -30
  280. package/templates/skills/cli/aider/SKILL.md +59 -59
  281. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  282. package/templates/skills/cli/auggie/SKILL.md +42 -42
  283. package/templates/skills/cli/claude/SKILL.md +42 -42
  284. package/templates/skills/cli/cline/SKILL.md +42 -42
  285. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  286. package/templates/skills/cli/codeium/SKILL.md +30 -30
  287. package/templates/skills/cli/codex/SKILL.md +31 -31
  288. package/templates/skills/cli/continue/SKILL.md +44 -44
  289. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  290. package/templates/skills/cli/factory/SKILL.md +28 -28
  291. package/templates/skills/cli/gemini/SKILL.md +45 -45
  292. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  293. package/templates/skills/cli/opencode/SKILL.md +28 -28
  294. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  295. package/templates/skills/core/dag/SKILL.md +314 -314
  296. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  297. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  298. package/templates/skills/core/rulebook/SKILL.md +176 -176
  299. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  300. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  301. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  302. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  303. package/templates/skills/dev/analysis/SKILL.md +19 -19
  304. package/templates/skills/dev/api-design/SKILL.md +15 -15
  305. package/templates/skills/dev/architect/SKILL.md +17 -17
  306. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  307. package/templates/skills/dev/db-design/SKILL.md +15 -15
  308. package/templates/skills/dev/debug/SKILL.md +16 -16
  309. package/templates/skills/dev/deploy/SKILL.md +17 -17
  310. package/templates/skills/dev/docs/SKILL.md +17 -17
  311. package/templates/skills/dev/handoff/SKILL.md +27 -27
  312. package/templates/skills/dev/migrate/SKILL.md +15 -15
  313. package/templates/skills/dev/perf/SKILL.md +17 -17
  314. package/templates/skills/dev/refactor/SKILL.md +17 -17
  315. package/templates/skills/dev/research/SKILL.md +14 -14
  316. package/templates/skills/dev/review/SKILL.md +18 -18
  317. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  318. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  319. package/templates/skills/frameworks/django/SKILL.md +93 -93
  320. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  321. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  322. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  323. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  324. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  325. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  326. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  327. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  328. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  329. package/templates/skills/frameworks/react/SKILL.md +48 -48
  330. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  331. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  332. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  333. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  334. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  335. package/templates/skills/ides/copilot/SKILL.md +47 -47
  336. package/templates/skills/ides/cursor/SKILL.md +53 -53
  337. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  338. package/templates/skills/ides/replit/SKILL.md +46 -46
  339. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  340. package/templates/skills/ides/vscode/SKILL.md +50 -50
  341. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  342. package/templates/skills/ides/zed/SKILL.md +42 -42
  343. package/templates/skills/languages/c/SKILL.md +343 -343
  344. package/templates/skills/languages/cpp/SKILL.md +753 -753
  345. package/templates/skills/languages/csharp/SKILL.md +427 -427
  346. package/templates/skills/languages/elixir/SKILL.md +464 -464
  347. package/templates/skills/languages/erlang/SKILL.md +371 -371
  348. package/templates/skills/languages/go/SKILL.md +655 -655
  349. package/templates/skills/languages/haskell/SKILL.md +187 -187
  350. package/templates/skills/languages/java/SKILL.md +617 -617
  351. package/templates/skills/languages/javascript/SKILL.md +641 -641
  352. package/templates/skills/languages/julia/SKILL.md +107 -107
  353. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  354. package/templates/skills/languages/lisp/SKILL.md +110 -110
  355. package/templates/skills/languages/lua/SKILL.md +84 -84
  356. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  357. package/templates/skills/languages/php/SKILL.md +426 -426
  358. package/templates/skills/languages/python/SKILL.md +692 -692
  359. package/templates/skills/languages/ruby/SKILL.md +431 -431
  360. package/templates/skills/languages/rust/SKILL.md +487 -487
  361. package/templates/skills/languages/sas/SKILL.md +83 -83
  362. package/templates/skills/languages/scala/SKILL.md +358 -358
  363. package/templates/skills/languages/solidity/SKILL.md +590 -590
  364. package/templates/skills/languages/sql/SKILL.md +147 -147
  365. package/templates/skills/languages/swift/SKILL.md +476 -476
  366. package/templates/skills/languages/typescript/SKILL.md +302 -302
  367. package/templates/skills/languages/zig/SKILL.md +275 -275
  368. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  369. package/templates/skills/modules/context7/SKILL.md +64 -64
  370. package/templates/skills/modules/figma/SKILL.md +277 -277
  371. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  372. package/templates/skills/modules/grafana/SKILL.md +338 -338
  373. package/templates/skills/modules/memory/SKILL.md +73 -73
  374. package/templates/skills/modules/notion/SKILL.md +257 -257
  375. package/templates/skills/modules/playwright/SKILL.md +100 -100
  376. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  377. package/templates/skills/modules/serena/SKILL.md +347 -347
  378. package/templates/skills/modules/supabase/SKILL.md +233 -233
  379. package/templates/skills/modules/synap/SKILL.md +79 -79
  380. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  381. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  382. package/templates/skills/services/cassandra/SKILL.md +249 -249
  383. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  384. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  385. package/templates/skills/services/gcs/SKILL.md +188 -188
  386. package/templates/skills/services/influxdb/SKILL.md +275 -275
  387. package/templates/skills/services/kafka/SKILL.md +351 -351
  388. package/templates/skills/services/mariadb/SKILL.md +193 -193
  389. package/templates/skills/services/memcached/SKILL.md +252 -252
  390. package/templates/skills/services/minio/SKILL.md +211 -211
  391. package/templates/skills/services/mongodb/SKILL.md +278 -278
  392. package/templates/skills/services/mysql/SKILL.md +368 -368
  393. package/templates/skills/services/neo4j/SKILL.md +257 -257
  394. package/templates/skills/services/oracle/SKILL.md +300 -300
  395. package/templates/skills/services/postgresql/SKILL.md +336 -336
  396. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  397. package/templates/skills/services/redis/SKILL.md +302 -302
  398. package/templates/skills/services/s3/SKILL.md +308 -308
  399. package/templates/skills/services/sqlite/SKILL.md +304 -304
  400. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  401. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  402. package/templates/skills/workflows/ralph/install.sh +87 -87
  403. package/templates/skills/workflows/ralph/manifest.json +158 -158
  404. package/templates/workflows/codespell.yml +31 -31
  405. package/templates/workflows/cpp-lint.yml +47 -47
  406. package/templates/workflows/cpp-publish.yml +119 -119
  407. package/templates/workflows/cpp-test.yml +77 -77
  408. package/templates/workflows/dotnet-lint.yml +29 -29
  409. package/templates/workflows/dotnet-publish.yml +40 -40
  410. package/templates/workflows/dotnet-test.yml +41 -41
  411. package/templates/workflows/elixir-lint.yml +45 -45
  412. package/templates/workflows/elixir-publish.yml +49 -49
  413. package/templates/workflows/elixir-test.yml +54 -54
  414. package/templates/workflows/erlang-lint.yml +47 -47
  415. package/templates/workflows/erlang-test.yml +62 -62
  416. package/templates/workflows/go-lint.yml +39 -39
  417. package/templates/workflows/go-publish.yml +95 -95
  418. package/templates/workflows/go-test.yml +59 -59
  419. package/templates/workflows/java-lint.yml +60 -60
  420. package/templates/workflows/java-publish.yml +120 -120
  421. package/templates/workflows/java-test.yml +85 -85
  422. package/templates/workflows/kotlin-lint.yml +34 -34
  423. package/templates/workflows/kotlin-publish.yml +56 -56
  424. package/templates/workflows/kotlin-test.yml +48 -48
  425. package/templates/workflows/php-lint.yml +39 -39
  426. package/templates/workflows/php-publish.yml +50 -50
  427. package/templates/workflows/php-test.yml +54 -54
  428. package/templates/workflows/python-lint.yml +47 -47
  429. package/templates/workflows/python-publish.yml +91 -91
  430. package/templates/workflows/python-test.yml +59 -59
  431. package/templates/workflows/rust-lint.yml +54 -54
  432. package/templates/workflows/rust-publish.yml +66 -66
  433. package/templates/workflows/rust-test.yml +75 -75
  434. package/templates/workflows/solidity-lint.yml +41 -41
  435. package/templates/workflows/solidity-test.yml +47 -47
  436. package/templates/workflows/swift-lint.yml +32 -32
  437. package/templates/workflows/swift-publish.yml +58 -58
  438. package/templates/workflows/swift-test.yml +44 -44
  439. package/templates/workflows/typescript-publish.yml +60 -60
  440. package/templates/workflows/typescript-test.yml +73 -73
  441. package/templates/workflows/zig-lint.yml +27 -27
  442. package/templates/workflows/zig-test.yml +40 -40
  443. package/dist/hooks/terse-activate.d.ts +0 -59
  444. package/dist/hooks/terse-activate.d.ts.map +0 -1
  445. package/dist/hooks/terse-activate.js +0 -149
  446. package/dist/hooks/terse-activate.js.map +0 -1
  447. package/dist/hooks/terse-config.d.ts +0 -51
  448. package/dist/hooks/terse-config.d.ts.map +0 -1
  449. package/dist/hooks/terse-config.js +0 -130
  450. package/dist/hooks/terse-config.js.map +0 -1
  451. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  452. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  453. package/dist/hooks/terse-mode-tracker.js +0 -213
  454. package/dist/hooks/terse-mode-tracker.js.map +0 -1
@@ -1,44 +1,44 @@
1
- name: Swift Tests
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- test:
11
- runs-on: macos-latest
12
-
13
- strategy:
14
- matrix:
15
- swift-version: [ '5.10' ]
16
-
17
- steps:
18
- - uses: actions/checkout@v5
19
-
20
- - name: Select Xcode version
21
- run: sudo xcode-select -s /Applications/Xcode_15.2.app
22
-
23
- - name: Swift version
24
- run: swift --version
25
-
26
- - name: Build
27
- run: swift build -v
28
-
29
- - name: Run tests
30
- run: swift test -v --enable-code-coverage
31
-
32
- - name: Generate coverage report
33
- run: |
34
- xcrun llvm-cov export -format="lcov" \
35
- .build/debug/YourPackagePackageTests.xctest/Contents/MacOS/YourPackagePackageTests \
36
- -instr-profile .build/debug/codecov/default.profdata > coverage.lcov
37
-
38
- - name: Upload coverage to Codecov
39
- uses: codecov/codecov-action@v4
40
- with:
41
- files: ./coverage.lcov
42
- flags: unittests
43
- fail_ci_if_error: false
44
-
1
+ name: Swift Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: macos-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ swift-version: [ '5.10' ]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v5
19
+
20
+ - name: Select Xcode version
21
+ run: sudo xcode-select -s /Applications/Xcode_15.2.app
22
+
23
+ - name: Swift version
24
+ run: swift --version
25
+
26
+ - name: Build
27
+ run: swift build -v
28
+
29
+ - name: Run tests
30
+ run: swift test -v --enable-code-coverage
31
+
32
+ - name: Generate coverage report
33
+ run: |
34
+ xcrun llvm-cov export -format="lcov" \
35
+ .build/debug/YourPackagePackageTests.xctest/Contents/MacOS/YourPackagePackageTests \
36
+ -instr-profile .build/debug/codecov/default.profdata > coverage.lcov
37
+
38
+ - name: Upload coverage to Codecov
39
+ uses: codecov/codecov-action@v4
40
+ with:
41
+ files: ./coverage.lcov
42
+ flags: unittests
43
+ fail_ci_if_error: false
44
+
@@ -1,60 +1,60 @@
1
- name: Publish to npm
2
-
3
- on:
4
- release:
5
- types: [published]
6
- workflow_dispatch:
7
- inputs:
8
- tag:
9
- description: 'Tag to publish (e.g., v1.0.0)'
10
- required: true
11
-
12
- jobs:
13
- publish:
14
- runs-on: ubuntu-latest
15
- permissions:
16
- contents: read
17
- id-token: write # For npm provenance
18
-
19
- steps:
20
- - uses: actions/checkout@v5
21
- with:
22
- ref: ${{ github.event.inputs.tag || github.ref }}
23
-
24
- # IMPORTANT: For cache to work, you MUST commit package-lock.json
25
- # Remove package-lock.json from .gitignore if needed
26
-
27
- - name: Setup Node.js
28
- uses: actions/setup-node@v4
29
- with:
30
- node-version: '20.x'
31
- registry-url: 'https://registry.npmjs.org'
32
- cache: 'npm'
33
-
34
- - name: Install dependencies
35
- run: npm ci
36
-
37
- - name: Run tests
38
- run: npm test
39
-
40
- - name: Build
41
- run: npm run build
42
-
43
- - name: Verify package contents
44
- run: |
45
- npm pack --dry-run
46
- echo "Package contents verified"
47
-
48
- - name: Publish to npm
49
- run: npm publish --provenance --access public
50
- env:
51
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
52
-
53
- - name: Create GitHub Release Notes
54
- if: github.event_name == 'release'
55
- uses: actions/github-script@v7
56
- with:
57
- script: |
58
- const package = require('./package.json');
59
- console.log(`Published ${package.name}@${package.version} to npm`);
60
-
1
+ name: Publish to npm
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+ inputs:
8
+ tag:
9
+ description: 'Tag to publish (e.g., v1.0.0)'
10
+ required: true
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ contents: read
17
+ id-token: write # For npm provenance
18
+
19
+ steps:
20
+ - uses: actions/checkout@v5
21
+ with:
22
+ ref: ${{ github.event.inputs.tag || github.ref }}
23
+
24
+ # IMPORTANT: For cache to work, you MUST commit package-lock.json
25
+ # Remove package-lock.json from .gitignore if needed
26
+
27
+ - name: Setup Node.js
28
+ uses: actions/setup-node@v4
29
+ with:
30
+ node-version: '20.x'
31
+ registry-url: 'https://registry.npmjs.org'
32
+ cache: 'npm'
33
+
34
+ - name: Install dependencies
35
+ run: npm ci
36
+
37
+ - name: Run tests
38
+ run: npm test
39
+
40
+ - name: Build
41
+ run: npm run build
42
+
43
+ - name: Verify package contents
44
+ run: |
45
+ npm pack --dry-run
46
+ echo "Package contents verified"
47
+
48
+ - name: Publish to npm
49
+ run: npm publish --provenance --access public
50
+ env:
51
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
52
+
53
+ - name: Create GitHub Release Notes
54
+ if: github.event_name == 'release'
55
+ uses: actions/github-script@v7
56
+ with:
57
+ script: |
58
+ const package = require('./package.json');
59
+ console.log(`Published ${package.name}@${package.version} to npm`);
60
+
@@ -1,73 +1,73 @@
1
- name: TypeScript Tests
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ${{ matrix.os }}
12
- strategy:
13
- fail-fast: false # See all platform results even if one fails
14
- matrix:
15
- os: [ ubuntu-latest, windows-latest, macos-latest ]
16
- node-version: [ 18.x, 20.x ]
17
-
18
- steps:
19
- - uses: actions/checkout@v5
20
-
21
- # IMPORTANT: For cache to work, you MUST commit package-lock.json
22
- # Remove package-lock.json from .gitignore if needed
23
-
24
- # For pnpm projects, add this step before setup-node:
25
- # - name: Install pnpm
26
- # uses: pnpm/action-setup@v3
27
- # with:
28
- # version: 8
29
-
30
- - name: Setup Node.js ${{ matrix.node-version }}
31
- uses: actions/setup-node@v5
32
- with:
33
- node-version: ${{ matrix.node-version }}
34
- # MONOREPO: Uncomment and adjust path if in monorepo subdirectory
35
- # cache: 'npm' # Change to 'pnpm' or 'yarn' as needed
36
- # cache-dependency-path: 'subdirectory/package-lock.json'
37
- # Note: Cache may fail in monorepo - disable if you get path resolution errors
38
-
39
- - name: Install dependencies
40
- # MONOREPO: Add working-directory if in subdirectory
41
- # working-directory: ./subdirectory
42
- run: npm ci # For pnpm: pnpm install --frozen-lockfile | For yarn: yarn install --frozen-lockfile
43
-
44
- - name: Run tests
45
- # MONOREPO: Add working-directory if in subdirectory
46
- # working-directory: ./subdirectory
47
- run: npm test # For pnpm: pnpm test | For yarn: yarn test
48
-
49
- - name: Generate coverage report
50
- # MONOREPO: Add working-directory if in subdirectory
51
- # working-directory: ./subdirectory
52
- run: npm run test:coverage # For pnpm: pnpm run test:coverage | For yarn: yarn test:coverage
53
- continue-on-error: true # Allow workflow to continue if coverage not configured
54
-
55
- - name: Upload coverage to Codecov
56
- uses: codecov/codecov-action@v4
57
- if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x' && github.event_name == 'push'
58
- with:
59
- files: ./coverage/lcov.info
60
- flags: unittests
61
- fail_ci_if_error: false
62
-
63
- - name: Security audit
64
- run: |
65
- echo "Running security audit..."
66
- npm audit --production --audit-level=moderate || true
67
- echo "Checking for outdated dependencies..."
68
- npm outdated || true
69
-
70
- - name: Check for unused dependencies
71
- run: npx depcheck || true
72
- continue-on-error: true
73
-
1
+ name: TypeScript Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ fail-fast: false # See all platform results even if one fails
14
+ matrix:
15
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
16
+ node-version: [ 18.x, 20.x ]
17
+
18
+ steps:
19
+ - uses: actions/checkout@v5
20
+
21
+ # IMPORTANT: For cache to work, you MUST commit package-lock.json
22
+ # Remove package-lock.json from .gitignore if needed
23
+
24
+ # For pnpm projects, add this step before setup-node:
25
+ # - name: Install pnpm
26
+ # uses: pnpm/action-setup@v3
27
+ # with:
28
+ # version: 8
29
+
30
+ - name: Setup Node.js ${{ matrix.node-version }}
31
+ uses: actions/setup-node@v5
32
+ with:
33
+ node-version: ${{ matrix.node-version }}
34
+ # MONOREPO: Uncomment and adjust path if in monorepo subdirectory
35
+ # cache: 'npm' # Change to 'pnpm' or 'yarn' as needed
36
+ # cache-dependency-path: 'subdirectory/package-lock.json'
37
+ # Note: Cache may fail in monorepo - disable if you get path resolution errors
38
+
39
+ - name: Install dependencies
40
+ # MONOREPO: Add working-directory if in subdirectory
41
+ # working-directory: ./subdirectory
42
+ run: npm ci # For pnpm: pnpm install --frozen-lockfile | For yarn: yarn install --frozen-lockfile
43
+
44
+ - name: Run tests
45
+ # MONOREPO: Add working-directory if in subdirectory
46
+ # working-directory: ./subdirectory
47
+ run: npm test # For pnpm: pnpm test | For yarn: yarn test
48
+
49
+ - name: Generate coverage report
50
+ # MONOREPO: Add working-directory if in subdirectory
51
+ # working-directory: ./subdirectory
52
+ run: npm run test:coverage # For pnpm: pnpm run test:coverage | For yarn: yarn test:coverage
53
+ continue-on-error: true # Allow workflow to continue if coverage not configured
54
+
55
+ - name: Upload coverage to Codecov
56
+ uses: codecov/codecov-action@v4
57
+ if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x' && github.event_name == 'push'
58
+ with:
59
+ files: ./coverage/lcov.info
60
+ flags: unittests
61
+ fail_ci_if_error: false
62
+
63
+ - name: Security audit
64
+ run: |
65
+ echo "Running security audit..."
66
+ npm audit --production --audit-level=moderate || true
67
+ echo "Checking for outdated dependencies..."
68
+ npm outdated || true
69
+
70
+ - name: Check for unused dependencies
71
+ run: npx depcheck || true
72
+ continue-on-error: true
73
+
@@ -1,27 +1,27 @@
1
- name: Zig Lint
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v5
15
-
16
- - name: Setup Zig
17
- uses: goto-bus-stop/setup-zig@v2
18
- with:
19
- version: '0.13.0'
20
-
21
- - name: Check formatting
22
- run: zig fmt --check src/ tests/
23
-
24
- - name: Build check
25
- run: zig build -Doptimize=ReleaseFast
26
-
27
-
1
+ name: Zig Lint
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v5
15
+
16
+ - name: Setup Zig
17
+ uses: goto-bus-stop/setup-zig@v2
18
+ with:
19
+ version: '0.13.0'
20
+
21
+ - name: Check formatting
22
+ run: zig fmt --check src/ tests/
23
+
24
+ - name: Build check
25
+ run: zig build -Doptimize=ReleaseFast
26
+
27
+
@@ -1,40 +1,40 @@
1
- name: Zig Tests
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ${{ matrix.os }}
12
- strategy:
13
- matrix:
14
- os: [ ubuntu-latest, windows-latest, macos-latest ]
15
- zig-version: [ '0.13.0', 'master' ]
16
-
17
- steps:
18
- - uses: actions/checkout@v5
19
-
20
- - name: Setup Zig
21
- uses: goto-bus-stop/setup-zig@v2
22
- with:
23
- version: ${{ matrix.zig-version }}
24
-
25
- - name: Build (Debug)
26
- run: zig build -Doptimize=Debug
27
-
28
- - name: Build (ReleaseSafe)
29
- run: zig build -Doptimize=ReleaseSafe
30
-
31
- - name: Build (ReleaseFast)
32
- run: zig build -Doptimize=ReleaseFast
33
-
34
- - name: Run tests
35
- run: zig build test
36
-
37
- - name: Test with coverage
38
- run: zig build test --summary all
39
-
40
-
1
+ name: Zig Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ matrix:
14
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
15
+ zig-version: [ '0.13.0', 'master' ]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v5
19
+
20
+ - name: Setup Zig
21
+ uses: goto-bus-stop/setup-zig@v2
22
+ with:
23
+ version: ${{ matrix.zig-version }}
24
+
25
+ - name: Build (Debug)
26
+ run: zig build -Doptimize=Debug
27
+
28
+ - name: Build (ReleaseSafe)
29
+ run: zig build -Doptimize=ReleaseSafe
30
+
31
+ - name: Build (ReleaseFast)
32
+ run: zig build -Doptimize=ReleaseFast
33
+
34
+ - name: Run tests
35
+ run: zig build test
36
+
37
+ - name: Test with coverage
38
+ run: zig build test --summary all
39
+
40
+
@@ -1,59 +0,0 @@
1
- /**
2
- * Claude Code SessionStart hook for rulebook-terse.
3
- *
4
- * Runs once per session. Responsibilities:
5
- *
6
- * 1. Resolve the active intensity mode (env → project config →
7
- * user-global config → tier default → `brief`).
8
- * 2. Write the mode to `<project>/.rulebook/.terse-mode` using
9
- * `safeWriteFlag`.
10
- * 3. Read the invocable `rulebook-terse` SKILL.md, filter the
11
- * intensity table + examples down to only the active level's
12
- * rows, and emit the filtered body to stdout.
13
- *
14
- * Claude Code treats SessionStart stdout as hidden `additionalContext`
15
- * — the user never sees the injection in their transcript, but the
16
- * model's system context now carries the compression rules.
17
- *
18
- * Silent-fails on every filesystem error. A broken hook must NEVER
19
- * prevent session start.
20
- */
21
- import { type TerseMode } from './safe-flag-io.js';
22
- /**
23
- * Strip YAML frontmatter from a SKILL.md body. Returns the body as-is
24
- * if no frontmatter is present.
25
- */
26
- export declare function stripFrontmatter(content: string): string;
27
- /**
28
- * Filter the intensity table + worked-example rows to keep only the
29
- * active level's row. The SKILL.md has six intensity-level rows but
30
- * the model only needs the one it will use this session; keeping all
31
- * six wastes context and invites cross-level confusion.
32
- *
33
- * Rows start with `| **<level>** |` for the table and `- **<level>**:`
34
- * for the examples. The table header + separator rows pass through
35
- * unchanged because they don't match the level-row pattern.
36
- */
37
- export declare function filterSkillForLevel(body: string, level: TerseMode): string;
38
- /**
39
- * Build the full SessionStart stdout payload.
40
- */
41
- export declare function buildSessionStartOutput(args: {
42
- mode: TerseMode;
43
- skillBody: string | null;
44
- }): string;
45
- /**
46
- * Read the installed `rulebook-terse` SKILL.md. Returns the raw content
47
- * on success, or null if no candidate path resolves.
48
- */
49
- export declare function loadSkillBody(projectRoot: string): string | null;
50
- /**
51
- * CLI entry for the SessionStart hook. Always exits 0 — any failure
52
- * silently falls back to a no-op so session start is never blocked.
53
- */
54
- export declare function main(options?: {
55
- projectRoot?: string;
56
- env?: NodeJS.ProcessEnv;
57
- stdout?: NodeJS.WriteStream;
58
- }): void;
59
- //# sourceMappingURL=terse-activate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terse-activate.d.ts","sourceRoot":"","sources":["../../src/hooks/terse-activate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAyBlE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAoB1E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,CAOT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAehE;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAClB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CACxB,GACL,IAAI,CA0BN"}