create-claude-cabinet 0.6.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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +196 -0
  3. package/bin/create-claude-cabinet.js +8 -0
  4. package/lib/cli.js +624 -0
  5. package/lib/copy.js +152 -0
  6. package/lib/db-setup.js +51 -0
  7. package/lib/metadata.js +42 -0
  8. package/lib/reset.js +193 -0
  9. package/lib/settings-merge.js +93 -0
  10. package/package.json +29 -0
  11. package/templates/EXTENSIONS.md +311 -0
  12. package/templates/README.md +485 -0
  13. package/templates/briefing/_briefing-api-template.md +21 -0
  14. package/templates/briefing/_briefing-architecture-template.md +16 -0
  15. package/templates/briefing/_briefing-cabinet-template.md +20 -0
  16. package/templates/briefing/_briefing-identity-template.md +18 -0
  17. package/templates/briefing/_briefing-scopes-template.md +39 -0
  18. package/templates/briefing/_briefing-template.md +148 -0
  19. package/templates/briefing/_briefing-work-tracking-template.md +18 -0
  20. package/templates/cabinet/committees-template.yaml +49 -0
  21. package/templates/cabinet/composition-patterns.md +240 -0
  22. package/templates/cabinet/eval-protocol.md +208 -0
  23. package/templates/cabinet/lifecycle.md +93 -0
  24. package/templates/cabinet/output-contract.md +148 -0
  25. package/templates/cabinet/prompt-guide.md +266 -0
  26. package/templates/hooks/cor-upstream-guard.sh +79 -0
  27. package/templates/hooks/git-guardrails.sh +67 -0
  28. package/templates/hooks/skill-telemetry.sh +66 -0
  29. package/templates/hooks/skill-tool-telemetry.sh +54 -0
  30. package/templates/hooks/stop-hook.md +56 -0
  31. package/templates/memory/patterns/_pattern-template.md +119 -0
  32. package/templates/memory/patterns/pattern-intelligence-first.md +41 -0
  33. package/templates/rules/enforcement-pipeline.md +151 -0
  34. package/templates/scripts/cor-drift-check.cjs +84 -0
  35. package/templates/scripts/finding-schema.json +94 -0
  36. package/templates/scripts/load-triage-history.js +151 -0
  37. package/templates/scripts/merge-findings.js +126 -0
  38. package/templates/scripts/pib-db-schema.sql +68 -0
  39. package/templates/scripts/pib-db.js +365 -0
  40. package/templates/scripts/triage-server.mjs +98 -0
  41. package/templates/scripts/triage-ui.html +536 -0
  42. package/templates/skills/audit/SKILL.md +273 -0
  43. package/templates/skills/audit/phases/finding-output.md +56 -0
  44. package/templates/skills/audit/phases/member-execution.md +83 -0
  45. package/templates/skills/audit/phases/member-selection.md +44 -0
  46. package/templates/skills/audit/phases/structural-checks.md +54 -0
  47. package/templates/skills/audit/phases/triage-history.md +45 -0
  48. package/templates/skills/cabinet-accessibility/SKILL.md +180 -0
  49. package/templates/skills/cabinet-anti-confirmation/SKILL.md +172 -0
  50. package/templates/skills/cabinet-architecture/SKILL.md +279 -0
  51. package/templates/skills/cabinet-boundary-man/SKILL.md +265 -0
  52. package/templates/skills/cabinet-cor-health/SKILL.md +342 -0
  53. package/templates/skills/cabinet-data-integrity/SKILL.md +157 -0
  54. package/templates/skills/cabinet-debugger/SKILL.md +221 -0
  55. package/templates/skills/cabinet-historian/SKILL.md +253 -0
  56. package/templates/skills/cabinet-organized-mind/SKILL.md +338 -0
  57. package/templates/skills/cabinet-process-therapist/SKILL.md +261 -0
  58. package/templates/skills/cabinet-qa/SKILL.md +205 -0
  59. package/templates/skills/cabinet-record-keeper/SKILL.md +168 -0
  60. package/templates/skills/cabinet-roster-check/SKILL.md +297 -0
  61. package/templates/skills/cabinet-security/SKILL.md +181 -0
  62. package/templates/skills/cabinet-small-screen/SKILL.md +154 -0
  63. package/templates/skills/cabinet-speed-freak/SKILL.md +169 -0
  64. package/templates/skills/cabinet-system-advocate/SKILL.md +194 -0
  65. package/templates/skills/cabinet-technical-debt/SKILL.md +115 -0
  66. package/templates/skills/cabinet-usability/SKILL.md +189 -0
  67. package/templates/skills/cabinet-workflow-cop/SKILL.md +238 -0
  68. package/templates/skills/cor-upgrade/SKILL.md +302 -0
  69. package/templates/skills/debrief/SKILL.md +409 -0
  70. package/templates/skills/debrief/phases/auto-maintenance.md +48 -0
  71. package/templates/skills/debrief/phases/close-work.md +88 -0
  72. package/templates/skills/debrief/phases/health-checks.md +54 -0
  73. package/templates/skills/debrief/phases/inventory.md +40 -0
  74. package/templates/skills/debrief/phases/loose-ends.md +52 -0
  75. package/templates/skills/debrief/phases/record-lessons.md +67 -0
  76. package/templates/skills/debrief/phases/report.md +59 -0
  77. package/templates/skills/debrief/phases/update-state.md +48 -0
  78. package/templates/skills/debrief/phases/upstream-feedback.md +129 -0
  79. package/templates/skills/debrief-quick/SKILL.md +12 -0
  80. package/templates/skills/execute/SKILL.md +293 -0
  81. package/templates/skills/execute/phases/cabinet.md +49 -0
  82. package/templates/skills/execute/phases/commit-and-deploy.md +66 -0
  83. package/templates/skills/execute/phases/load-plan.md +49 -0
  84. package/templates/skills/execute/phases/validators.md +50 -0
  85. package/templates/skills/execute/phases/verification-tools.md +67 -0
  86. package/templates/skills/extract/SKILL.md +168 -0
  87. package/templates/skills/investigate/SKILL.md +160 -0
  88. package/templates/skills/link/SKILL.md +52 -0
  89. package/templates/skills/menu/SKILL.md +61 -0
  90. package/templates/skills/onboard/SKILL.md +356 -0
  91. package/templates/skills/onboard/phases/detect-state.md +79 -0
  92. package/templates/skills/onboard/phases/generate-briefing.md +127 -0
  93. package/templates/skills/onboard/phases/generate-session-loop.md +87 -0
  94. package/templates/skills/onboard/phases/interview.md +233 -0
  95. package/templates/skills/onboard/phases/modularity-menu.md +162 -0
  96. package/templates/skills/onboard/phases/options.md +98 -0
  97. package/templates/skills/onboard/phases/post-onboard-audit.md +121 -0
  98. package/templates/skills/onboard/phases/summary.md +122 -0
  99. package/templates/skills/onboard/phases/work-tracking.md +231 -0
  100. package/templates/skills/orient/SKILL.md +251 -0
  101. package/templates/skills/orient/phases/auto-maintenance.md +48 -0
  102. package/templates/skills/orient/phases/briefing.md +53 -0
  103. package/templates/skills/orient/phases/cabinet.md +46 -0
  104. package/templates/skills/orient/phases/context.md +63 -0
  105. package/templates/skills/orient/phases/data-sync.md +35 -0
  106. package/templates/skills/orient/phases/health-checks.md +50 -0
  107. package/templates/skills/orient/phases/work-scan.md +69 -0
  108. package/templates/skills/orient-quick/SKILL.md +12 -0
  109. package/templates/skills/plan/SKILL.md +358 -0
  110. package/templates/skills/plan/phases/cabinet-critique.md +47 -0
  111. package/templates/skills/plan/phases/calibration-examples.md +75 -0
  112. package/templates/skills/plan/phases/completeness-check.md +44 -0
  113. package/templates/skills/plan/phases/composition-check.md +36 -0
  114. package/templates/skills/plan/phases/overlap-check.md +62 -0
  115. package/templates/skills/plan/phases/plan-template.md +69 -0
  116. package/templates/skills/plan/phases/present.md +60 -0
  117. package/templates/skills/plan/phases/research.md +43 -0
  118. package/templates/skills/plan/phases/work-tracker.md +95 -0
  119. package/templates/skills/publish/SKILL.md +74 -0
  120. package/templates/skills/pulse/SKILL.md +242 -0
  121. package/templates/skills/pulse/phases/auto-fix-scope.md +40 -0
  122. package/templates/skills/pulse/phases/checks.md +58 -0
  123. package/templates/skills/pulse/phases/output.md +54 -0
  124. package/templates/skills/seed/SKILL.md +257 -0
  125. package/templates/skills/seed/phases/build-member.md +93 -0
  126. package/templates/skills/seed/phases/evaluate-existing.md +61 -0
  127. package/templates/skills/seed/phases/maintain.md +92 -0
  128. package/templates/skills/seed/phases/scan-signals.md +86 -0
  129. package/templates/skills/triage-audit/SKILL.md +251 -0
  130. package/templates/skills/triage-audit/phases/apply-verdicts.md +90 -0
  131. package/templates/skills/triage-audit/phases/load-findings.md +38 -0
  132. package/templates/skills/triage-audit/phases/triage-ui.md +66 -0
  133. package/templates/skills/unlink/SKILL.md +35 -0
  134. package/templates/skills/validate/SKILL.md +116 -0
  135. package/templates/skills/validate/phases/validators.md +53 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Oren Magid
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,196 @@
1
+ # Claude Cabinet
2
+
3
+ A cabinet of expert advisors for your Claude Code project. One command
4
+ gives Claude a memory, 20 domain experts, a planning process, and the
5
+ habit of starting sessions informed and ending them properly.
6
+
7
+ Built by a guy who'd rather talk to Claude than write code. Most of it
8
+ was built by Claude. I just complained until it worked.
9
+
10
+ ## The Idea
11
+
12
+ Your project gets a cabinet — specialist advisors who each own a domain
13
+ and weigh in when their expertise matters:
14
+
15
+ - **Cabinet members** — 20 domain experts (security, accessibility,
16
+ architecture, QA, etc.) who review your project and surface what
17
+ you'd miss alone
18
+ - **Briefings** — project context members read before weighing in
19
+ - **Committees** — members grouped by concern so you convene the right
20
+ experts for the right question
21
+ - **The session loop** — `/orient` briefs you at the start, `/debrief`
22
+ closes the loop for next time
23
+
24
+ ## Install
25
+
26
+ Open a terminal, `cd` into your project folder, and run:
27
+
28
+ ```bash
29
+ curl -fsSL https://raw.githubusercontent.com/orenmagid/claude-on-rails/main/install.sh | bash
30
+ ```
31
+
32
+ That's it. If you don't have git or Node.js, it installs them.
33
+ No choices to make — it sets up everything.
34
+
35
+ Then open [Claude Code](https://claude.ai/code) in the same folder and
36
+ say `/onboard`. It'll interview you about your project and set everything
37
+ up based on your answers.
38
+
39
+ **New to this?** See [GETTING-STARTED.md](GETTING-STARTED.md) for a
40
+ step-by-step walkthrough.
41
+
42
+ ### For developers
43
+
44
+ If you have Node.js installed and want interactive module selection,
45
+ database setup, or the full install:
46
+
47
+ ```bash
48
+ npx create-claude-cabinet
49
+ ```
50
+
51
+ The CLI walks you through module selection, copies skill files,
52
+ sets up hooks, and optionally installs a local SQLite work tracker. When
53
+ it's done, open Claude Code and run `/onboard`.
54
+
55
+ ## What You Get
56
+
57
+ ### The Session Loop (always installed)
58
+ - **`/orient`** — session briefing. Reads project state, checks health,
59
+ surfaces what needs attention. Every session starts informed.
60
+ - **`/debrief`** — session close. Marks work done, records lessons,
61
+ updates state. Every session closes the loop so the next one starts
62
+ clean.
63
+
64
+ ### The Cabinet (opt-in)
65
+ 20 expert cabinet members who audit your project from their domain:
66
+ **speed-freak** watches performance, **boundary-man** catches edge cases,
67
+ **record-keeper** flags when docs drift from code, **workflow-cop**
68
+ evaluates whether your process actually works. Each member has a
69
+ portfolio, stays in it, and produces structured findings you can
70
+ triage. Convene the whole cabinet or just the committee you need.
71
+
72
+ ### Planning + Execution (opt-in)
73
+ - **`/plan`** — structured planning with cabinet critique. Before you
74
+ build, the relevant members weigh in on your approach.
75
+ - **`/execute`** — step-through execution with checkpoints. Cabinet
76
+ members watch at each stage.
77
+
78
+ ### Work Tracking (opt-in)
79
+ Local SQLite database for actions, projects, and status tracking. Claude
80
+ reads and writes it directly — no external service needed. Skip this if
81
+ you already use GitHub Issues, Linear, or something else.
82
+
83
+ ### Compliance Stack (opt-in)
84
+ Scoped instructions in `.claude/rules/` that load by file path. An
85
+ enforcement pipeline that promotes recurring feedback into deterministic
86
+ hooks — things that keep going wrong become things that can't go wrong.
87
+
88
+ ### Lifecycle (opt-in)
89
+ - **`/onboard`** — conversational project interview, re-runnable as the
90
+ project matures.
91
+ - **`/seed`** — detects new tech in your project, recruits cabinet
92
+ members with the right expertise.
93
+ - **`/cor-upgrade`** — conversational merge when Claude Cabinet updates.
94
+
95
+ ## How It Works
96
+
97
+ The CLI handles mechanical setup: copying files, merging settings,
98
+ installing dependencies. `/onboard` handles intelligent configuration:
99
+ it interviews you about your project and generates the briefings your
100
+ cabinet needs — who you are, what you're building, what the architecture
101
+ looks like, where things live.
102
+
103
+ Everything is customizable through **phase files** — small markdown files
104
+ that override default behavior for any skill. Write content in a phase
105
+ file to customize it, write `skip: true` to disable it, or leave it
106
+ absent to use the default. No config files, no YAML, no DSL.
107
+
108
+ ## CLI Options
109
+
110
+ ```
111
+ npx create-claude-cabinet # Interactive walkthrough
112
+ npx create-claude-cabinet my-project # Install in ./my-project/
113
+ npx create-claude-cabinet --yes # Accept all defaults
114
+ npx create-claude-cabinet --yes --no-db # All defaults, skip database
115
+ npx create-claude-cabinet --dry-run # Preview without writing files
116
+ ```
117
+
118
+ ## What Gets Installed
119
+
120
+ Everything goes into `.claude/` or `scripts/`. Nothing touches your
121
+ source code.
122
+
123
+ ```
124
+ .claude/
125
+ ├── skills/ # orient, debrief, plan, execute, audit, etc.
126
+ │ └── cabinet-*/ # 20 cabinet member definitions
127
+ ├── cabinet/ # committees, lifecycle, composition patterns
128
+ ├── briefing/ # project briefing templates
129
+ ├── hooks/ # git guardrails, telemetry
130
+ ├── rules/ # enforcement pipeline
131
+ ├── memory/ # pattern templates
132
+ └── settings.json # hook configuration
133
+
134
+ scripts/
135
+ ├── pib-db.js # work tracking CLI (if installed)
136
+ └── ... # triage tools (if audit installed)
137
+
138
+ .corrc.json # installation metadata
139
+ ```
140
+
141
+ ## Upgrading
142
+
143
+ Re-run the installer to pick up new versions:
144
+
145
+ ```bash
146
+ # Shell installer (re-downloads latest)
147
+ curl -fsSL https://raw.githubusercontent.com/orenmagid/claude-on-rails/main/install.sh | bash
148
+
149
+ # npm installer (if using Node.js)
150
+ npx create-claude-cabinet
151
+ ```
152
+
153
+ In Claude Code, run `/cor-upgrade` for conversational merge of upstream
154
+ changes with your customizations.
155
+
156
+ ## Works Across Projects
157
+
158
+ Claude Cabinet isn't just for one project — it manages how you work
159
+ with Claude everywhere.
160
+
161
+ - **Your identity** (`~/.claude/CLAUDE.md`) — set up once, carries to
162
+ every project. Claude always knows who you are and what you do.
163
+ - **Project registry** (`~/.claude/cor-registry.json`) — tracks all
164
+ your projects. `/onboard` asks how they relate; `/orient` flags
165
+ when work in one might affect another.
166
+ - **Debrief maintenance** — if you mention something new about yourself
167
+ or your project evolves, `/debrief` proposes updating your profile
168
+ and registry so the next session starts current.
169
+
170
+ Install in each project folder. They're independent but aware of each
171
+ other.
172
+
173
+ ## Philosophy
174
+
175
+ This started as the process layer of [Flow](https://github.com/orenmagid/flow),
176
+ a cognitive workspace built on Claude Code over months of daily use. The
177
+ patterns that emerged — the session loop, cabinet-style audits, feedback
178
+ enforcement — turned out to be transferable to any project.
179
+
180
+ The core idea: Claude Code is powerful, but without process, each session
181
+ starts from zero. The session loop creates continuity. The cabinet catches
182
+ problems before they ship. The enforcement pipeline turns recurring
183
+ mistakes into permanent fixes.
184
+
185
+ None of this requires you to be a developer. I'm barely one myself. The
186
+ onboarding interview meets you where you are, and the system adapts
187
+ based on what you tell it.
188
+
189
+ This is very much a work in progress. Things will break. The session
190
+ loop is solid; everything else is still finding its shape. If you try it
191
+ and something's weird, that's not you — it's probably me. Or Claude.
192
+ We're figuring it out together.
193
+
194
+ ## License
195
+
196
+ MIT
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { run } = require('../lib/cli');
4
+
5
+ run().catch(err => {
6
+ console.error('\n❌ Error:', err.message);
7
+ process.exit(1);
8
+ });