@swarmdo/cli 1.37.0 → 1.50.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 (124) hide show
  1. package/README.md +9 -5
  2. package/dist/src/apply/apply.d.ts.map +1 -1
  3. package/dist/src/apply/apply.js +6 -1
  4. package/dist/src/apply/apply.js.map +1 -1
  5. package/dist/src/changelog/changelog.d.ts +21 -0
  6. package/dist/src/changelog/changelog.d.ts.map +1 -1
  7. package/dist/src/changelog/changelog.js +43 -0
  8. package/dist/src/changelog/changelog.js.map +1 -1
  9. package/dist/src/commands/changelog.d.ts.map +1 -1
  10. package/dist/src/commands/changelog.js +15 -4
  11. package/dist/src/commands/changelog.js.map +1 -1
  12. package/dist/src/commands/config.d.ts.map +1 -1
  13. package/dist/src/commands/config.js +37 -1
  14. package/dist/src/commands/config.js.map +1 -1
  15. package/dist/src/commands/coupling.d.ts +17 -0
  16. package/dist/src/commands/coupling.d.ts.map +1 -0
  17. package/dist/src/commands/coupling.js +85 -0
  18. package/dist/src/commands/coupling.js.map +1 -0
  19. package/dist/src/commands/hidden-coupling.d.ts +19 -0
  20. package/dist/src/commands/hidden-coupling.d.ts.map +1 -0
  21. package/dist/src/commands/hidden-coupling.js +92 -0
  22. package/dist/src/commands/hidden-coupling.js.map +1 -0
  23. package/dist/src/commands/hooks.d.ts.map +1 -1
  24. package/dist/src/commands/hooks.js +55 -0
  25. package/dist/src/commands/hooks.js.map +1 -1
  26. package/dist/src/commands/hotspots.d.ts.map +1 -1
  27. package/dist/src/commands/hotspots.js +2 -1
  28. package/dist/src/commands/hotspots.js.map +1 -1
  29. package/dist/src/commands/index.d.ts.map +1 -1
  30. package/dist/src/commands/index.js +12 -3
  31. package/dist/src/commands/index.js.map +1 -1
  32. package/dist/src/commands/ownership.d.ts +18 -0
  33. package/dist/src/commands/ownership.d.ts.map +1 -0
  34. package/dist/src/commands/ownership.js +88 -0
  35. package/dist/src/commands/ownership.js.map +1 -0
  36. package/dist/src/commands/pack.js +4 -4
  37. package/dist/src/commands/pack.js.map +1 -1
  38. package/dist/src/commands/redact.d.ts.map +1 -1
  39. package/dist/src/commands/redact.js +11 -0
  40. package/dist/src/commands/redact.js.map +1 -1
  41. package/dist/src/commands/release.d.ts.map +1 -1
  42. package/dist/src/commands/release.js +27 -5
  43. package/dist/src/commands/release.js.map +1 -1
  44. package/dist/src/commands/task.d.ts.map +1 -1
  45. package/dist/src/commands/task.js +57 -2
  46. package/dist/src/commands/task.js.map +1 -1
  47. package/dist/src/config-lint/agents-lint.d.ts +30 -0
  48. package/dist/src/config-lint/agents-lint.d.ts.map +1 -0
  49. package/dist/src/config-lint/agents-lint.js +87 -0
  50. package/dist/src/config-lint/agents-lint.js.map +1 -0
  51. package/dist/src/config-lint/commands-lint.d.ts +31 -0
  52. package/dist/src/config-lint/commands-lint.d.ts.map +1 -0
  53. package/dist/src/config-lint/commands-lint.js +127 -0
  54. package/dist/src/config-lint/commands-lint.js.map +1 -0
  55. package/dist/src/config-lint/lint.d.ts +8 -0
  56. package/dist/src/config-lint/lint.d.ts.map +1 -1
  57. package/dist/src/config-lint/lint.js +7 -0
  58. package/dist/src/config-lint/lint.js.map +1 -1
  59. package/dist/src/coupling/coupling.d.ts +56 -0
  60. package/dist/src/coupling/coupling.d.ts.map +1 -0
  61. package/dist/src/coupling/coupling.js +86 -0
  62. package/dist/src/coupling/coupling.js.map +1 -0
  63. package/dist/src/coupling/hidden.d.ts +45 -0
  64. package/dist/src/coupling/hidden.d.ts.map +1 -0
  65. package/dist/src/coupling/hidden.js +66 -0
  66. package/dist/src/coupling/hidden.js.map +1 -0
  67. package/dist/src/hooks-recipe/command-guard.d.ts +46 -0
  68. package/dist/src/hooks-recipe/command-guard.d.ts.map +1 -0
  69. package/dist/src/hooks-recipe/command-guard.js +120 -0
  70. package/dist/src/hooks-recipe/command-guard.js.map +1 -0
  71. package/dist/src/hooks-recipe/recipe.d.ts.map +1 -1
  72. package/dist/src/hooks-recipe/recipe.js +8 -0
  73. package/dist/src/hooks-recipe/recipe.js.map +1 -1
  74. package/dist/src/mcp-client.d.ts.map +1 -1
  75. package/dist/src/mcp-client.js +4 -0
  76. package/dist/src/mcp-client.js.map +1 -1
  77. package/dist/src/mcp-tools/coupling-tools.d.ts +14 -0
  78. package/dist/src/mcp-tools/coupling-tools.d.ts.map +1 -0
  79. package/dist/src/mcp-tools/coupling-tools.js +56 -0
  80. package/dist/src/mcp-tools/coupling-tools.js.map +1 -0
  81. package/dist/src/mcp-tools/index.d.ts +2 -0
  82. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  83. package/dist/src/mcp-tools/index.js +2 -0
  84. package/dist/src/mcp-tools/index.js.map +1 -1
  85. package/dist/src/mcp-tools/ownership-tools.d.ts +14 -0
  86. package/dist/src/mcp-tools/ownership-tools.d.ts.map +1 -0
  87. package/dist/src/mcp-tools/ownership-tools.js +51 -0
  88. package/dist/src/mcp-tools/ownership-tools.js.map +1 -0
  89. package/dist/src/mcp-tools/profiles.d.ts.map +1 -1
  90. package/dist/src/mcp-tools/profiles.js +2 -0
  91. package/dist/src/mcp-tools/profiles.js.map +1 -1
  92. package/dist/src/mcp-tools/task-deps.d.ts +35 -0
  93. package/dist/src/mcp-tools/task-deps.d.ts.map +1 -1
  94. package/dist/src/mcp-tools/task-deps.js +87 -0
  95. package/dist/src/mcp-tools/task-deps.js.map +1 -1
  96. package/dist/src/ownership/ownership.d.ts +61 -0
  97. package/dist/src/ownership/ownership.d.ts.map +1 -0
  98. package/dist/src/ownership/ownership.js +151 -0
  99. package/dist/src/ownership/ownership.js.map +1 -0
  100. package/dist/src/pack/pack.d.ts +1 -1
  101. package/dist/src/pack/pack.d.ts.map +1 -1
  102. package/dist/src/pack/pack.js +12 -4
  103. package/dist/src/pack/pack.js.map +1 -1
  104. package/dist/src/redact/redact.d.ts.map +1 -1
  105. package/dist/src/redact/redact.js +47 -16
  106. package/dist/src/redact/redact.js.map +1 -1
  107. package/dist/src/redact/sarif.d.ts +28 -0
  108. package/dist/src/redact/sarif.d.ts.map +1 -0
  109. package/dist/src/redact/sarif.js +53 -0
  110. package/dist/src/redact/sarif.js.map +1 -0
  111. package/dist/src/release/release.d.ts +19 -0
  112. package/dist/src/release/release.d.ts.map +1 -1
  113. package/dist/src/release/release.js +28 -0
  114. package/dist/src/release/release.js.map +1 -1
  115. package/dist/src/usage/reflect.d.ts +9 -1
  116. package/dist/src/usage/reflect.d.ts.map +1 -1
  117. package/dist/src/usage/reflect.js +14 -4
  118. package/dist/src/usage/reflect.js.map +1 -1
  119. package/dist/src/util/since.d.ts +13 -0
  120. package/dist/src/util/since.d.ts.map +1 -0
  121. package/dist/src/util/since.js +21 -0
  122. package/dist/src/util/since.js.map +1 -0
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/package.json +1 -1
@@ -759,6 +759,60 @@ const graphCommand = {
759
759
  return { success: true };
760
760
  }
