@grimoire-cc/cli 0.14.0 → 0.15.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 (53) hide show
  1. package/dist/bin.js +15 -5
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/agent-paths.d.ts +11 -0
  4. package/dist/commands/agent-paths.d.ts.map +1 -0
  5. package/dist/commands/agent-paths.js +69 -0
  6. package/dist/commands/agent-paths.js.map +1 -0
  7. package/dist/commands/agent-skills.d.ts +10 -0
  8. package/dist/commands/agent-skills.d.ts.map +1 -0
  9. package/dist/commands/agent-skills.js +159 -0
  10. package/dist/commands/agent-skills.js.map +1 -0
  11. package/dist/commands/config.d.ts +7 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +62 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/list.d.ts.map +1 -1
  16. package/dist/commands/list.js +237 -75
  17. package/dist/commands/list.js.map +1 -1
  18. package/dist/commands/update.d.ts +1 -2
  19. package/dist/commands/update.d.ts.map +1 -1
  20. package/dist/commands/update.js +12 -8
  21. package/dist/commands/update.js.map +1 -1
  22. package/dist/enforce.d.ts +8 -10
  23. package/dist/enforce.d.ts.map +1 -1
  24. package/dist/enforce.js +38 -17
  25. package/dist/enforce.js.map +1 -1
  26. package/dist/frontmatter.d.ts +16 -0
  27. package/dist/frontmatter.d.ts.map +1 -0
  28. package/dist/frontmatter.js +74 -0
  29. package/dist/frontmatter.js.map +1 -0
  30. package/dist/grimoire-config.d.ts +6 -0
  31. package/dist/grimoire-config.d.ts.map +1 -0
  32. package/dist/grimoire-config.js +23 -0
  33. package/dist/grimoire-config.js.map +1 -0
  34. package/dist/prompt.d.ts.map +1 -1
  35. package/dist/prompt.js +13 -8
  36. package/dist/prompt.js.map +1 -1
  37. package/dist/remove.d.ts +4 -0
  38. package/dist/remove.d.ts.map +1 -1
  39. package/dist/remove.js +8 -0
  40. package/dist/remove.js.map +1 -1
  41. package/dist/resolve.d.ts.map +1 -1
  42. package/dist/resolve.js +12 -5
  43. package/dist/resolve.js.map +1 -1
  44. package/dist/setup.d.ts.map +1 -1
  45. package/dist/setup.js +4 -8
  46. package/dist/setup.js.map +1 -1
  47. package/package.json +1 -1
  48. package/packs/frontend-pack/agents/grimoire.angular-coder.md +193 -0
  49. package/packs/frontend-pack/grimoire.json +7 -0
  50. package/dist/commands/enforce-agent.d.ts +0 -5
  51. package/dist/commands/enforce-agent.d.ts.map +0 -1
  52. package/dist/commands/enforce-agent.js +0 -94
  53. package/dist/commands/enforce-agent.js.map +0 -1
@@ -2,6 +2,15 @@ import { existsSync, readFileSync, readdirSync, statSync } from 'fs';
2
2
  import { basename, join } from 'path';
3
3
  import * as clack from '@clack/prompts';
4
4
  import { readManifest } from '../enforce.js';
