create-claude-cabinet 0.19.0 → 0.19.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-claude-cabinet",
3
- "version": "0.19.0",
3
+ "version": "0.19.2",
4
4
  "description": "Claude Cabinet — opinionated process scaffolding for Claude Code projects",
5
5
  "bin": {
6
6
  "create-claude-cabinet": "bin/create-claude-cabinet.js"
@@ -77,7 +77,11 @@ Implement the promoted rule at its target layer:
77
77
  `.claude/rules/` file
78
78
  - **Hook promotion:** Add to `.claude/settings.json` hooks section.
79
79
  Command hooks for deterministic checks, prompt hooks for semantic
80
- evaluation.
80
+ evaluation. **Tooling:** The `hookify` plugin (`claude plugins install
81
+ hookify`) can generate hooks from natural language — run `/hookify`
82
+ with a description or let it auto-generate rules from corrected
83
+ behaviors in the current session. Useful for rapid promotion without
84
+ hand-writing shell scripts.
81
85
  - **Structural encoding:** Modify API, schema, or validation to reject
82
86
  invalid states directly
83
87
 
@@ -188,6 +188,18 @@ export function completeAction(db, { fid }) {
188
188
  return { fid, message: `Completed ${fid}` };
189
189
  }
190
190
 
191
+ export function getAction(db, { fid }) {
192
+ if (!fid) return { error: 'fid is required' };
193
+ const row = db.prepare(`
194
+ SELECT a.*, p.name as project_name
195
+ FROM actions a
196
+ LEFT JOIN projects p ON a.project_fid = p.fid
197
+ WHERE a.fid = ? AND a.deleted_at IS NULL
198
+ `).get(fid);
199
+ if (!row) return { error: `No action found with fid: ${fid}` };
200
+ return row;
201
+ }
202
+
191
203
  // ---------------------------------------------------------------------------
192
204
  // Projects
193
205
  // ---------------------------------------------------------------------------
@@ -108,6 +108,17 @@ const TOOLS = [
108
108
  required: ['fid'],
109
109
  },
110
110
  },
111
+ {
112
+ name: 'pib_get_action',
113
+ description: 'Get full details of a single action by fid, including complete notes, all fields.',
114
+ inputSchema: {
115
+ type: 'object',
116
+ properties: {
117
+ fid: { type: 'string', description: 'Action fid (e.g. act:abc12345)' },
118
+ },
119
+ required: ['fid'],
120
+ },
121
+ },
111
122
  {
112
123
  name: 'pib_ingest_findings',
113
124
  description: 'Ingest audit findings from a run directory containing run-summary.json.',
@@ -177,6 +188,8 @@ function handleToolCall(name, args) {
177
188
  return lib.updateAction(d, args);
178
189
  case 'pib_complete_action':
179
190
  return lib.completeAction(d, args);
191
+ case 'pib_get_action':
192
+ return lib.getAction(d, args);
180
193
  case 'pib_ingest_findings':
181
194
  return lib.ingestFindings(d, args);
182
195
  case 'pib_triage':