761
761
  };
762
+ // Doctor subcommand — classify blocked tasks live vs dead + a global deadlock
763
+ // verdict (task-deps.ts::taskDagHealth). Airflow's upstream_failed + DAG
764
+ // deadlock detection: surfaces a task that can NEVER run because a prerequisite
765
+ // failed/was cancelled/is missing, and a whole-graph stall a dispatch loop would
766
+ // otherwise spin on forever.
767
+ const doctorCommand = {
768
+ name: 'doctor',
769
+ aliases: ['health'],
770
+ description: 'Diagnose the task DAG: which blocked tasks can still run (live) vs are permanently stuck because a dependency failed/was cancelled/is missing (dead), and whether the whole graph is deadlocked',
771
+ options: [
772
+ { name: 'json', description: 'Machine-readable output', type: 'boolean', default: false },
773
+ { name: 'ci', description: 'Exit 1 if the DAG is deadlocked or any task is permanently (dead) blocked — gate a dispatch loop', type: 'boolean', default: false }
774
+ ],
775
+ examples: [
776
+ { command: 'swarmdo task doctor', description: 'Show live-blocked vs dead-blocked tasks and any deadlock' },
777
+ { command: 'swarmdo task doctor --ci', description: 'Fail (exit 1) when the task graph is stuck' }
778
+ ],
779
+ action: async (ctx) => {
780
+ const { loadTaskStore } = await import('../mcp-tools/task-tools.js');
781
+ const { taskDagHealth } = await import('../mcp-tools/task-deps.js');
782
+ const store = loadTaskStore(ctx.cwd);
783
+ const health = taskDagHealth(store);
784
+ const stuck = health.deadlocked || health.deadBlocked.length > 0;
785
+ const code = ctx.flags.ci === true && stuck ? 1 : 0;
786
+ if (ctx.flags.json === true) {
787
+ output.printJson({
788
+ deadlocked: health.deadlocked,
789
+ liveBlocked: health.liveBlocked.map(t => t.taskId),
790
+ deadBlocked: health.deadBlocked.map(d => ({ taskId: d.task.taskId, rootCause: d.rootCause })),
791
+ });
792
+ return { success: code === 0, exitCode: code, data: health };
793
+ }
794
+ output.writeln();
795
+ if (health.deadlocked) {
796
+ output.writeln(output.error('⚠ DEADLOCKED') + output.dim(' — pending work exists but nothing is ready and nothing is running'));
797
+ output.writeln();
798
+ }
799
+ output.writeln(output.bold(`Live-blocked (${health.liveBlocked.length})`) + output.dim(' — waiting on deps that can still complete'));
800
+ for (const t of health.liveBlocked) {
801
+ output.writeln(` ${output.dim('○')} ${t.taskId} ${t.description.slice(0, 60)}`);
802
+ }
803
+ output.writeln();
804
+ output.writeln(output.bold(`Dead-blocked (${health.deadBlocked.length})`) + output.dim(' — a prerequisite failed/was cancelled/is missing; will NEVER run without intervention'));
805
+ for (const d of health.deadBlocked) {
806
+ output.writeln(` ${output.error('✗')} ${d.task.taskId} ⇐ dead: ${d.rootCause.join(', ') || '(cycle)'}`);
807
+ }
808
+ if (!stuck) {
809
+ output.writeln();
810
+ output.printSuccess('task graph healthy — no permanent blocks or deadlock');
811
+ }
812
+ output.writeln();
813
+ return { success: code === 0, exitCode: code, data: health };
814
+ }
815
+ };
762
816
  // parse-prd subcommand — decompose a PRD/spec doc into the task DAG (Task Master