5
+ import { parseAgentSkills } from '../frontmatter.js';
6
+ import { removeSingleItem } from '../remove.js';
7
+ import { checkUpdates } from './update.js';
8
+ import { copyItems } from '../copy.js';
9
+ import { runConfig } from './config.js';
10
+ import { runAgentSkillsFor } from './agent-skills.js';
11
+ import { runAgentPathsFor } from './agent-paths.js';
12
+ import { readGrimoireConfig } from '../grimoire-config.js';
13
+ import { ensureEnforceHooks, removeSubagentHooksFor } from '../enforce.js';
5
14
  function readAgentFullMeta(agentPath) {
6
15
  let content;
7
16
  try {
@@ -59,9 +68,13 @@ function wrapText(text, maxWidth) {
59
68
  return lines.join('\n');
60
69
  }
61
70
  function formatDescription(raw) {
62
- const maxWidth = Math.max(40, (process.stdout.columns ?? 80) - 4);
63
- const unescaped = raw.replace(/\\n/g, '\n');
64
- const stripped = unescaped.replace(/<example>[\s\S]*?<\/example>/g, '').trim();
71
+ const maxWidth = Math.max(40, (process.stdout.columns ?? 80) - 6);
72
+ const unescaped = raw.replace(/\\+n/g, '\n');
73
+ const stripped = unescaped
74
+ .replace(/<example>[\s\S]*?<\/example>/g, '')
75
+ .replace(/Examples?\s+of\s+when\s+to\s+use\s+this\s+agent\s*:?\s*/gi, '')
76
+ .replace(/\n*Examples?\s*:\s*$/i, '')
77
+ .trim();
65
78
  return stripped
66
79
  .split('\n')
67
80
  .map((line) => (line.trim() === '' ? '' : wrapText(line, maxWidth)))
@@ -69,15 +82,220 @@ function formatDescription(raw) {
69
82
  .replace(/\n{3,}/g, '\n\n')
70
83
  .trim();
71
84
  }
85
+ // --- Detail display helpers ---
86
+ function buildAgentDetail(agentsDir, name, filePatterns) {
87
+ const agentPath = join(agentsDir, `${name}.md`);
88
+ const meta = readAgentFullMeta(agentPath);
89
+ const desc = formatDescription(meta.description || '');
90
+ const lines = [];
91
+ if (desc)
92
+ lines.push(desc);
93
+ lines.push(`Model: ${meta.model || 'inherit'}`);
94
+ try {
95
+ const content = readFileSync(agentPath, 'utf-8');
96
+ const skills = parseAgentSkills(content);
97
+ if (skills.length > 0) {
98
+ lines.push(`Skills: ${skills.join(', ')}`);
99
+ }
100
+ }
101
+ catch { /* no skills */ }
102
+ const ep = filePatterns?.length ? filePatterns.join(', ') : '(none)';
103
+ lines.push(`Enforcement paths: ${ep}`);
104
+ return lines.join('\n');
105
+ }
106
+ function buildSkillDetail(skillsDir, name, skillTriggers, skillManifestDescs) {
107
+ const rawDesc = readSkillDescription(join(skillsDir, name, 'SKILL.md')) ||
108
+ skillManifestDescs.get(name) ||
109
+ '';
110
+ const triggers = skillTriggers.get(name);
111
+ const desc = formatDescription(rawDesc);
112
+ const kw = triggers?.keywords?.length ? triggers.keywords.join(', ') : '(none)';
113
+ const ext = triggers?.file_extensions?.length ? triggers.file_extensions.join(', ') : '(none)';
114
+ const pat = triggers?.patterns?.length ? triggers.patterns.join(', ') : '(none)';
115
+ const fp = triggers?.file_paths?.length ? triggers.file_paths.join(', ') : '(none)';
116
+ const lines = [];
117
+ if (desc)
118
+ lines.push(desc);
119
+ lines.push(`Keywords: ${kw}`);
120
+ lines.push(`File extensions: ${ext}`);
121
+ lines.push(`Patterns: ${pat}`);
122
+ lines.push(`File paths: ${fp}`);
123
+ return lines.join('\n');
124
+ }
72
125
  // --- Main command ---
73
126
  export async function runList(projectDir) {
74
127
  const agentsDir = join(projectDir, '.claude', 'agents');
75
128
  const skillsDir = join(projectDir, '.claude', 'skills');
129
+ // Initial scan to check if anything exists
130
+ const scanResult = scanInstalledItems(projectDir, agentsDir, skillsDir);
131
+ if (!scanResult) {
132
+ clack.log.warn('No grimoire-managed items found. Run `grimoire add` to get started.');
133
+ return;
134
+ }
135
+ // Check for available updates once
136
+ let updateResults = checkUpdates(projectDir);
137
+ let updateMap = buildUpdateMap(updateResults);
138
+ clack.intro('Grimoire — Installed Items');
139
+ // Outer loop — item list
140
+ while (true) {
141
+ const scan = scanInstalledItems(projectDir, agentsDir, skillsDir);
142
+ if (!scan) {
143
+ clack.log.info('No items remaining.');
144
+ break;
145
+ }
146
+ const { agentFiles, skillDirs, skillTriggers, skillManifestDescs } = scan;
147
+ const options = [];
148
+ for (const f of agentFiles) {
149
+ const name = f.replace(/\.md$/, '');
150
+ const meta = readAgentFullMeta(join(agentsDir, f));
151
+ const desc = meta.description;
152
+ options.push({
153
+ value: { kind: 'agent', name },
154
+ label: `[agent] ${name}`,
155
+ ...(desc ? { hint: desc.length > 80 ? desc.slice(0, 79) + '…' : desc } : {}),
156
+ });
157
+ }
158
+ for (const d of skillDirs) {
159
+ const desc = readSkillDescription(join(skillsDir, d, 'SKILL.md')) ||
160
+ skillManifestDescs.get(d) ||
161
+ '';
162
+ options.push({
163
+ value: { kind: 'skill', name: d },
164
+ label: `[skill] ${d}`,
165
+ ...(desc ? { hint: desc.length > 80 ? desc.slice(0, 79) + '…' : desc } : {}),
166
+ });
167
+ }
168
+ // Settings option at the bottom
169
+ options.push({
170
+ value: { kind: 'settings' },
171
+ label: '⚙ Settings',
172
+ hint: 'global configuration',
173
+ });
174
+ const selected = await clack.select({
175
+ message: 'Select an item to manage (Ctrl+C to exit)',
176
+ options,
177
+ });
178
+ if (clack.isCancel(selected))
179
+ break;
180
+ // Handle settings
181
+ if (selected.kind === 'settings') {
182
+ await runConfig(projectDir, { quiet: true });
183
+ continue;
184
+ }
185
+ // Show detail and action menu for agent/skill
186
+ const itemName = selected.name;
187
+ const isAgent = selected.kind === 'agent';
188
+ // Show detail via note
189
+ const detail = isAgent
190
+ ? buildAgentDetail(agentsDir, itemName, scan.agentFilePatterns.get(itemName))
191
+ : buildSkillDetail(skillsDir, itemName, skillTriggers, skillManifestDescs);
192
+ clack.note(detail, itemName);
193
+ // Action menu — single action then exit
194
+ const actionOptions = [
195
+ { value: 'remove', label: 'Remove' },
196
+ ];
197
+ const updateInfo = updateMap.get(itemName);
198
+ if (updateInfo?.hasUpdate) {
199
+ actionOptions.push({
200
+ value: 'update',
201
+ label: `Update to v${updateInfo.availableVersion ?? '?'}`,
202
+ hint: `installed: v${updateInfo.installedVersion ?? '?'}`,
203
+ });
204
+ }
205
+ if (isAgent) {
206
+ actionOptions.push({
207
+ value: 'manage-skills',
208
+ label: 'Manage skills',
209
+ });
210
+ actionOptions.push({
211
+ value: 'manage-paths',
212
+ label: 'Manage paths',
213
+ });
214
+ }
215
+ const action = await clack.select({
216
+ message: 'Choose an action',
217
+ options: actionOptions,
218
+ });
219
+ if (clack.isCancel(action))
220
+ break;
221
+ if (action === 'remove') {
222
+ const confirmed = await clack.confirm({
223
+ message: `Remove ${itemName}?`,
224
+ initialValue: false,
225
+ });
226
+ if (!clack.isCancel(confirmed) && confirmed) {
227
+ const item = {
228
+ type: isAgent ? 'agent' : 'skill',
229
+ name: itemName,
230
+ sourcePath: '',
231
+ description: '',
232
+ };
233
+ removeSingleItem(item, projectDir);
234
+ clack.log.success(`Removed ${itemName}.`);
235
+ }
236
+ }
237
+ if (action === 'update') {
238
+ const info = updateMap.get(itemName);
239
+ const item = {
240
+ type: isAgent ? 'agent' : 'skill',
241
+ name: itemName,
242
+ sourcePath: info.sourcePath,
243
+ description: '',
244
+ };
245
+ copyItems([item], info.packDir, projectDir);
246
+ clack.log.success(`Updated ${itemName} to v${info.availableVersion ?? '?'}.`);
247
+ // Re-apply enforce hooks if active
248
+ try {
249
+ const config = readGrimoireConfig(projectDir);
250
+ if (config.enforcement) {
251
+ const manifest = readManifest(projectDir);
252
+ const agentsWithPatterns = Object.entries(manifest.agents)
253
+ .filter(([, entry]) => entry.file_patterns && entry.file_patterns.length > 0)
254
+ .map(([n]) => n);
255
+ if (agentsWithPatterns.length > 0) {
256
+ ensureEnforceHooks(projectDir, agentsWithPatterns);
257
+ }
258
+ }
259
+ }
260
+ catch {
261
+ // No manifest or config
262
+ }
263
+ }
264
+ if (action === 'manage-skills') {
265
+ await runAgentSkillsFor(projectDir, itemName);
266
+ }
267
+ if (action === 'manage-paths') {
268
+ await runAgentPathsFor(projectDir, itemName);
269
+ // Re-sync enforce hooks after path changes
270
+ try {
271
+ const config = readGrimoireConfig(projectDir);
272
+ if (config.enforcement) {
273
+ const manifest = readManifest(projectDir);
274
+ const currentPatterns = manifest.agents[itemName]?.file_patterns ?? [];
275
+ if (currentPatterns.length === 0) {
276
+ removeSubagentHooksFor(projectDir, itemName);
277
+ }
278
+ const agentsWithPatterns = Object.entries(manifest.agents)
279
+ .filter(([, entry]) => entry.file_patterns && entry.file_patterns.length > 0)
280
+ .map(([n]) => n);
281
+ if (agentsWithPatterns.length > 0) {
282
+ ensureEnforceHooks(projectDir, agentsWithPatterns);
283
+ }
284
+ }
285
+ }
286
+ catch {
287
+ // No manifest or config
288
+ }
289
+ }
290
+ break; // exit after any completed action
291
+ }
292
+ clack.outro('Done.');
293
+ }
294
+ // --- Helpers ---
295
+ function scanInstalledItems(projectDir, agentsDir, skillsDir) {
76
296
  let managedAgentNames = null;
77
297
  let managedSkillDirNames = null;
78
- const enforcedAgents = new Set();
79
298
  const agentFilePatterns = new Map();
80
- // skill triggers keyed by dir name
81
299
  const skillTriggers = new Map();
82
300
  const skillManifestDescs = new Map();
83
301
  try {
@@ -85,8 +303,6 @@ export async function runList(projectDir) {
85
303
  managedAgentNames = new Set(Object.keys(manifest.agents));
86
304
  managedSkillDirNames = new Set(manifest.skills.map((s) => basename(s.path)));
87
305
  for (const [name, entry] of Object.entries(manifest.agents)) {
88
- if (entry.enforce)
89
- enforcedAgents.add(name);
90
306
  if (entry.file_patterns?.length)
91
307
  agentFilePatterns.set(name, entry.file_patterns);
92
308
  }
@@ -99,86 +315,32 @@ export async function runList(projectDir) {
99
315
  }
100
316
  }
101
317
  catch {
102
- // manifest absent — nothing was installed by grimoire
318
+ return null;
103
319
  }
104
- const agentNames = managedAgentNames;
105
- const agentFiles = existsSync(agentsDir) && agentNames !== null
320
+ const agentFiles = existsSync(agentsDir) && managedAgentNames !== null
106
321
  ? readdirSync(agentsDir)
107
- .filter((f) => f.endsWith('.md') && agentNames.has(f.replace(/\.md$/, '')))
322
+ .filter((f) => f.endsWith('.md') && managedAgentNames.has(f.replace(/\.md$/, '')))
108
323
  .sort()
109
324
  : [];
110
- const skillDirNames = managedSkillDirNames;
111
- const skillDirs = existsSync(skillsDir) && skillDirNames !== null
325
+ const skillDirs = existsSync(skillsDir) && managedSkillDirNames !== null
112
326
  ? readdirSync(skillsDir)
113
327
  .filter((f) => {
114
328
  const full = join(skillsDir, f);
115
329
  return (statSync(full).isDirectory() &&
116
330
  existsSync(join(full, 'SKILL.md')) &&
117
- skillDirNames.has(f));
331
+ managedSkillDirNames.has(f));
118
332
  })
119
333
  .sort()
120
334
  : [];
121
- if (agentFiles.length === 0 && skillDirs.length === 0) {
122
- clack.log.warn('No grimoire-managed items found. Run `grimoire add` to get started.');
123
- return;
124
- }
125
- // Build select options
126
- const options = [];
127
- for (const f of agentFiles) {
128
- const name = f.replace(/\.md$/, '');
129
- const meta = readAgentFullMeta(join(agentsDir, f));
130
- const desc = meta.description;
131
- options.push({
132
- value: { kind: 'agent', name },
133
- label: `[agent] ${name}`,
134
- ...(desc ? { hint: desc.length > 80 ? desc.slice(0, 79) + '…' : desc } : {}),
135
- });
136
- }
137
- for (const d of skillDirs) {
138
- const desc = readSkillDescription(join(skillsDir, d, 'SKILL.md')) ||
139
- skillManifestDescs.get(d) ||
140
- '';
141
- options.push({
142
- value: { kind: 'skill', name: d },
143
- label: `[skill] ${d}`,
144
- ...(desc ? { hint: desc.length > 80 ? desc.slice(0, 79) + '…' : desc } : {}),
145
- });
146
- }
147
- clack.intro('Grimoire — Installed Items');
148
- while (true) {
149
- const selected = await clack.select({
150
- message: 'Select an item to view details (Ctrl+C to exit)',
151
- options,
152
- });
153
- if (clack.isCancel(selected))
154
- break;
155
- if (selected.kind === 'agent') {
156
- const meta = readAgentFullMeta(join(agentsDir, `${selected.name}.md`));
157
- const enforced = enforcedAgents.has(selected.name);
158
- const patterns = agentFilePatterns.get(selected.name);
159
- const desc = formatDescription(meta.description || '');
160
- clack.log.message(` Description:\n${desc.split('\n').map((l) => ` ${l}`).join('\n')}`);
161
- clack.log.message(` Model: ${meta.model || 'inherit'}`);
162
- clack.log.message(` Tools: ${meta.tools || '(not specified)'}`);
163
- clack.log.message(` Enforce: ${enforced ? `yes (file patterns: ${patterns?.join(', ') ?? 'none'})` : 'no'}`);
164
- }
165
- else {
166
- const rawDesc = readSkillDescription(join(skillsDir, selected.name, 'SKILL.md')) ||
167
- skillManifestDescs.get(selected.name) ||
168
- '';
169
- const triggers = skillTriggers.get(selected.name);
170
- const desc = formatDescription(rawDesc);
171
- const kw = triggers?.keywords?.length ? triggers.keywords.join(', ') : '(none)';
172
- const ext = triggers?.file_extensions?.length ? triggers.file_extensions.join(', ') : '(none)';
173
- const pat = triggers?.patterns?.length ? triggers.patterns.join(', ') : '(none)';
174
- const fp = triggers?.file_paths?.length ? triggers.file_paths.join(', ') : '(none)';
175
- clack.log.message(` Description:\n${desc.split('\n').map((l) => ` ${l}`).join('\n')}`);
176
- clack.log.message(` Keywords: ${kw}`);
177
- clack.log.message(` File extensions: ${ext}`);
178
- clack.log.message(` Patterns: ${pat}`);
179
- clack.log.message(` File paths: ${fp}`);
180
- }
335
+ if (agentFiles.length === 0 && skillDirs.length === 0)
336
+ return null;
337
+ return { agentFiles, skillDirs, agentFilePatterns, skillTriggers, skillManifestDescs };
338
+ }
339
+ function buildUpdateMap(results) {
340
+ const map = new Map();
341
+ for (const r of results) {
342
+ map.set(r.item.name, r);
181
343
  }
182
- clack.outro('Done.');
344
+ return map;
183
345
  }
184
346
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { InstallItem } from '../types.js';
2
- interface UpdateCheckResult {
2
+ export interface UpdateCheckResult {
3
3
  readonly item: InstallItem;
4
4
  readonly installedVersion: string | undefined;
5
5
  readonly availableVersion: string | undefined;
@@ -9,5 +9,4 @@ interface UpdateCheckResult {
9
9
  }
10
10
  export declare function checkUpdates(projectDir: string): readonly UpdateCheckResult[];
11
11
  export declare function runUpdate(cwd?: string | undefined): Promise<void>;
12
- export {};
13
12
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,UAAU,iBAAiB;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAyD7E;AAED,wBAAsB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EvE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAyD7E;AAED,wBAAsB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA+EvE"}
@@ -6,6 +6,7 @@ import { copyItems } from '../copy.js';
6
6
  import { printSummary } from '../summary.js';
7
7
  import { readFrontmatterVersion, isNewer } from '../version.js';
8
8
  import { readManifest, ensureEnforceHooks } from '../enforce.js';
9
+ import { readGrimoireConfig } from '../grimoire-config.js';
9
10
  export function checkUpdates(projectDir) {
10
11
  const installed = scanInstalled(projectDir);
11
12
  const packs = loadAllPacks();
@@ -104,18 +105,21 @@ export async function runUpdate(cwd) {
104
105
  allResults.push(...copyResults);
105
106
  }
106
107
  printSummary({ packs: [], results: allResults });
107
- // Re-apply enforce hooks for agents with enforce: true
108
+ // Re-apply enforce hooks if enforcement is active
108
109
  try {
109
- const manifest = readManifest(projectDir);
110
- const enforcedAgents = Object.entries(manifest.agents)
111
- .filter(([, entry]) => entry.enforce === true)
112
- .map(([name]) => name);
113
- if (enforcedAgents.length > 0) {
114
- ensureEnforceHooks(projectDir, enforcedAgents);
110
+ const config = readGrimoireConfig(projectDir);
111
+ if (config.enforcement) {
112
+ const manifest = readManifest(projectDir);
113
+ const agentsWithPatterns = Object.entries(manifest.agents)
114
+ .filter(([, entry]) => entry.file_patterns && entry.file_patterns.length > 0)
115
+ .map(([name]) => name);
116
+ if (agentsWithPatterns.length > 0) {
117
+ ensureEnforceHooks(projectDir, agentsWithPatterns);
118
+ }
115
119
  }
116
120
  }
117
121
  catch {
118
- // No manifest — nothing to enforce
122
+ // No manifest or config — nothing to enforce
119
123
  }
120
124
  clack.outro('Update complete.');
121
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/dist/enforce.d.ts CHANGED
@@ -1,12 +1,9 @@
1
1
  /**
2
- * Utilities for the `grimoire enforce-agent` command.
3
- * Manages the enforce flag per agent and the corresponding hook entries in settings.json.
2
+ * Utilities for agent enforcement.
3
+ * Manages enforcement hook entries in settings.json and reads the skills manifest.
4
4
  */
5
5
  export interface ManifestAgentEntry {
6
6
  file_patterns?: string[];
7
- enforce?: boolean;
8
- paired_skill?: string;
9
- has_paired_skill?: boolean;
10
7
  }
11
8
  interface ManifestSkill {
12
9
  path: string;
@@ -28,11 +25,6 @@ interface HookEntry {
28
25
  }
29
26
  export declare function readManifest(projectDir: string): SkillsManifest;
30
27
  export declare function writeManifest(projectDir: string, manifest: SkillsManifest): void;
31
- /**
32
- * Sets the enforce flag for a named agent in the manifest.
33
- * Throws if the agent has no file_patterns (cannot be enforced without them).
34
- */
35
- export declare function setEnforce(manifest: SkillsManifest, agentName: string, enabled: boolean): void;
36
28
  export interface AgentMeta {
37
29
  name: string;
38
30
  description: string;
@@ -53,6 +45,12 @@ export declare function hasSubagentHook(entries: readonly HookEntry[], agentName
53
45
  * Idempotently adds PreToolUse + SubagentStart/Stop hook entries for all enforced agents.
54
46
  */
55
47
  export declare function ensureEnforceHooks(projectDir: string, agentNames: readonly string[]): void;
48
+ /**
49
+ * Removes SubagentStart/Stop hook entries for a specific agent.
50
+ * Leaves all other hooks (PreToolUse, other agents) intact.
51
+ * No-op if the file or hooks don't exist.
52
+ */
53
+ export declare function removeSubagentHooksFor(projectDir: string, agentName: string): void;
56
54
  /**
57
55
  * Removes all enforcement-related hook entries from settings.json.
58
56
  * No-op if the file or hooks don't exist.
@@ -1 +1 @@
1
- {"version":3,"file":"enforce.d.ts","sourceRoot":"","sources":["../src/enforce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAMD,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAWD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAM/D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAGhF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAS9F;AAMD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAmB1D;AA4BD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAE/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,SAAS,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,GAC3C,OAAO,CAMT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CA8C1F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiC3D"}
1
+ {"version":3,"file":"enforce.d.ts","sourceRoot":"","sources":["../src/enforce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAMD,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAWD,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAa/D;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAGhF;AAMD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAmB1D;AA4BD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAE/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,SAAS,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,GAC3C,OAAO,CAMT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CA8C1F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAkClF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiC3D"}
package/dist/enforce.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Utilities for the `grimoire enforce-agent` command.
3
- * Manages the enforce flag per agent and the corresponding hook entries in settings.json.
2
+ * Utilities for agent enforcement.
3
+ * Manages enforcement hook entries in settings.json and reads the skills manifest.
4
4
  */
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
6
6
  import { join } from 'path';
@@ -12,26 +12,17 @@ export function readManifest(projectDir) {
12
12
  if (!existsSync(manifestPath)) {
13
13
  throw new Error(`Manifest not found: ${manifestPath}`);
14
14
  }
15
- return JSON.parse(readFileSync(manifestPath, 'utf-8'));
15
+ const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
16
+ // Strip leftover enforce flags from agent entries (migrated away)
17
+ for (const entry of Object.values(manifest.agents)) {
18
+ delete entry['enforce'];
19
+ }
20
+ return manifest;
16
21
  }
17
22
  export function writeManifest(projectDir, manifest) {
18
23
  const manifestPath = join(projectDir, '.claude', 'skills-manifest.json');
19
24
  writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
20
25
  }
21
- /**
22
- * Sets the enforce flag for a named agent in the manifest.
23
- * Throws if the agent has no file_patterns (cannot be enforced without them).
24
- */
25
- export function setEnforce(manifest, agentName, enabled) {
26
- const entry = manifest.agents[agentName];
27
- if (!entry) {
28
- throw new Error(`Agent "${agentName}" not found in manifest`);
29
- }
30
- if (enabled && (!entry.file_patterns || entry.file_patterns.length === 0)) {
31
- throw new Error(`Agent "${agentName}" has no file_patterns — cannot enable enforcement`);
32
- }
33
- manifest.agents[agentName] = { ...entry, enforce: enabled };
34
- }
35
26
  /**
36
27
  * Reads name and description from YAML frontmatter of an agent .md file.
37
28
  */
@@ -132,6 +123,36 @@ export function ensureEnforceHooks(projectDir, agentNames) {
132
123
  settings.hooks = hooks;
133
124
  writeSettings(projectDir, settings);
134
125
  }
126
+ /**
127
+ * Removes SubagentStart/Stop hook entries for a specific agent.
128
+ * Leaves all other hooks (PreToolUse, other agents) intact.
129
+ * No-op if the file or hooks don't exist.
130
+ */
131
+ export function removeSubagentHooksFor(projectDir, agentName) {
132
+ const settings = readSettings(projectDir);
133
+ if (!settings.hooks)
134
+ return;
135
+ const hooks = settings.hooks;
136
+ if (hooks['SubagentStart']) {
137
+ hooks['SubagentStart'] = hooks['SubagentStart'].filter((e) => !(e.matcher === agentName &&
138
+ e.hooks.some((h) => h.command.includes('--subagent-start') && h.command.includes(`--agent=${agentName}`))));
139
+ if (hooks['SubagentStart'].length === 0)
140
+ delete hooks['SubagentStart'];
141
+ }
142
+ if (hooks['SubagentStop']) {
143
+ hooks['SubagentStop'] = hooks['SubagentStop'].filter((e) => !(e.matcher === agentName &&
144
+ e.hooks.some((h) => h.command.includes('--subagent-stop') && h.command.includes(`--agent=${agentName}`))));
145
+ if (hooks['SubagentStop'].length === 0)
146
+ delete hooks['SubagentStop'];
147
+ }
148
+ if (Object.keys(hooks).length > 0) {
149
+ settings.hooks = hooks;
150
+ }
151
+ else {
152
+ delete settings.hooks;
153
+ }
154
+ writeSettings(projectDir, settings);
155
+ }
135
156
  /**
136
157
  * Removes all enforcement-related hook entries from settings.json.
137
158
  * No-op if the file or hooks don't exist.