@grimoire-cc/cli 0.10.0 → 0.11.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.
package/dist/bin.js CHANGED
@@ -5,6 +5,7 @@ import { runAdd } from './commands/add.js';
5
5
  import { runRemoveInteractive } from './commands/remove.js';
6
6
  import { runUpdate } from './commands/update.js';
7
7
  import { runLogs } from './commands/logs.js';
8
+ import { runEnforceAgent } from './commands/enforce-agent.js';
8
9
  const require = createRequire(import.meta.url);
9
10
  const { version } = require('../package.json');
10
11
  const addCommand = defineCommand({
@@ -37,12 +38,12 @@ const updateCommand = defineCommand({
37
38
  const logsCommand = defineCommand({
38
39
  meta: {
39
40
  name: 'logs',
40
- description: 'Open skill-router log viewer in the browser',
41
+ description: 'Open Grimoire log viewer in the browser',
41
42
  },
42
43
  args: {
43
44
  file: {
44
45
  type: 'string',
45
- description: 'Custom log file path (default: .claude/logs/skill-router.log)',
46
+ description: 'Custom log file path (default: .claude/logs/grimoire-router.log)',
46
47
  },
47
48
  port: {
48
49
  type: 'string',
@@ -76,6 +77,15 @@ const main = defineCommand({
76
77
  remove: removeCommand,
77
78
  update: updateCommand,
78
79
  logs: logsCommand,
80
+ 'enforce-agent': defineCommand({
81
+ meta: {
82
+ name: 'enforce-agent',
83
+ description: 'Toggle agent enforcement — delegate file edits to specialist agents',
84
+ },
85
+ async run() {
86
+ await runEnforceAgent(process.cwd());
87
+ },
88
+ }),
79
89
  },
80
90
  });
81
91
  runMain(main);
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,UAAU,GAAG,aAAa,CAAC;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sEAAsE;KACpF;IACD,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kDAAkD;KAChE;IACD,KAAK,CAAC,GAAG;QACP,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kDAAkD;KAChE;IACD,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,aAAa,CAAC;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,6CAA6C;KAC3D;IACD,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+DAA+D;SAC7E;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;SACvD;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;YAC1C,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,WAAW,EAAE,wDAAwD;KACtE;IACD,WAAW,EAAE;QACX,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,WAAW;KAClB;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,UAAU,GAAG,aAAa,CAAC;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sEAAsE;KACpF;IACD,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kDAAkD;KAChE;IACD,KAAK,CAAC,GAAG;QACP,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kDAAkD;KAChE;IACD,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,aAAa,CAAC;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yCAAyC;KACvD;IACD,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kEAAkE;SAChF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;SACvD;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;YAC1C,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,WAAW,EAAE,wDAAwD;KACtE;IACD,WAAW,EAAE;QACX,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,aAAa,CAAC;YAC7B,IAAI,EAAE;gBACJ,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,qEAAqE;aACnF;YACD,KAAK,CAAC,GAAG;gBACP,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;KACH;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * `grimoire enforce-agent` — interactive toggle for per-agent enforcement.
3
+ */
4
+ export declare function runEnforceAgent(projectDir: string): Promise<void>;
5
+ //# sourceMappingURL=enforce-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-agent.d.ts","sourceRoot":"","sources":["../../src/commands/enforce-agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHvE"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * `grimoire enforce-agent` — interactive toggle for per-agent enforcement.
3
+ */
4
+ import { existsSync, readdirSync } from 'fs';
5
+ import { join, basename } from 'path';
6
+ import * as clack from '@clack/prompts';
7
+ import { readManifest, writeManifest, setEnforce, readAgentMeta, ensureEnforceHooks, removeEnforceHooks, } from '../enforce.js';
8
+ export async function runEnforceAgent(projectDir) {
9
+ // Load manifest
10
+ let manifest;
11
+ try {
12
+ manifest = readManifest(projectDir);
13
+ }
14
+ catch {
15
+ clack.log.error('No skills-manifest.json found. Run `grimoire add` first.');
16
+ process.exit(1);
17
+ }
18
+ // Scan installed agents
19
+ const agentsDir = join(projectDir, '.claude', 'agents');
20
+ if (!existsSync(agentsDir)) {
21
+ clack.log.error('No agents installed. Run `grimoire add` first.');
22
+ process.exit(1);
23
+ }
24
+ // Build list of agents that have file_patterns in the manifest
25
+ const agentFiles = readdirSync(agentsDir).filter((f) => f.endsWith('.md'));
26
+ const enforceable = [];
27
+ for (const file of agentFiles) {
28
+ const agentPath = join(agentsDir, file);
29
+ const fsName = basename(file, '.md');
30
+ // Look up manifest entry by filesystem name or manifest name
31
+ const manifestEntry = manifest.agents[fsName] ??
32
+ Object.entries(manifest.agents).find(([key]) => key.endsWith(`.${fsName}`) || key === fsName)?.[1];
33
+ const manifestName = Object.keys(manifest.agents).find((key) => key === fsName || key.endsWith(`.${fsName}`)) ?? fsName;
34
+ if (!manifestEntry?.file_patterns?.length)
35
+ continue;
36
+ const meta = readAgentMeta(agentPath);
37
+ enforceable.push({
38
+ name: fsName,
39
+ manifestName,
40
+ description: meta.description || manifestName,
41
+ currentlyEnforced: manifestEntry.enforce === true,
42
+ });
43
+ }
44
+ if (enforceable.length === 0) {
45
+ console.log('No enforceable agents found. Install a pack with file_patterns to enable enforcement.');
46
+ return;
47
+ }
48
+ clack.intro('Agent Enforcement');
49
+ const options = enforceable.map((a) => ({
50
+ value: a.manifestName,
51
+ label: a.manifestName,
52
+ hint: a.description.length > 80 ? a.description.slice(0, 80) + '…' : a.description,
53
+ }));
54
+ const initialValues = enforceable
55
+ .filter((a) => a.currentlyEnforced)
56
+ .map((a) => a.manifestName);
57
+ const selected = await clack.multiselect({
58
+ message: 'Select agents Claude must delegate to:',
59
+ options,
60
+ initialValues,
61
+ required: false,
62
+ });
63
+ if (clack.isCancel(selected)) {
64
+ clack.cancel('Cancelled.');
65
+ return;
66
+ }
67
+ const enabledNames = selected;
68
+ const enabledSet = new Set(enabledNames);
69
+ // Apply enforce flags
70
+ for (const agent of enforceable) {
71
+ try {
72
+ setEnforce(manifest, agent.manifestName, enabledSet.has(agent.manifestName));
73
+ }
74
+ catch (err) {
75
+ clack.log.warn(`Could not set enforcement for ${agent.manifestName}: ${err instanceof Error ? err.message : String(err)}`);
76
+ }
77
+ }
78
+ writeManifest(projectDir, manifest);
79
+ // Update hooks
80
+ if (enabledNames.length > 0) {
81
+ ensureEnforceHooks(projectDir, enabledNames);
82
+ }
83
+ else {
84
+ removeEnforceHooks(projectDir);
85
+ }
86
+ const count = enabledNames.length;
87
+ if (count > 0) {
88
+ clack.outro(`Agent enforcement updated. ${count} agent(s) enforced.`);
89
+ }
90
+ else {
91
+ clack.outro('Agent enforcement disabled.');
92
+ }
93
+ }
94
+ //# sourceMappingURL=enforce-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-agent.js","sourceRoot":"","sources":["../../src/commands/enforce-agent.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { exec } from 'node:child_process';
2
2
  import { closeSync, existsSync, openSync, readFileSync, readSync, statSync } from 'node:fs';
3
3
  import { createServer } from 'node:http';
4
4
  import { resolve } from 'node:path';
5
- const DEFAULT_LOG_PATH = '.claude/logs/skill-router.log';
5
+ const DEFAULT_LOG_PATH = '.claude/logs/grimoire-router.log';
6
6
  const DEFAULT_MANIFEST_PATH = '.claude/skills-manifest.json';
7
7
  export async function runLogs(cwd, options = {}) {
8
8
  const logFilePath = options.logFile
@@ -11,8 +11,8 @@ export async function runLogs(cwd, options = {}) {
11
11
  // Validate log file exists up front
12
12
  if (!existsSync(logFilePath)) {
13
13
  console.error(`Log file not found: ${logFilePath}\n`);
14
- console.error('The skill-router has not produced any logs yet.');
15
- console.error('Logs are created after the skill-router hook runs for the first time.\n');
14
+ console.error('The Grimoire router has not produced any logs yet.');
15
+ console.error('Logs are created after the router hook runs for the first time.\n');
16
16
  console.error('To get started:');
17
17
  console.error(' 1. Install a pack with auto-activation: grimoire add <pack> --enable-auto-activation');
18
18
  console.error(' 2. Open Claude Code in the project and send a prompt');
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Utilities for the `grimoire enforce-agent` command.
3
+ * Manages the enforce flag per agent and the corresponding hook entries in settings.json.
4
+ */
5
+ export interface ManifestAgentEntry {
6
+ file_patterns?: string[];
7
+ enforce?: boolean;
8
+ }
9
+ interface ManifestSkill {
10
+ path: string;
11
+ name: string;
12
+ [key: string]: unknown;
13
+ }
14
+ export interface SkillsManifest {
15
+ version: string;
16
+ config: Record<string, unknown>;
17
+ skills: ManifestSkill[];
18
+ agents: Record<string, ManifestAgentEntry>;
19
+ }
20
+ interface HookEntry {
21
+ matcher: string;
22
+ hooks: Array<{
23
+ type: string;
24
+ command: string;
25
+ }>;
26
+ }
27
+ export declare function readManifest(projectDir: string): SkillsManifest;
28
+ export declare function writeManifest(projectDir: string, manifest: SkillsManifest): void;
29
+ /**
30
+ * Sets the enforce flag for a named agent in the manifest.
31
+ * Throws if the agent has no file_patterns (cannot be enforced without them).
32
+ */
33
+ export declare function setEnforce(manifest: SkillsManifest, agentName: string, enabled: boolean): void;
34
+ export interface AgentMeta {
35
+ name: string;
36
+ description: string;
37
+ }
38
+ /**
39
+ * Reads name and description from YAML frontmatter of an agent .md file.
40
+ */
41
+ export declare function readAgentMeta(agentPath: string): AgentMeta;
42
+ /**
43
+ * Returns true if a PreToolUse entry with --enforce already exists.
44
+ */
45
+ export declare function hasEnforcePreToolUseHook(entries: readonly HookEntry[]): boolean;
46
+ /**
47
+ * Returns true if a SubagentStart entry for the given agent already exists.
48
+ */
49
+ export declare function hasSubagentHook(entries: readonly HookEntry[], agentName: string, flag: '--subagent-start' | '--subagent-stop'): boolean;
50
+ /**
51
+ * Idempotently adds PreToolUse + SubagentStart/Stop hook entries for all enforced agents.
52
+ */
53
+ export declare function ensureEnforceHooks(projectDir: string, agentNames: readonly string[]): void;
54
+ /**
55
+ * Removes all enforcement-related hook entries from settings.json.
56
+ * No-op if the file or hooks don't exist.
57
+ */
58
+ export declare function removeEnforceHooks(projectDir: string): void;
59
+ export {};
60
+ //# sourceMappingURL=enforce.d.ts.map
@@ -0,0 +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;CACnB;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;AAsBD;;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,CAIT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAkC1F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiC3D"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Utilities for the `grimoire enforce-agent` command.
3
+ * Manages the enforce flag per agent and the corresponding hook entries in settings.json.
4
+ */
5
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
6
+ import { join } from 'path';
7
+ // =============================================================================
8
+ // Manifest read/write
9
+ // =============================================================================
10
+ export function readManifest(projectDir) {
11
+ const manifestPath = join(projectDir, '.claude', 'skills-manifest.json');
12
+ if (!existsSync(manifestPath)) {
13
+ throw new Error(`Manifest not found: ${manifestPath}`);
14
+ }
15
+ return JSON.parse(readFileSync(manifestPath, 'utf-8'));
16
+ }
17
+ export function writeManifest(projectDir, manifest) {
18
+ const manifestPath = join(projectDir, '.claude', 'skills-manifest.json');
19
+ writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
20
+ }
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
+ /**
36
+ * Reads name and description from YAML frontmatter of an agent .md file.
37
+ */
38
+ export function readAgentMeta(agentPath) {
39
+ let content;
40
+ try {
41
+ content = readFileSync(agentPath, 'utf-8');
42
+ }
43
+ catch {
44
+ return { name: '', description: '' };
45
+ }
46
+ const fm = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
47
+ if (!fm?.[1])
48
+ return { name: '', description: '' };
49
+ const block = fm[1];
50
+ const nameLine = block.match(/^name:\s*(.+)$/m);
51
+ const descLine = block.match(/^description:\s*(.+)$/m);
52
+ return {
53
+ name: nameLine?.[1]?.trim() ?? '',
54
+ description: descLine?.[1]?.trim().replace(/^["']|["']$/g, '') ?? '',
55
+ };
56
+ }
57
+ // =============================================================================
58
+ // Hook management
59
+ // =============================================================================
60
+ const ENFORCE_COMMAND = 'npx @grimoire-cc/router --enforce';
61
+ const SUBAGENT_START_COMMAND = 'npx @grimoire-cc/router --subagent-start';
62
+ const SUBAGENT_STOP_COMMAND = 'npx @grimoire-cc/router --subagent-stop';
63
+ function readSettings(projectDir) {
64
+ const path = join(projectDir, '.claude', 'settings.json');
65
+ if (!existsSync(path))
66
+ return {};
67
+ return JSON.parse(readFileSync(path, 'utf-8'));
68
+ }
69
+ function writeSettings(projectDir, settings) {
70
+ const claudeDir = join(projectDir, '.claude');
71
+ mkdirSync(claudeDir, { recursive: true });
72
+ writeFileSync(join(claudeDir, 'settings.json'), JSON.stringify(settings, null, 2) + '\n');
73
+ }
74
+ /**
75
+ * Returns true if a PreToolUse entry with --enforce already exists.
76
+ */
77
+ export function hasEnforcePreToolUseHook(entries) {
78
+ return entries.some((e) => e.hooks.some((h) => h.command.includes('--enforce')));
79
+ }
80
+ /**
81
+ * Returns true if a SubagentStart entry for the given agent already exists.
82
+ */
83
+ export function hasSubagentHook(entries, agentName, flag) {
84
+ return entries.some((e) => e.matcher === agentName && e.hooks.some((h) => h.command.includes(flag)));
85
+ }
86
+ /**
87
+ * Idempotently adds PreToolUse + SubagentStart/Stop hook entries for all enforced agents.
88
+ */
89
+ export function ensureEnforceHooks(projectDir, agentNames) {
90
+ const settings = readSettings(projectDir);
91
+ const hooks = (settings.hooks ?? {});
92
+ // PreToolUse enforcement hook
93
+ if (!hooks['PreToolUse'])
94
+ hooks['PreToolUse'] = [];
95
+ if (!hasEnforcePreToolUseHook(hooks['PreToolUse'])) {
96
+ hooks['PreToolUse'].push({
97
+ matcher: 'Edit|Write|MultiEdit',
98
+ hooks: [{ type: 'command', command: ENFORCE_COMMAND }],
99
+ });
100
+ }
101
+ // Per-agent SubagentStart/Stop hooks
102
+ if (!hooks['SubagentStart'])
103
+ hooks['SubagentStart'] = [];
104
+ if (!hooks['SubagentStop'])
105
+ hooks['SubagentStop'] = [];
106
+ for (const agentName of agentNames) {
107
+ if (!hasSubagentHook(hooks['SubagentStart'], agentName, '--subagent-start')) {
108
+ hooks['SubagentStart'].push({
109
+ matcher: agentName,
110
+ hooks: [{ type: 'command', command: SUBAGENT_START_COMMAND }],
111
+ });
112
+ }
113
+ if (!hasSubagentHook(hooks['SubagentStop'], agentName, '--subagent-stop')) {
114
+ hooks['SubagentStop'].push({
115
+ matcher: agentName,
116
+ hooks: [{ type: 'command', command: SUBAGENT_STOP_COMMAND }],
117
+ });
118
+ }
119
+ }
120
+ settings.hooks = hooks;
121
+ writeSettings(projectDir, settings);
122
+ }
123
+ /**
124
+ * Removes all enforcement-related hook entries from settings.json.
125
+ * No-op if the file or hooks don't exist.
126
+ */
127
+ export function removeEnforceHooks(projectDir) {
128
+ const settings = readSettings(projectDir);
129
+ if (!settings.hooks)
130
+ return;
131
+ const hooks = settings.hooks;
132
+ if (hooks['PreToolUse']) {
133
+ hooks['PreToolUse'] = hooks['PreToolUse'].filter((e) => !e.hooks.some((h) => h.command.includes('--enforce')));
134
+ if (hooks['PreToolUse'].length === 0)
135
+ delete hooks['PreToolUse'];
136
+ }
137
+ if (hooks['SubagentStart']) {
138
+ hooks['SubagentStart'] = hooks['SubagentStart'].filter((e) => !e.hooks.some((h) => h.command.includes('--subagent-start')));
139
+ if (hooks['SubagentStart'].length === 0)
140
+ delete hooks['SubagentStart'];
141
+ }
142
+ if (hooks['SubagentStop']) {
143
+ hooks['SubagentStop'] = hooks['SubagentStop'].filter((e) => !e.hooks.some((h) => h.command.includes('--subagent-stop')));
144
+ if (hooks['SubagentStop'].length === 0)
145
+ delete hooks['SubagentStop'];
146
+ }
147
+ if (Object.keys(hooks).length > 0) {
148
+ settings.hooks = hooks;
149
+ }
150
+ else {
151
+ delete settings.hooks;
152
+ }
153
+ writeSettings(projectDir, settings);
154
+ }
155
+ //# sourceMappingURL=enforce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce.js","sourceRoot":"","sources":["../src/enforce.ts"],"names":[],"mappings":"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"}
package/dist/prompt.js CHANGED
@@ -122,7 +122,7 @@ export async function runWizard(packs, projectDir) {
122
122
  }
123
123
  // Step 3 — Auto-activation
124
124
  const autoActivate = await clack.confirm({
125
- message: 'Enable auto-activation? (skill-router hooks for automatic skill matching)',
125
+ message: 'Enable auto-activation? (router hooks for automatic skill matching)',
126
126
  initialValue: true,
127
127
  });
128
128
  if (clack.isCancel(autoActivate)) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,WAAW,EAAE,CAiCxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,UAAU,EAAE,MAAM,GACjB,SAAS,YAAY,EAAE,CAczB;AAoBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAsBnF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE;IACd,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GACA,IAAI,CA2DN"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,WAAW,EAAE,CAiCxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,UAAU,EAAE,MAAM,GACjB,SAAS,YAAY,EAAE,CAczB;AAeD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,WAAW,EAAE,CAsBnF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE;IACd,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GACA,IAAI,CA+CN"}
package/dist/remove.js CHANGED
@@ -117,13 +117,6 @@ export function cleanManifest(items, projectDir, manifestNames) {
117
117
  for (const name of removedAgentNames) {
118
118
  delete manifest.agents[name];
119
119
  }
120
- // Remove skill references from remaining agents
121
- if (removedSkillManifestNames.size > 0) {
122
- for (const agentConfig of Object.values(manifest.agents)) {
123
- agentConfig.always_skills = agentConfig.always_skills.filter((s) => !removedSkillManifestNames.has(s));
124
- agentConfig.compatible_skills = agentConfig.compatible_skills.filter((s) => !removedSkillManifestNames.has(s));
125
- }
126
- }
127
120
  writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
128
121
  }
129
122
  //# sourceMappingURL=remove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { PackManifest } from './types.js';
2
2
  /**
3
- * Merges skill-router hook entries into `.claude/settings.json`.
3
+ * Merges router hook entries into `.claude/settings.json`.
4
4
  * Creates the file if it doesn't exist. Preserves existing entries.
5
5
  */
6
6
  export declare function mergeSettings(projectDir: string): void;
@@ -10,7 +10,7 @@ export declare function mergeSettings(projectDir: string): void;
10
10
  */
11
11
  export declare function mergeManifest(projectDir: string, packManifest: PackManifest): void;
12
12
  /**
13
- * Sets up the skill-router by merging hook config and skill manifest.
13
+ * Sets up the router by merging hook config and skill manifest.
14
14
  */
15
15
  export declare function setupRouter(projectDir: string, packManifest: PackManifest): void;
16
16
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsB/C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CA6BtD;AA2BD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAmDlF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAahF"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsB/C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CA6BtD;AAgCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAoDlF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAahF"}
package/dist/setup.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
2
  import { basename, join } from 'path';
3
- const SKILL_ROUTER_COMMAND = 'npx @grimoire-cc/skill-router';
4
- function hasSkillRouterHook(entries) {
5
- return entries.some((entry) => entry.hooks.some((h) => h.command.includes('skill-router')));
3
+ const SKILL_ROUTER_COMMAND = 'npx @grimoire-cc/router';
4
+ function hasRouterHook(entries) {
5
+ return entries.some((entry) => entry.hooks.some((h) => h.command.includes('@grimoire-cc/router')));
6
6
  }
7
7
  function makeHookEntry(matcher) {
8
8
  return {
@@ -11,7 +11,7 @@ function makeHookEntry(matcher) {
11
11
  };
12
12
  }
13
13
  /**
14
- * Merges skill-router hook entries into `.claude/settings.json`.
14
+ * Merges router hook entries into `.claude/settings.json`.
15
15
  * Creates the file if it doesn't exist. Preserves existing entries.
16
16
  */
17
17
  export function mergeSettings(projectDir) {
@@ -26,13 +26,13 @@ export function mergeSettings(projectDir) {
26
26
  if (!hooks['UserPromptSubmit']) {
27
27
  hooks['UserPromptSubmit'] = [];
28
28
  }
29
- if (!hasSkillRouterHook(hooks['UserPromptSubmit'])) {
29
+ if (!hasRouterHook(hooks['UserPromptSubmit'])) {
30
30
  hooks['UserPromptSubmit'].push(makeHookEntry(''));
31
31
  }
32
32
  if (!hooks['PreToolUse']) {
33
33
  hooks['PreToolUse'] = [];
34
34
  }
35
- if (!hasSkillRouterHook(hooks['PreToolUse'])) {
35
+ if (!hasRouterHook(hooks['PreToolUse'])) {
36
36
  hooks['PreToolUse'].push(makeHookEntry('Edit|Write'));
37
37
  }
38
38
  settings['hooks'] = hooks;
@@ -88,19 +88,20 @@ export function mergeManifest(projectDir, packManifest) {
88
88
  manifest.skills.push(entry);
89
89
  }
90
90
  }
91
- // Merge agents
91
+ // Merge agents — preserve existing entry (enforce flag, file_patterns) when present
92
92
  for (const agent of packManifest.agents) {
93
93
  if (!manifest.agents[agent.name]) {
94
- manifest.agents[agent.name] = {
95
- always_skills: [],
96
- compatible_skills: [],
97
- };
94
+ manifest.agents[agent.name] = {};
95
+ }
96
+ // Write file_patterns from pack definition when provided
97
+ if (agent.file_patterns && agent.file_patterns.length > 0) {
98
+ manifest.agents[agent.name].file_patterns = [...agent.file_patterns];
98
99
  }
99
100
  }
100
101
  writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
101
102
  }
102
103
  /**
103
- * Sets up the skill-router by merging hook config and skill manifest.
104
+ * Sets up the router by merging hook config and skill manifest.
104
105
  */
105
106
  export function setupRouter(projectDir, packManifest) {
106
107
  mergeSettings(projectDir);
@@ -108,15 +109,13 @@ export function setupRouter(projectDir, packManifest) {
108
109
  console.log('\nSkill router configured:');
109
110
  console.log(' hooks: .claude/settings.json');
110
111
  console.log(' manifest: .claude/skills-manifest.json');
111
- if (!isSkillRouterInstalled(projectDir)) {
112
- console.log('\n⚠ @grimoire-cc/skill-router is not installed.');
112
+ if (!isRouterInstalled(projectDir)) {
113
+ console.log('\n⚠ @grimoire-cc/router is not installed.');
113
114
  console.log(' Auto-activation requires it. Install with:');
114
- console.log(' npm install -D @grimoire-cc/skill-router');
115
+ console.log(' npm install -D @grimoire-cc/router');
115
116
  }
116
117
  }
117
- function isSkillRouterInstalled(projectDir) {
118
- // Check node_modules for the skill-router package
119
- const routerPath = join(projectDir, 'node_modules', '@grimoire-cc', 'skill-router');
120
- return existsSync(routerPath);
118
+ function isRouterInstalled(projectDir) {
119
+ return existsSync(join(projectDir, 'node_modules', '@grimoire-cc', 'router'));
121
120
  }
122
121
  //# sourceMappingURL=setup.js.map
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGtC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAOvD,SAAS,aAAa,CAAC,OAA6B;IAClD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEtD,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAC;IACxF,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAgC,CAAC;IAEvE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC1B,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAqBD,MAAM,cAAc,GAAG;IACrB,OAAO,EAAE;QACP,QAAQ,EAAE,GAAG;QACb,eAAe,EAAE,GAAG;QACpB,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;KAChB;IACD,oBAAoB,EAAE,GAAG;IACzB,oBAAoB,EAAE,GAAG;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,YAA0B;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAE7D,IAAI,QAAwB,CAAC;IAC7B,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAmB,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG;YACT,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;YAC7B,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,SAAS;QAE9B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,kBAAkB,OAAO,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAkB;YAC3B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;SAChC,CAAC;QAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;QACD,yDAAyD;QACzD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,YAA0B;IACxE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1B,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChF,CAAC"}
@@ -535,7 +535,7 @@
535
535
  class="drop-zone"
536
536
  id="dropZone"
537
537
  >
538
- <p class="big">Drop <code>skill-router.log</code> here</p>
538
+ <p class="big">Drop <code>grimoire-router.log</code> here</p>
539
539
  <p>or click to browse</p>
540
540
  <input
541
541
  type="file"
@@ -535,7 +535,7 @@
535
535
  class="drop-zone"
536
536
  id="dropZone"
537
537
  >
538
- <p class="big">Drop <code>skill-router.log</code> here</p>
538
+ <p class="big">Drop <code>grimoire-router.log</code> here</p>
539
539
  <p>or click to browse</p>
540
540
  <input
541
541
  type="file"
package/dist/types.d.ts CHANGED
@@ -9,6 +9,7 @@ export interface PackAgentEntry {
9
9
  readonly path: string;
10
10
  readonly description: string;
11
11
  readonly version?: string | undefined;
12
+ readonly file_patterns?: readonly string[] | undefined;
12
13
  }
13
14
  export interface PackSkillEntry {
14
15
  readonly name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grimoire-cc/cli",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "CLI tool for installing Grimoire agent and skill packs",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -12,7 +12,8 @@
12
12
  "name": "grimoire.tdd-specialist",
13
13
  "path": "agents/grimoire.tdd-specialist.md",
14
14
  "description": "Language-agnostic TDD and unit testing specialist. Use when writing unit tests, adding test coverage, or doing test-driven development in ANY language. Auto-detects project language and test framework (pytest, jest, vitest, mocha, junit, go test, cargo test, xunit, etc.). Examples: 'write tests for this function', 'add test coverage for the auth module', 'help me TDD this feature'.",
15
- "version": "1.0.0"
15
+ "version": "1.0.0",
16
+ "file_patterns": ["*.spec.ts", "*.test.ts", "*.spec.js", "*.test.js", "*Tests.cs", "*_test.go", "*_test.py", "**/tests/**", "**/spec/**"]
16
17
  }
17
18
  ],
18
19
  "skills": [
@@ -4,7 +4,6 @@ description: "Use this agent to implement C# code based on architectural decisio
4
4
  tools: Read, Edit, Write, Skill, Glob, Grep
5
5
  model: sonnet
6
6
  color: yellow
7
- version: 1.0.1
8
7
  ---
9
8
 
10
9
  You are an expert C# implementation specialist—a mid-to-senior level developer who excels at translating architectural guidance and technical specifications into clean, production-ready code. You have deep expertise in modern C# and the .NET ecosystem, and you take pride in writing code that is maintainable, testable, and follows industry best practices.
@@ -1,9 +1,8 @@
1
1
  ---
2
2
  name: grimoire.dotnet-architect
3
3
  description: "Use this agent when you need to write, review, or refactor C# code on the .NET platform following modern best practices. This includes implementing new features using Clean Architecture, Domain-Driven Design (DDD), and Test-Driven Development (TDD). Use this agent for designing domain entities, application services, API endpoints, infrastructure components, or when you need guidance on .NET patterns, SOLID principles, and Microsoft's recommended practices.\\n\\nExamples:\\n\\n<example>\\nContext: The user wants to add a new domain entity for tracking document processing metrics.\\nuser: \"I need to create a new entity to track processing metrics for each document\"\\nassistant: \"I'll use the grimoire.dotnet-architect agent to design this domain entity following DDD principles and ensure proper test coverage.\"\\n<commentary>\\nSince the user is asking to create a new domain entity, use the Task tool to launch the grimoire.dotnet-architect agent to design the entity with proper DDD patterns, value objects, and accompanying tests.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: The user is implementing a new service that needs to follow Clean Architecture.\\nuser: \"Create a service to handle document validation before processing\"\\nassistant: \"Let me use the grimoire.dotnet-architect agent to implement this service following Clean Architecture and TDD practices.\"\\n<commentary>\\nSince the user needs a new service implementation, use the grimoire.dotnet-architect agent to ensure proper separation of concerns, dependency injection, and test-first development.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: The user wants to refactor existing code to improve maintainability.\\nuser: \"This ProcessJob class is getting too complex, can you help refactor it?\"\\nassistant: \"I'll engage the grimoire.dotnet-architect agent to analyze this code and refactor it following SOLID principles and Clean Architecture patterns.\"\\n<commentary>\\nSince the user is asking for refactoring guidance, use the grimoire.dotnet-architect agent to apply best practices and ensure the refactored code maintains test coverage.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: The user needs to implement a new API endpoint.\\nuser: \"Add an endpoint to get document processing history\"\\nassistant: \"I'll use the grimoire.dotnet-architect agent to implement this endpoint following the project's established patterns and TDD workflow.\"\\n<commentary>\\nSince a new API endpoint is being requested, use the grimoire.dotnet-architect agent to ensure proper implementation with validation, error handling, and tests written first.\\n</commentary>\\n</example>"
4
- tools: Bash, Glob, Grep, Read, Skill, mcp__plugin_context7_context7__resolve-library-id, mcp__plugin_context7_context7__query-docs, WebSearch, WebFetch
4
+ tools: Bash, Glob, Grep, Read, Skill, mcp__plugin_context7_context7__resolve-library-id, mcp__plugin_context7_context7__query-docs, WebSearch, WebFetch, TaskCreate, TaskGet, TaskUpdate, TaskList
5
5
  model: inherit
6
- version: 1.0.1
7
6
  ---
8
7
 
9
8
  You are an elite .NET architect and senior software engineer with deep expertise in building enterprise-grade applications using C# and the .NET 8+ platform. You specialize in Clean Architecture, Domain-Driven Design (DDD), and Test-Driven Development (TDD), consistently delivering robust, maintainable, and scalable solutions.
@@ -3,14 +3,13 @@ name: grimoire.dotnet-unit-test-writer
3
3
  description: "Expert .NET unit testing specialist for C#/.NET projects. Use PROACTIVELY when writing unit tests, adding test cases, setting up test infrastructure, or working with xUnit, TUnit, Moq, or NSubstitute. MUST BE USED for TDD workflows where tests are written before implementation. Defaults to xUnit (most universal), recommends TUnit for new .NET 8+ projects."
4
4
  tools: Read, Edit, Write, Grep, Glob, Skill
5
5
  model: sonnet
6
- version: 1.0.1
7
6
  ---
8
7
 
9
8
  # .NET Unit Test Writer Agent
10
9
 
11
10
  You are an expert .NET unit testing agent. You write clean, maintainable, and comprehensive unit tests.
12
11
 
13
- Write unit tests for C# and .NET projects exclusively. If asked to write tests for other languages or frameworks (Jest, pytest, Vitest, etc.), politely decline and suggest using the `grimoire.tdd-specialist` agent instead, which supports all languages.
12
+ Write unit tests for C# and .NET projects exclusively. If asked to write tests for other languages or frameworks (Jest, pytest, Vitest, etc.), politely decline.
14
13
 
15
14
  ## MANDATORY: Load Skill First
16
15
 
@@ -42,4 +41,4 @@ After loading the skill:
42
41
  - NEVER skip the Skill invocation - it is MANDATORY
43
42
  - ALWAYS follow the patterns and templates from the skill
44
43
  - ONLY write test code, never production implementations
45
- - **Language restriction**: Only write or review tests for C#/.NET projects (xUnit, TUnit, NUnit, Moq, NSubstitute). For other languages, redirect to `grimoire.tdd-specialist`.
44
+ - **Language restriction**: Only write or review tests for C#/.NET projects (xUnit, TUnit, NUnit, Moq, NSubstitute). For other languages, politely decline.
@@ -6,25 +6,29 @@
6
6
  "name": "grimoire.csharp-code-reviewer",
7
7
  "path": "agents/grimoire.csharp-code-reviewer.md",
8
8
  "description": "Expert C#/.NET code review specialist. Use immediately after writing or modifying C# code, or when explicitly requested to review C#/.NET code quality, security, performance, and best practices. ONLY reviews C# and .NET code - declines reviews of other languages.",
9
- "version": "1.0.0"
9
+ "version": "1.0.0",
10
+ "file_patterns": ["*.cs"]
10
11
  },
11
12
  {
12
13
  "name": "grimoire.csharp-coder",
13
14
  "path": "agents/grimoire.csharp-coder.md",
14
15
  "description": "Implements C# code based on architectural decisions, predefined plans, or technical specifications. Translates designs into clean, production-ready code following SOLID principles and .NET conventions.",
15
- "version": "1.0.1"
16
+ "version": "1.0.1",
17
+ "file_patterns": ["*.cs", "*.csproj"]
16
18
  },
17
19
  {
18
20
  "name": "grimoire.dotnet-architect",
19
21
  "path": "agents/grimoire.dotnet-architect.md",
20
22
  "description": "Write, review, or refactor C# code on the .NET platform following modern best practices. Implements new features using Clean Architecture, Domain-Driven Design (DDD), and Test-Driven Development (TDD). Designs domain entities, application services, API endpoints, and infrastructure components.",
21
- "version": "1.0.1"
23
+ "version": "1.0.1",
24
+ "file_patterns": ["*.cs", "*.csproj", "*.sln"]
22
25
  },
23
26
  {
24
27
  "name": "grimoire.dotnet-unit-test-writer",
25
28
  "path": "agents/grimoire.dotnet-unit-test-writer.md",
26
29
  "description": "Expert .NET unit testing specialist for C#/.NET projects. Use PROACTIVELY when writing unit tests, adding test cases, setting up test infrastructure, or working with xUnit, TUnit, Moq, or NSubstitute. MUST BE USED for TDD workflows where tests are written before implementation. Defaults to xUnit (most universal), recommends TUnit for new .NET 8+ projects.",
27
- "version": "1.0.1"
30
+ "version": "1.0.1",
31
+ "file_patterns": ["*.cs", "**/*Tests.cs", "**/*Test.cs", "**/tests/**/*.cs"]
28
32
  }
29
33
  ],
30
34
  "skills": [
@@ -6,7 +6,8 @@
6
6
  "name": "grimoire.fact-checker",
7
7
  "path": "agents/grimoire.fact-checker.md",
8
8
  "description": "Use this agent when you need to verify the accuracy of written content before publishing or sharing. Invoke when: (1) Drafting is complete and content contains factual claims like statistics, dates, technical specifications, or historical references; (2) Content is ready for final review before publishing; (3) Accuracy is critical for public-facing or decision-making materials.",
9
- "version": "1.0.0"
9
+ "version": "1.0.0",
10
+ "file_patterns": ["*.md", "*.mdx", "*.txt", "docs/**", "**/README*"]
10
11
  }
11
12
  ],
12
13
  "skills": []
@@ -6,7 +6,8 @@
6
6
  "name": "grimoire.vue3-coder",
7
7
  "path": "agents/grimoire.vue3-coder.md",
8
8
  "description": "Use this agent when working on any Vue 3 related task — scaffolding new components or pages, writing composables, building Pinia stores, setting up Vue Router, debugging template or reactivity issues, reviewing Vue code for best practices, migrating from Options API to Composition API, or optimizing Vue application performance.",
9
- "version": "1.0.0"
9
+ "version": "1.0.0",
10
+ "file_patterns": ["*.vue"]
10
11
  }
11
12
  ],
12
13
  "skills": []
@@ -6,7 +6,8 @@
6
6
  "name": "grimoire.typescript-coder",
7
7
  "path": "agents/grimoire.typescript-coder.md",
8
8
  "description": "Use this agent when the user needs to write, refactor, debug, review, or understand TypeScript code in any environment — Node.js backends, React, Angular, Vue, Svelte, or any other TypeScript-compatible platform. This includes tasks like designing type-safe data models, implementing utility types, handling errors with discriminated unions, refactoring JavaScript to TypeScript, or reviewing TypeScript code for type safety and correctness.",
9
- "version": "1.0.0"
9
+ "version": "1.0.0",
10
+ "file_patterns": ["*.ts", "*.tsx", "*.mts", "*.cts", "*.js", "*.mjs", "*.cjs"]
10
11
  }
11
12
  ],
12
13
  "skills": [