763
817
  // parity). The LLM decomposition lives in ../task/parse-prd.ts (injectable +
764
818
  // unit-tested); this layer gates the billable call and creates the linked tasks.
@@ -890,7 +944,7 @@ const parsePrdCommand = {
890
944
  export const taskCommand = {
891
945
  name: 'task',
892
946
  description: 'Task management commands',
893
- subcommands: [createCommand, parsePrdCommand, listCommand, statusCommand, cancelCommand, assignCommand, retryCommand, dispatchCommand, readyCommand, graphCommand],
947
+ subcommands: [createCommand, parsePrdCommand, listCommand, statusCommand, cancelCommand, assignCommand, retryCommand, dispatchCommand, readyCommand, graphCommand, doctorCommand],
894
948
  options: [],
895
949
  examples: [
896
950
  { command: 'swarmdo task create -t implementation -d "Add user auth"', description: 'Create a task' },
@@ -917,7 +971,8 @@ export const taskCommand = {
917
971
  `${output.highlight('assign')} - Assign task to agent(s)`,
918
972
  `${output.highlight('retry')} - Retry a failed task`,
919
973
  `${output.highlight('ready')} - List ready vs dependency-blocked tasks`,
920
- `${output.highlight('graph')} - Show the dependency graph`
974
+ `${output.highlight('graph')} - Show the dependency graph`,
975
+ `${output.highlight('doctor')} - Diagnose live vs dead blocks + deadlock (--ci gates)`
921
976
  ]);
922
977
  output.writeln();
923
978
  output.writeln('Run "swarmdo task <subcommand> --help" for subcommand help');
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/commands/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/commands/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * agents-lint.ts — static validation of Claude Code subagent definitions
3
+ * (`.claude/agents/*.md`).
4
+ *
5
+ * Each subagent file is YAML frontmatter (`name` + `description` required;
6
+ * `tools`, `model` optional) plus a system-prompt body. Claude Code SILENTLY
7
+ * ignores a subagent whose frontmatter is malformed, whose `name` collides with
8
+ * another file, or whose `model` is invalid — so "why isn't my subagent
9
+ * loading?" is an undebuggable footgun, and users mass-copy these files from
10
+ * large community collections where typos ride along. This catches those
11
+ * before CC does.
12
+ *
13
+ * Pure: parsed text in, findings out — same `Finding` shape + report machinery
14
+ * as the rest of config-lint; the command layer only reads files.
15
+ */
16
+ import type { Finding } from './lint.js';
17
+ /** Models a Claude Code subagent `model:` field may name. */
18
+ export declare const AGENT_MODELS: string[];
19
+ /** Lint ONE subagent file's raw text. Pure. */
20
+ export declare function lintAgentFile(file: string, raw: string): Finding[];
21
+ export interface AgentFile {
22
+ file: string;
23
+ raw: string;
24
+ }
25
+ /**
26
+ * Lint a set of subagent files: every per-file rule PLUS cross-file duplicate
27
+ * `name` detection (Claude Code loads only one of a colliding pair). Pure.
28
+ */
29
+ export declare function lintAgents(files: AgentFile[]): Finding[];
30
+ //# sourceMappingURL=agents-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-lint.d.ts","sourceRoot":"","sources":["../../../src/config-lint/agents-lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,WAAW,CAAC;AAInD,6DAA6D;AAC7D,eAAO,MAAM,YAAY,UAAyC,CAAC;AAiDnE,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAElE;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAmBxD"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * agents-lint.ts — static validation of Claude Code subagent definitions
3
+ * (`.claude/agents/*.md`).
4
+ *
5
+ * Each subagent file is YAML frontmatter (`name` + `description` required;
6
+ * `tools`, `model` optional) plus a system-prompt body. Claude Code SILENTLY
7
+ * ignores a subagent whose frontmatter is malformed, whose `name` collides with
8
+ * another file, or whose `model` is invalid — so "why isn't my subagent
9
+ * loading?" is an undebuggable footgun, and users mass-copy these files from
10
+ * large community collections where typos ride along. This catches those
11
+ * before CC does.
12
+ *
13
+ * Pure: parsed text in, findings out — same `Finding` shape + report machinery
14
+ * as the rest of config-lint; the command layer only reads files.
15
+ */
16
+ import { parse as parseYaml } from 'yaml';
17
+ const f = (file, severity, rule, message) => ({ file, severity, rule, message });
18
+ /** Models a Claude Code subagent `model:` field may name. */
19
+ export const AGENT_MODELS = ['sonnet', 'opus', 'haiku', 'inherit'];
20
+ // Leading (optional BOM) `---` fence, YAML body (non-greedy) up to a closing
21
+ // `---` on its own line, then the optional system-prompt body. CRLF-tolerant.
22
+ const FRONTMATTER_RE = /^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n([\s\S]*))?$/;
23
+ function parseAgent(raw) {
24
+ const m = raw.replace(/^\uFEFF/, "").match(FRONTMATTER_RE);
25
+ if (!m)
26
+ return { meta: null, body: '', malformed: 'no YAML frontmatter block (a subagent file must start with `---` … `---`)' };
27
+ const body = m[2] ?? '';
28
+ let fm;
29
+ try {
30
+ fm = parseYaml(m[1]);
31
+ }
32
+ catch (e) {
33
+ return { meta: null, body, malformed: `frontmatter is not valid YAML: ${e.message}` };
34
+ }
35
+ if (fm === null || typeof fm !== 'object' || Array.isArray(fm)) {
36
+ return { meta: null, body, malformed: 'frontmatter must be a YAML mapping of key: value' };
37
+ }
38
+ return { meta: fm, body };
39
+ }
40
+ function lintParsed(file, p) {
41
+ if (p.malformed)
42
+ return [f(file, 'error', 'agent-malformed-frontmatter', p.malformed)];
43
+ const out = [];
44
+ const meta = p.meta;
45
+ if (typeof meta.name !== 'string' || meta.name.trim() === '') {
46
+ out.push(f(file, 'error', 'agent-missing-name', 'frontmatter is missing a non-empty `name`'));
47
+ }
48
+ if (typeof meta.description !== 'string' || meta.description.trim() === '') {
49
+ out.push(f(file, 'error', 'agent-missing-description', 'frontmatter is missing a non-empty `description` (Claude Code routes to a subagent by its description)'));
50
+ }
51
+ if (meta.model !== undefined && !AGENT_MODELS.includes(String(meta.model))) {
52
+ out.push(f(file, 'error', 'agent-bad-model', `model "${String(meta.model)}" is not one of: ${AGENT_MODELS.join(', ')}`));
53
+ }
54
+ if (p.body.trim() === '') {
55
+ out.push(f(file, 'warn', 'agent-empty-body', 'no system prompt below the frontmatter — the subagent has no instructions'));
56
+ }
57
+ return out;
58
+ }
59
+ /** Lint ONE subagent file's raw text. Pure. */
60
+ export function lintAgentFile(file, raw) {
61
+ return lintParsed(file, parseAgent(raw));
62
+ }
63
+ /**
64
+ * Lint a set of subagent files: every per-file rule PLUS cross-file duplicate
65
+ * `name` detection (Claude Code loads only one of a colliding pair). Pure.
66
+ */
67
+ export function lintAgents(files) {
68
+ const out = [];
69
+ const nameToFiles = new Map();
70
+ for (const { file, raw } of files) {
71
+ const p = parseAgent(raw);
72
+ out.push(...lintParsed(file, p));
73
+ const name = p.meta && typeof p.meta.name === 'string' ? p.meta.name.trim() : '';
74
+ if (name) {
75
+ const arr = nameToFiles.get(name) ?? [];
76
+ arr.push(file);
77
+ nameToFiles.set(name, arr);
78
+ }
79
+ }
80
+ for (const [name, group] of nameToFiles) {
81
+ if (group.length > 1) {
82
+ out.push(f(group[0], 'error', 'agent-duplicate-name', `subagent name "${name}" is declared by ${group.length} files (${group.join(', ')}) — Claude Code loads only one; rename the rest`));
83
+ }
84
+ }
85
+ return out;
86
+ }
87
+ //# sourceMappingURL=agents-lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-lint.js","sourceRoot":"","sources":["../../../src/config-lint/agents-lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * commands-lint.ts — static validation of Claude Code custom slash commands
3
+ * (the `.claude/commands` tree) and skills (`.claude/skills/<name>/SKILL.md`).
4
+ *
5
+ * Slash commands / skills are the most-copied Claude Code power-user artifact,
6
+ * and CC swallows their footguns silently: malformed YAML frontmatter makes CC
7
+ * load the body with EMPTY metadata (so `/cmd` "works" typed but Claude can
8
+ * never auto-match it), and two body rules bite in ways manual review misses —
9
+ * an inline `` !`cmd` `` that isn't at a line start / after whitespace is left as
10
+ * literal text and NEVER runs, and one whose command no `allowed-tools` Bash
11
+ * rule covers prompts/blocks instead of running pre-approved. This catches those
12
+ * before CC does. Sibling of agents-lint; same `Finding` shape.
13
+ *
14
+ * Pure: parsed text in, findings out. Reuses the permission-rule matcher
15
+ * (parseRule/covers) so allowed-tools coverage matches Claude Code's own glob
16
+ * semantics. Only truly-bounded fields are enum-checked (NOT `model`, which
17
+ * accepts aliases and full IDs) to stay false-positive-safe.
18
+ */
19
+ import type { Finding } from './lint.js';
20
+ /** Reasoning-effort levels a command/skill `effort:` field may name. */
21
+ export declare const EFFORT_LEVELS: string[];
22
+ /** Lint ONE command/skill file's raw text. `kind` toggles the skill-only rule
23
+ * that frontmatter (with name + description) is REQUIRED. Pure. */
24
+ export declare function lintCommandFile(file: string, raw: string, kind?: 'command' | 'skill'): Finding[];
25
+ export interface CommandFile {
26
+ file: string;
27
+ raw: string;
28
+ }
29
+ /** Lint a set of command files and skill files. Pure. */
30
+ export declare function lintCommandFiles(commands: CommandFile[], skills?: CommandFile[]): Finding[];
31
+ //# sourceMappingURL=commands-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-lint.d.ts","sourceRoot":"","sources":["../../../src/config-lint/commands-lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,WAAW,CAAC;AAInD,wEAAwE;AACxE,eAAO,MAAM,aAAa,UAA4C,CAAC;AAsEvE;mEACmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,GAAG,OAAmB,GAAG,OAAO,EAAE,CAuC3G;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,GAAE,WAAW,EAAO,GAAG,OAAO,EAAE,CAK/F"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * commands-lint.ts — static validation of Claude Code custom slash commands
3
+ * (the `.claude/commands` tree) and skills (`.claude/skills/<name>/SKILL.md`).
4
+ *
5
+ * Slash commands / skills are the most-copied Claude Code power-user artifact,
6
+ * and CC swallows their footguns silently: malformed YAML frontmatter makes CC
7
+ * load the body with EMPTY metadata (so `/cmd` "works" typed but Claude can
8
+ * never auto-match it), and two body rules bite in ways manual review misses —
9
+ * an inline `` !`cmd` `` that isn't at a line start / after whitespace is left as
10
+ * literal text and NEVER runs, and one whose command no `allowed-tools` Bash
11
+ * rule covers prompts/blocks instead of running pre-approved. This catches those
12
+ * before CC does. Sibling of agents-lint; same `Finding` shape.
13
+ *
14
+ * Pure: parsed text in, findings out. Reuses the permission-rule matcher
15
+ * (parseRule/covers) so allowed-tools coverage matches Claude Code's own glob
16
+ * semantics. Only truly-bounded fields are enum-checked (NOT `model`, which
17
+ * accepts aliases and full IDs) to stay false-positive-safe.
18
+ */
19
+ import { parse as parseYaml } from 'yaml';
20
+ import { parseRule, covers } from '../permissions/audit.js';
21
+ const f = (file, severity, rule, message) => ({ file, severity, rule, message });
22
+ /** Reasoning-effort levels a command/skill `effort:` field may name. */
23
+ export const EFFORT_LEVELS = ['low', 'medium', 'high', 'xhigh', 'max'];
24
+ const FRONTMATTER_RE = /^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n([\s\S]*))?$/;
25
+ function parseFile(raw) {
26
+ const text = raw.replace(/^\uFEFF/, '');
27
+ const m = text.match(FRONTMATTER_RE);
28
+ if (!m) {
29
+ // An opening `---` with no closing fence is malformed; anything else is a
30
+ // plain-markdown command (no frontmatter — perfectly valid).
31
+ if (/^---[ \t]*\r?\n/.test(text))
32
+ return { meta: null, body: text, malformed: 'has an opening `---` but no closing `---` fence' };
33
+ return { meta: null, body: text };
34
+ }
35
+ const body = m[2] ?? '';
36
+ let fm;
37
+ try {
38
+ fm = parseYaml(m[1]);
39
+ }
40
+ catch (e) {
41
+ return { meta: null, body, malformed: `frontmatter is not valid YAML: ${e.message}` };
42
+ }
43
+ if (fm === null || typeof fm !== 'object' || Array.isArray(fm)) {
44
+ return { meta: null, body, malformed: 'frontmatter must be a YAML mapping of key: value' };
45
+ }
46
+ return { meta: fm, body };
47
+ }
48
+ /**
49
+ * Inline bash-injection placeholders `` !`cmd` `` in the body. Claude Code only
50
+ * RUNS one whose `!` is at a line start or immediately after whitespace; if `!`
51
+ * follows another character (e.g. `` KEY=!`cmd` ``) it is left as literal text.
52
+ */
53
+ function bashInjections(body) {
54
+ const out = [];
55
+ const re = /!`([^`\n]+)`/g;
56
+ let m;
57
+ while ((m = re.exec(body)) !== null) {
58
+ const at = m.index;
59
+ const active = at === 0 || /\s/.test(body[at - 1]);
60
+ out.push({ cmd: m[1].trim(), active });
61
+ }
62
+ return out;
63
+ }
64
+ /** Parse the `allowed-tools` frontmatter (string list or YAML array) into rules;
65
+ * null = the key is absent (no pre-approval declared, so coverage isn't checked). */
66
+ function allowedToolRules(meta) {
67
+ const at = meta['allowed-tools'] ?? meta['allowedTools'];
68
+ if (at === undefined)
69
+ return null;
70
+ const parts = Array.isArray(at) ? at.map(String) : typeof at === 'string' ? at.split(',') : [];
71
+ const rules = [];
72
+ for (const p of parts) {
73
+ const r = parseRule(p.trim());
74
+ if (r.tool !== undefined)
75
+ rules.push(r);
76
+ }
77
+ return rules;
78
+ }
79
+ /** Lint ONE command/skill file's raw text. `kind` toggles the skill-only rule
80
+ * that frontmatter (with name + description) is REQUIRED. Pure. */
81
+ export function lintCommandFile(file, raw, kind = 'command') {
82
+ const p = parseFile(raw);
83
+ const out = [];
84
+ if (p.malformed) {
85
+ out.push(f(file, 'error', 'command-malformed-frontmatter', p.malformed));
86
+ }
87
+ else if (kind === 'skill' && !p.meta) {
88
+ out.push(f(file, 'error', 'skill-missing-frontmatter', 'a SKILL.md must start with a `---` … `---` frontmatter block declaring `name` and `description`'));
89
+ }
90
+ const meta = p.meta;
91
+ if (meta) {
92
+ if (kind === 'skill' && (typeof meta.name !== 'string' || meta.name.trim() === '')) {
93
+ out.push(f(file, 'error', 'skill-missing-name', 'frontmatter is missing a non-empty `name`'));
94
+ }
95
+ if (typeof meta.description !== 'string' || meta.description.trim() === '') {
96
+ const how = kind === 'skill' ? 'decide when to invoke the skill' : 'list the command and model-invoke it';
97
+ out.push(f(file, kind === 'skill' ? 'error' : 'warn', 'command-missing-description', `frontmatter has no non-empty \`description\` (Claude Code uses it to ${how})`));
98
+ }
99
+ if (meta.effort !== undefined && !EFFORT_LEVELS.includes(String(meta.effort))) {
100
+ out.push(f(file, 'error', 'command-bad-effort', `effort "${String(meta.effort)}" is not one of: ${EFFORT_LEVELS.join(', ')}`));
101
+ }
102
+ }
103
+ // Body cross-checks (both kinds). Coverage is only checked when allowed-tools
104
+ // is declared — otherwise the author never opted into pre-approval.
105
+ const rules = meta ? allowedToolRules(meta) : null;
106
+ for (const inj of bashInjections(p.body)) {
107
+ const tok = '!`' + inj.cmd + '`';
108
+ if (!inj.active) {
109
+ out.push(f(file, 'warn', 'command-inert-bash-injection', `inline bash ${tok} follows a non-whitespace character — Claude Code leaves it as literal text and never runs it (put \`!\` at a line start or after whitespace)`));
110
+ continue;
111
+ }
112
+ if (rules && rules.length > 0 && !rules.some((r) => covers(r, { tool: 'Bash', specifier: inj.cmd }))) {
113
+ out.push(f(file, 'warn', 'command-uncovered-bash-injection', `inline bash ${tok} is not covered by any \`allowed-tools\` Bash rule — it will prompt/block instead of running pre-approved`));
114
+ }
115
+ }
116
+ return out;
117
+ }
118
+ /** Lint a set of command files and skill files. Pure. */
119
+ export function lintCommandFiles(commands, skills = []) {
120
+ const out = [];
121
+ for (const c of commands)
122
+ out.push(...lintCommandFile(c.file, c.raw, 'command'));
123
+ for (const s of skills)
124
+ out.push(...lintCommandFile(s.file, s.raw, 'skill'));
125
+ return out;
126
+ }
127
+ //# sourceMappingURL=commands-lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-lint.js","sourceRoot":"","sources":["../../../src/config-lint/commands-lint.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export interface Finding {
17
17
  }
18
18
  export declare const TOPOLOGIES: string[];
19
19
  export declare const MEMORY_BACKENDS: string[];
20
+ import { type AgentFile } from './agents-lint.js';
21
+ import { type CommandFile } from './commands-lint.js';
20
22
  export declare const KNOWN_CONFIG_KEYS: string[];
21
23
  export declare const HOOK_EVENTS: string[];
22
24
  /** Parse a JSON file's raw text; a null raw means "file absent" (fine). */
@@ -49,6 +51,12 @@ export interface LintInput {
49
51
  /** entries under `.claude/commands/sDo/` — used to identify flat pre-1.4 twins */
50
52
  sdoCommands?: string[];
51
53
  skills?: string[];
54
+ /** `.claude/agents/*.md` subagent definitions (raw text per file) */
55
+ agentFiles?: AgentFile[];
56
+ /** custom slash commands under the `.claude/commands` tree (raw text per file) */
57
+ commandFiles?: CommandFile[];
58
+ /** skill definitions at `.claude/skills/<name>/SKILL.md` (raw text per file) */
59
+ skillFiles?: CommandFile[];
52
60
  }
53
61
  export interface LintReport {
54
62
  findings: Finding[];
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/config-lint/lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,UAAU,UAAsF,CAAC;AAC9G,eAAO,MAAM,eAAe,UAA4C,CAAC;AAGzE,eAAO,MAAM,iBAAiB,UAAsM,CAAC;AAGrO,eAAO,MAAM,WAAW,UAevB,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAOhG;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,CA6BvE;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,CAmCvE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,CA8BnE;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,OAAO,EAAE,CAqBhH;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACrD,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACvD,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iDAAiD;AACjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAoBpD"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/config-lint/lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,UAAU,UAAsF,CAAC;AAC9G,eAAO,MAAM,eAAe,UAA4C,CAAC;AAEzE,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAExE,eAAO,MAAM,iBAAiB,UAAsM,CAAC;AAGrO,eAAO,MAAM,WAAW,UAevB,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAOhG;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,CA6BvE;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,CAmCvE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,CA8BnE;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,OAAO,EAAE,CAqBhH;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACrD,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACvD,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,kFAAkF;IAClF,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gFAAgF;IAChF,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iDAAiD;AACjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAwBpD"}
@@ -12,6 +12,8 @@ const f = (file, severity, rule, message) => ({ file, severity, rule, message })
12
12
  export const TOPOLOGIES = ['hierarchical', 'mesh', 'hierarchical-mesh', 'ring', 'star', 'hybrid', 'adaptive'];
13
13
  export const MEMORY_BACKENDS = ['agentdb', 'sqlite', 'hybrid', 'memory'];
14
14
  import { parseOpenRouterConfig } from '../providers/openrouter-config.js';
15
+ import { lintAgents } from './agents-lint.js';
16
+ import { lintCommandFiles } from './commands-lint.js';
15
17
  export const KNOWN_CONFIG_KEYS = ['topology', 'maxAgents', 'strategy', 'consensus', 'memory', 'memoryBackend', 'hnsw', 'neural', 'embeddings', 'providers', 'mcp', 'logging', 'daemon', 'hooks', 'version', 'openrouter', '$schema'];
16
18
  // Current Claude Code hook events (source: code.claude.com/docs/en/hooks).
17
19
  // Kept in sync with the runtime; a stale list here false-warns on valid hooks.
@@ -194,6 +196,11 @@ export function lintAll(input) {
194
196
  findings.push(...jf, ...lintMcpConfig(input.mcpConfig.file, obj));
195
197
  }
196
198
  findings.push(...lintLegacyLayout(input.commandsRoot ?? [], input.skills ?? [], input.sdoCommands ?? []));
199
+ if (input.agentFiles?.length)
200
+ findings.push(...lintAgents(input.agentFiles));
201
+ if (input.commandFiles?.length || input.skillFiles?.length) {
202
+ findings.push(...lintCommandFiles(input.commandFiles ?? [], input.skillFiles ?? []));
203
+ }
197
204
  return {
198
205
  findings,
199
206
  errors: findings.filter((x) => x.severity === 'error').length,