@rulemetric/cli 0.12.7 → 0.13.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 (262) hide show
  1. package/dist/base-command.js +1 -1
  2. package/dist/{chunk-INSKP5ED.js → chunk-25Q3Y7TC.js} +1 -1
  3. package/dist/{chunk-YSLKV4XC.js → chunk-25RDT32M.js} +1 -1
  4. package/dist/{chunk-HQCPGDQE.js → chunk-2EX27VJ3.js} +1 -1
  5. package/dist/{chunk-MJ5H7RDK.js → chunk-3MDEGOUG.js} +1 -1
  6. package/dist/{chunk-AGK5AUWT.js → chunk-3UPHCQWI.js} +1 -1
  7. package/dist/{chunk-FE2UWAIP.js → chunk-4COLIGD7.js} +1 -1
  8. package/dist/chunk-4FSQSETR.js +12 -0
  9. package/dist/{chunk-2KJAM2NG.js → chunk-4N43IBXH.js} +1 -1
  10. package/dist/chunk-4VN5PG2S.js +1 -0
  11. package/dist/chunk-5MXZJWQS.js +2 -0
  12. package/dist/{chunk-OOFGV7EX.js → chunk-5XK6LB2T.js} +1 -1
  13. package/dist/{chunk-MILLBGCB.js → chunk-6GAIYJ6K.js} +1 -1
  14. package/dist/chunk-6QLZT7EP.js +1 -0
  15. package/dist/{chunk-GRPUY2EZ.js → chunk-6W2GSV4O.js} +1 -1
  16. package/dist/{chunk-W23MESHM.js → chunk-6WQG6C7F.js} +1 -1
  17. package/dist/chunk-6XTLP2G7.js +1 -0
  18. package/dist/{chunk-E4RGYYBC.js → chunk-6ZPSVZNH.js} +1 -1
  19. package/dist/{chunk-TBU5SWA4.js → chunk-7AWFSFR7.js} +1 -1
  20. package/dist/{chunk-UGACB66X.js → chunk-APDRR6FS.js} +1 -1
  21. package/dist/{chunk-AFYZYXQ3.js → chunk-BG55WDDX.js} +1 -1
  22. package/dist/chunk-BZS5QRWB.js +4 -0
  23. package/dist/chunk-C42NTI2V.js +3 -0
  24. package/dist/{chunk-A2LHEUNW.js → chunk-CYYDQFRY.js} +1 -1
  25. package/dist/{chunk-NKJTNGXR.js → chunk-DUBBL57L.js} +1 -1
  26. package/dist/{chunk-E7XOYGL5.js → chunk-F6DAHCJC.js} +8 -8
  27. package/dist/{chunk-WCIX5KWG.js → chunk-GBWQENAH.js} +1 -1
  28. package/dist/{chunk-GOA5Q6TY.js → chunk-GJBS6QYC.js} +1 -1
  29. package/dist/{chunk-FUYR7CFD.js → chunk-H3BCWSYO.js} +1 -1
  30. package/dist/chunk-HLNHBZLI.js +1 -0
  31. package/dist/{chunk-WO6MS654.js → chunk-HLQZR4XJ.js} +1 -1
  32. package/dist/{chunk-DCH3QWB7.js → chunk-I3M5VBLT.js} +1 -1
  33. package/dist/{chunk-WMIUFMDI.js → chunk-J5HW45PZ.js} +9 -9
  34. package/dist/{chunk-CPDMJGTC.js → chunk-J6QMBMC2.js} +1 -1
  35. package/dist/{chunk-W67DO5PT.js → chunk-JNFB22FD.js} +1 -1
  36. package/dist/chunk-JWFRI32Y.js +3 -0
  37. package/dist/{chunk-WTMJSL7R.js → chunk-KCOJLTVX.js} +1 -1
  38. package/dist/chunk-KINIFUZQ.js +1 -0
  39. package/dist/{chunk-RFISMWRW.js → chunk-KV5A77XW.js} +1 -1
  40. package/dist/{chunk-DPCAPIQB.js → chunk-LTQ5BJYL.js} +1 -1
  41. package/dist/{chunk-G3HODHFN.js → chunk-M2VVRQKA.js} +1 -1
  42. package/dist/chunk-MLV2RHRE.js +1 -0
  43. package/dist/{chunk-UA5GEVGW.js → chunk-MNQPCNGQ.js} +1 -1
  44. package/dist/chunk-N7GK33PU.js +1 -0
  45. package/dist/{chunk-L54TWWBY.js → chunk-NBEZ5FAU.js} +1 -1
  46. package/dist/{chunk-PWTTCSQA.js → chunk-NRYLYMDM.js} +1 -1
  47. package/dist/{chunk-BTQQPQRG.js → chunk-O2HCD6XL.js} +1 -1
  48. package/dist/chunk-OZNKMJ5B.js +1 -0
  49. package/dist/{chunk-VYZKKSX4.js → chunk-P2WSDHIA.js} +1 -1
  50. package/dist/chunk-PPXOC7IV.js +1 -0
  51. package/dist/{chunk-5PM4E27L.js → chunk-PVGUDJD7.js} +1 -1
  52. package/dist/chunk-QFKUSNUB.js +1 -0
  53. package/dist/{chunk-EZHL527S.js → chunk-QTCWOIT4.js} +1 -1
  54. package/dist/chunk-R4QIPG4V.js +2 -0
  55. package/dist/{chunk-O65AQZYB.js → chunk-RGUCR7T6.js} +1 -1
  56. package/dist/chunk-RJX75Y7J.js +1 -0
  57. package/dist/{chunk-KJRMGTAO.js → chunk-RK663O4M.js} +1 -1
  58. package/dist/chunk-RO3ZZVCG.js +1 -0
  59. package/dist/{chunk-NF2BIEAF.js → chunk-SBGXIPRN.js} +1 -1
  60. package/dist/{chunk-S2SKT5PV.js → chunk-SN3CHV66.js} +1 -1
  61. package/dist/chunk-U3XKXJ3A.js +5 -0
  62. package/dist/chunk-U7TBEC3I.js +5 -0
  63. package/dist/{chunk-CZTTW3MZ.js → chunk-UE76F2NQ.js} +1 -1
  64. package/dist/chunk-UM4CBCXI.js +1 -0
  65. package/dist/{chunk-22ZDUL6H.js → chunk-UYPBIXF2.js} +1 -1
  66. package/dist/{chunk-5N5S3NKS.js → chunk-V2USQH27.js} +1 -1
  67. package/dist/{chunk-PVPYLKB3.js → chunk-VH2EAP4J.js} +1 -1
  68. package/dist/{chunk-UTAETY5Z.js → chunk-VIQ25ORK.js} +1 -1
  69. package/dist/chunk-VMJH4DNA.js +14 -0
  70. package/dist/{chunk-XFAFMYIP.js → chunk-VXUKXGRX.js} +1 -1
  71. package/dist/{chunk-BJSVATVJ.js → chunk-WH3IPXXQ.js} +2 -2
  72. package/dist/chunk-WHQ4BDSM.js +4 -0
  73. package/dist/{chunk-GHWBW2IW.js → chunk-WJZY5Y22.js} +1 -1
  74. package/dist/chunk-WOJ733IB.js +1 -0
  75. package/dist/{chunk-AKXGUQ5B.js → chunk-WQX4RRBQ.js} +1 -1
  76. package/dist/{chunk-ARC4Q3GL.js → chunk-WY3VVX3R.js} +1 -1
  77. package/dist/{chunk-Z4YVOVMM.js → chunk-Y7QIOPN5.js} +1 -1
  78. package/dist/{chunk-UKOI2Q4J.js → chunk-YI2OWO6R.js} +1 -1
  79. package/dist/{chunk-DSJNZWCZ.js → chunk-ZGW3N3A6.js} +1 -1
  80. package/dist/commands/antigravity/backfill.js +1 -1
  81. package/dist/commands/auth/create-key.js +1 -1
  82. package/dist/commands/auth/login.js +1 -1
  83. package/dist/commands/auth/logout.js +1 -1
  84. package/dist/commands/auth/revoke-key.js +1 -1
  85. package/dist/commands/auth/signup.js +1 -1
  86. package/dist/commands/auth/status.js +1 -1
  87. package/dist/commands/capture/scope.js +1 -1
  88. package/dist/commands/catalog/index.js +1 -1
  89. package/dist/commands/catalog/recommend.js +1 -1
  90. package/dist/commands/crons/list.js +1 -1
  91. package/dist/commands/crons/run.js +1 -1
  92. package/dist/commands/dashboard.js +1 -1
  93. package/dist/commands/diagnostics.js +1 -1
  94. package/dist/commands/eval-targets/create.js +1 -1
  95. package/dist/commands/eval-targets/list.js +1 -1
  96. package/dist/commands/evals/agent.js +3 -3
  97. package/dist/commands/evals/auto-run.js +1 -1
  98. package/dist/commands/evals/benchmark.js +1 -1
  99. package/dist/commands/evals/compare.js +1 -1
  100. package/dist/commands/evals/create.js +1 -1
  101. package/dist/commands/evals/optimize-description.js +1 -1
  102. package/dist/commands/evals/optimize.js +1 -1
  103. package/dist/commands/evals/refine-cases.js +1 -1
  104. package/dist/commands/evals/run.js +1 -1
  105. package/dist/commands/evals/validate-judge.js +1 -1
  106. package/dist/commands/experiments/list.js +1 -1
  107. package/dist/commands/gateway/ensure.js +1 -1
  108. package/dist/commands/hooks/emit-instructions.js +1 -1
  109. package/dist/commands/hooks/install.js +1 -1
  110. package/dist/commands/hooks/run.js +1 -1
  111. package/dist/commands/hooks/uninstall.js +1 -1
  112. package/dist/commands/instructions/create.js +1 -1
  113. package/dist/commands/instructions/dedupe.js +1 -1
  114. package/dist/commands/instructions/delete.js +1 -1
  115. package/dist/commands/instructions/fork.js +1 -1
  116. package/dist/commands/instructions/get.js +1 -1
  117. package/dist/commands/instructions/list.js +1 -1
  118. package/dist/commands/instructions/promote.js +1 -1
  119. package/dist/commands/instructions/pull.js +1 -1
  120. package/dist/commands/instructions/restore.js +1 -1
  121. package/dist/commands/instructions/retract.js +1 -1
  122. package/dist/commands/instructions/upstream.js +1 -1
  123. package/dist/commands/instructions/versions.js +1 -1
  124. package/dist/commands/launcher.js +1 -1
  125. package/dist/commands/local/down.js +1 -1
  126. package/dist/commands/local/up.js +1 -1
  127. package/dist/commands/org/current.js +1 -1
  128. package/dist/commands/org/list.js +1 -1
  129. package/dist/commands/org/switch.js +1 -1
  130. package/dist/commands/packs/add-instruction.js +1 -1
  131. package/dist/commands/packs/apply.js +1 -1
  132. package/dist/commands/packs/create.js +1 -1
  133. package/dist/commands/packs/fork.js +1 -1
  134. package/dist/commands/packs/get.js +1 -1
  135. package/dist/commands/packs/list.js +1 -1
  136. package/dist/commands/packs/remove-instruction.js +1 -1
  137. package/dist/commands/proxy/env.js +1 -1
  138. package/dist/commands/proxy/logs.js +1 -1
  139. package/dist/commands/proxy/restart.js +1 -1
  140. package/dist/commands/proxy/setup.js +1 -1
  141. package/dist/commands/proxy/start.js +1 -1
  142. package/dist/commands/proxy/status.js +1 -1
  143. package/dist/commands/proxy/stop.js +1 -1
  144. package/dist/commands/research/backfill.js +1 -1
  145. package/dist/commands/research/tail-transcript.js +1 -1
  146. package/dist/commands/service/install.js +1 -1
  147. package/dist/commands/service/status.js +1 -1
  148. package/dist/commands/service/uninstall.js +1 -1
  149. package/dist/commands/sessions/analyze.js +1 -1
  150. package/dist/commands/sessions/delete.js +1 -1
  151. package/dist/commands/sessions/end.js +1 -1
  152. package/dist/commands/sessions/import.js +1 -1
  153. package/dist/commands/sessions/list.js +1 -1
  154. package/dist/commands/sessions/start.js +1 -1
  155. package/dist/commands/setup.js +1 -1
  156. package/dist/commands/skills/export-approved.js +1 -1
  157. package/dist/commands/skills/install.js +1 -1
  158. package/dist/commands/skills/list.js +1 -1
  159. package/dist/commands/skills/publish.js +1 -1
  160. package/dist/commands/skills/search.js +1 -1
  161. package/dist/commands/skills/update.js +1 -1
  162. package/dist/commands/suggestions/accept.js +1 -1
  163. package/dist/commands/suggestions/auto.js +1 -1
  164. package/dist/commands/suggestions/dismiss.js +1 -1
  165. package/dist/commands/suggestions/list.js +1 -1
  166. package/dist/commands/suggestions/refresh.js +1 -1
  167. package/dist/commands/suggestions/undo.js +1 -1
  168. package/dist/dashboard/Dashboard.js +1 -1
  169. package/dist/dashboard/data.js +1 -1
  170. package/dist/dashboard/launcher/LauncherOverlay.js +1 -1
  171. package/dist/dashboard/launcher/api.js +1 -1
  172. package/dist/dashboard/launcher/useLaunchJobs.js +1 -1
  173. package/dist/{dist-XEWF3R3N.js → dist-45KJH5M7.js} +1 -1
  174. package/dist/lib/active-org-refresh.js +1 -1
  175. package/dist/lib/agent-loop.js +1 -1
  176. package/dist/lib/antigravity-transcript.js +1 -1
  177. package/dist/lib/api-client.js +1 -1
  178. package/dist/lib/codex-exec.js +1 -1
  179. package/dist/lib/ensure-api-key.js +1 -1
  180. package/dist/lib/ensure-fresh-token.js +1 -1
  181. package/dist/lib/eval-analyzer.js +1 -1
  182. package/dist/lib/eval-benchmark.js +1 -1
  183. package/dist/lib/eval-candidate-run.js +1 -1
  184. package/dist/lib/eval-case-generator.js +1 -1
  185. package/dist/lib/eval-conversation-handler.js +1 -1
  186. package/dist/lib/eval-executor.js +1 -1
  187. package/dist/lib/eval-grader.js +1 -1
  188. package/dist/lib/eval-meta-judge.js +1 -1
  189. package/dist/lib/eval-resume.js +1 -1
  190. package/dist/lib/eval-run-batch.js +1 -1
  191. package/dist/lib/eval-trigger-tester.js +1 -1
  192. package/dist/lib/evolution-enrolment.js +1 -1
  193. package/dist/lib/gateway-entry.js +1 -1
  194. package/dist/lib/gateway.js +1 -1
  195. package/dist/lib/harbor-readiness.js +1 -0
  196. package/dist/lib/insights/generation/installed-asks.js +1 -1
  197. package/dist/lib/insights/nomination/nominate.js +1 -1
  198. package/dist/lib/instruction-proposer.js +1 -1
  199. package/dist/lib/instruction-snapshot.js +1 -1
  200. package/dist/lib/instructions/acceptance/accept-events.js +1 -1
  201. package/dist/lib/instructions/acceptance/accept-hook.js +1 -1
  202. package/dist/lib/instructions/acceptance/agent-instruction-files.js +1 -0
  203. package/dist/lib/instructions/acceptance/hook-install.js +1 -1
  204. package/dist/lib/instructions/acceptance/reverse-applications.js +1 -1
  205. package/dist/lib/instructions/acceptance/suggestion-accept.js +1 -1
  206. package/dist/lib/jobs/handlers/cron-auto-accept-suggestions.js +1 -1
  207. package/dist/lib/jobs/handlers/cron-eval-autorun.js +1 -1
  208. package/dist/lib/jobs/handlers/cron-instruction-evolution.js +1 -1
  209. package/dist/lib/jobs/handlers/cron-instruction-training.js +1 -1
  210. package/dist/lib/jobs/handlers/cron-reconcile-attribution.js +1 -1
  211. package/dist/lib/jobs/handlers/cron-refine-cases.js +1 -1
  212. package/dist/lib/jobs/handlers/cron-refresh-pricing.js +1 -1
  213. package/dist/lib/jobs/handlers/cron-retire-unused-skills.js +1 -1
  214. package/dist/lib/jobs/handlers/cron-suggest-instructions.js +1 -1
  215. package/dist/lib/jobs/handlers/distill-memories.js +1 -1
  216. package/dist/lib/jobs/handlers/harbor-ab-verdict.js +1 -0
  217. package/dist/lib/jobs/handlers/harbor-ab.js +1 -0
  218. package/dist/lib/jobs/handlers/process-changelog.js +1 -1
  219. package/dist/lib/jobs/handlers/process-conversation.js +1 -1
  220. package/dist/lib/jobs/handlers/process-eval.js +1 -1
  221. package/dist/lib/jobs/handlers/process-insights.js +1 -1
  222. package/dist/lib/jobs/handlers/process-judge-review.js +1 -1
  223. package/dist/lib/jobs/handlers/process-launch.js +1 -1
  224. package/dist/lib/jobs/handlers/process-memory-ab.js +1 -1
  225. package/dist/lib/jobs/handlers/process-run-cleanup.js +1 -1
  226. package/dist/lib/jobs/handlers/process-session-goal.js +1 -1
  227. package/dist/lib/jobs/shed-retry.js +1 -0
  228. package/dist/lib/judge-review-runner.js +1 -1
  229. package/dist/lib/llm-client.js +1 -1
  230. package/dist/lib/llm-json.js +1 -0
  231. package/dist/lib/machine-pause-detector.js +1 -1
  232. package/dist/lib/manual-tasks-meta.js +1 -1
  233. package/dist/lib/manual-tasks.js +1 -1
  234. package/dist/lib/projects/workspace/worktree.js +1 -1
  235. package/dist/lib/refine-cases.js +1 -1
  236. package/dist/lib/research-client.js +1 -1
  237. package/dist/lib/retraction.js +1 -1
  238. package/dist/lib/reviewer-detect.js +1 -1
  239. package/dist/lib/setup-steps.js +1 -1
  240. package/dist/lib/telemetry.js +1 -1
  241. package/dist/lib/terminal-target-heartbeat.js +1 -1
  242. package/dist/lib/tool-bin.js +1 -0
  243. package/dist/lib/transcript-instruction-linking.js +1 -0
  244. package/dist/lib/transcript-sync.js +1 -1
  245. package/dist/lib/work-report.js +1 -0
  246. package/oclif.manifest.json +336 -329
  247. package/package.json +8 -7
  248. package/dist/chunk-3DZD322E.js +0 -1
  249. package/dist/chunk-47YDQYTD.js +0 -14
  250. package/dist/chunk-5OX6YKTR.js +0 -5
  251. package/dist/chunk-APXQLQZY.js +0 -1
  252. package/dist/chunk-C6GLNE6X.js +0 -1
  253. package/dist/chunk-CNQ5DTNC.js +0 -1
  254. package/dist/chunk-EVD5A3VI.js +0 -1
  255. package/dist/chunk-GWDZNGUP.js +0 -2
  256. package/dist/chunk-LUCVMLHV.js +0 -1
  257. package/dist/chunk-QBNLZJIR.js +0 -6
  258. package/dist/chunk-RIVEBBZC.js +0 -3
  259. package/dist/chunk-RLEMDKQ4.js +0 -12
  260. package/dist/chunk-TZA4HAVF.js +0 -1
  261. package/dist/chunk-UUFCTEBT.js +0 -1
  262. package/dist/chunk-UXB6DRR7.js +0 -3
@@ -284,18 +284,13 @@
284
284
  "backfill.js"
285
285
  ]
286
286
  },
287
- "capture:scope": {
287
+ "auth:create-key": {
288
288
  "aliases": [],
289
289
  "args": {},
290
- "description": "Show or set which projects RuleMetric captures — the Codex sweep and hook-driven sessions each have their own scope",
290
+ "description": "Create a long-lived API key for CLI and proxy authentication",
291
291
  "examples": [
292
- "<%= config.bin %> <%= command.id %>",
293
- "<%= config.bin %> <%= command.id %> --add ~/work/client-a --add ~/work/client-b",
294
- "<%= config.bin %> <%= command.id %> --tool hooks --add ~/work/client-a",
295
- "<%= config.bin %> <%= command.id %> --tool hooks --off",
296
- "<%= config.bin %> <%= command.id %> --remove ~/work/client-a",
297
- "<%= config.bin %> <%= command.id %> --off",
298
- "<%= config.bin %> <%= command.id %> --all"
292
+ "<%= config.bin %> auth create-key --name \"laptop\"",
293
+ "<%= config.bin %> auth create-key --name \"ci token\" --no-save"
299
294
  ],
300
295
  "flags": {
301
296
  "api-url": {
@@ -307,60 +302,26 @@
307
302
  "multiple": false,
308
303
  "type": "option"
309
304
  },
310
- "tool": {
311
- "description": "Which capture path to edit: \"codex\" (the worker transcript sweep, the default) or \"hooks\" (Claude Code / Cursor / Copilot / Antigravity hook sessions).",
312
- "name": "tool",
313
- "default": "codex",
305
+ "name": {
306
+ "char": "n",
307
+ "description": "Name for this key",
308
+ "name": "name",
309
+ "required": true,
314
310
  "hasDynamicHelp": false,
315
311
  "multiple": false,
316
- "options": [
317
- "codex",
318
- "hooks"
319
- ],
320
312
  "type": "option"
321
313
  },
322
- "add": {
323
- "description": "Capture sessions under this path (repeatable). Implies an allowlist.",
324
- "name": "add",
325
- "hasDynamicHelp": false,
326
- "multiple": true,
327
- "type": "option"
328
- },
329
- "remove": {
330
- "description": "Stop capturing under this path (repeatable).",
331
- "name": "remove",
332
- "hasDynamicHelp": false,
333
- "multiple": true,
334
- "type": "option"
335
- },
336
- "off": {
337
- "description": "Turn this capture path off entirely.",
338
- "exclusive": [
339
- "all"
340
- ],
341
- "name": "off",
342
- "allowNo": false,
343
- "type": "boolean"
344
- },
345
- "all": {
346
- "description": "Capture every project (the default).",
347
- "exclusive": [
348
- "off"
349
- ],
350
- "name": "all",
351
- "allowNo": false,
352
- "type": "boolean"
353
- },
354
- "clear": {
355
- "description": "Remove this scope, restoring the default.",
356
- "name": "clear",
357
- "allowNo": false,
314
+ "save": {
315
+ "char": "s",
316
+ "description": "Save key to ~/.config/rulemetric/env for hooks/proxy",
317
+ "name": "save",
318
+ "allowNo": true,
358
319
  "type": "boolean"
359
320
  }
360
321
  },
361
322
  "hasDynamicHelp": false,
362
323
  "hiddenAliases": [],
363
- "id": "capture:scope",
324
+ "id": "auth:create-key",
364
325
  "pluginAlias": "@rulemetric/cli",
365
326
  "pluginName": "@rulemetric/cli",
366
327
  "pluginType": "core",
@@ -370,14 +331,18 @@
370
331
  "relativePath": [
371
332
  "dist",
372
333
  "commands",
373
- "capture",
374
- "scope.js"
334
+ "auth",
335
+ "create-key.js"
375
336
  ]
376
337
  },
377
- "catalog": {
338
+ "auth:login": {
378
339
  "aliases": [],
379
340
  "args": {},
380
- "description": "Browse the org instruction catalog",
341
+ "description": "Log in to RuleMetric",
342
+ "examples": [
343
+ "<%= config.bin %> auth login",
344
+ "<%= config.bin %> auth login -e user@example.com"
345
+ ],
381
346
  "flags": {
382
347
  "api-url": {
383
348
  "description": "Override API base URL",
@@ -388,31 +353,28 @@
388
353
  "multiple": false,
389
354
  "type": "option"
390
355
  },
391
- "badge": {
392
- "description": "Filter by badge",
393
- "name": "badge",
356
+ "email": {
357
+ "char": "e",
358
+ "description": "Email address",
359
+ "name": "email",
394
360
  "hasDynamicHelp": false,
395
361
  "multiple": false,
396
- "options": [
397
- "recommended",
398
- "required"
399
- ],
400
362
  "type": "option"
401
363
  },
402
- "scope": {
403
- "description": "Filter by scope",
404
- "name": "scope",
364
+ "password": {
365
+ "char": "p",
366
+ "description": "Password (for non-interactive use)",
367
+ "name": "password",
405
368
  "hasDynamicHelp": false,
406
369
  "multiple": false,
407
- "options": [
408
- "org",
409
- "team"
410
- ],
411
370
  "type": "option"
412
371
  },
413
- "search": {
414
- "description": "Search by name or description",
415
- "name": "search",
372
+ "api-key": {
373
+ "description": "Authenticate with an API key from https://rulemetric.com/connect (required for Google/GitHub sign-ins, which have no password)",
374
+ "exclusive": [
375
+ "password"
376
+ ],
377
+ "name": "api-key",
416
378
  "hasDynamicHelp": false,
417
379
  "multiple": false,
418
380
  "type": "option"
@@ -420,7 +382,7 @@
420
382
  },
421
383
  "hasDynamicHelp": false,
422
384
  "hiddenAliases": [],
423
- "id": "catalog",
385
+ "id": "auth:login",
424
386
  "pluginAlias": "@rulemetric/cli",
425
387
  "pluginName": "@rulemetric/cli",
426
388
  "pluginType": "core",
@@ -430,20 +392,58 @@
430
392
  "relativePath": [
431
393
  "dist",
432
394
  "commands",
433
- "catalog",
434
- "index.js"
395
+ "auth",
396
+ "login.js"
435
397
  ]
436
398
  },
437
- "catalog:recommend": {
399
+ "auth:logout": {
400
+ "aliases": [],
401
+ "args": {},
402
+ "description": "Log out of RuleMetric",
403
+ "examples": [
404
+ "<%= config.bin %> auth logout"
405
+ ],
406
+ "flags": {
407
+ "api-url": {
408
+ "description": "Override API base URL",
409
+ "env": "RULEMETRIC_API_URL",
410
+ "hidden": true,
411
+ "name": "api-url",
412
+ "hasDynamicHelp": false,
413
+ "multiple": false,
414
+ "type": "option"
415
+ }
416
+ },
417
+ "hasDynamicHelp": false,
418
+ "hiddenAliases": [],
419
+ "id": "auth:logout",
420
+ "pluginAlias": "@rulemetric/cli",
421
+ "pluginName": "@rulemetric/cli",
422
+ "pluginType": "core",
423
+ "strict": true,
424
+ "enableJsonFlag": false,
425
+ "isESM": true,
426
+ "relativePath": [
427
+ "dist",
428
+ "commands",
429
+ "auth",
430
+ "logout.js"
431
+ ]
432
+ },
433
+ "auth:revoke-key": {
438
434
  "aliases": [],
439
435
  "args": {
440
- "projectId": {
441
- "description": "ID of the project",
442
- "name": "projectId",
443
- "required": true
436
+ "id": {
437
+ "description": "API key ID, prefix (rm_xxxxxxxx), or name",
438
+ "name": "id"
444
439
  }
445
440
  },
446
- "description": "Get AI-powered instruction recommendations for a project",
441
+ "description": "Revoke an API key (run with no argument to list active keys)",
442
+ "examples": [
443
+ "<%= config.bin %> auth revoke-key",
444
+ "<%= config.bin %> auth revoke-key rm_abc12345",
445
+ "<%= config.bin %> auth revoke-key \"my-laptop (auto)\""
446
+ ],
447
447
  "flags": {
448
448
  "api-url": {
449
449
  "description": "Override API base URL",
@@ -457,7 +457,7 @@
457
457
  },
458
458
  "hasDynamicHelp": false,
459
459
  "hiddenAliases": [],
460
- "id": "catalog:recommend",
460
+ "id": "auth:revoke-key",
461
461
  "pluginAlias": "@rulemetric/cli",
462
462
  "pluginName": "@rulemetric/cli",
463
463
  "pluginType": "core",
@@ -467,16 +467,17 @@
467
467
  "relativePath": [
468
468
  "dist",
469
469
  "commands",
470
- "catalog",
471
- "recommend.js"
470
+ "auth",
471
+ "revoke-key.js"
472
472
  ]
473
473
  },
474
- "crons:list": {
474
+ "auth:signup": {
475
475
  "aliases": [],
476
476
  "args": {},
477
- "description": "List manually-runnable maintenance tasks",
477
+ "description": "Create a RuleMetric account from the CLI",
478
478
  "examples": [
479
- "<%= config.bin %> crons list"
479
+ "<%= config.bin %> auth signup",
480
+ "<%= config.bin %> auth signup -e user@example.com"
480
481
  ],
481
482
  "flags": {
482
483
  "api-url": {
@@ -487,11 +488,27 @@
487
488
  "hasDynamicHelp": false,
488
489
  "multiple": false,
489
490
  "type": "option"
491
+ },
492
+ "email": {
493
+ "char": "e",
494
+ "description": "Email address",
495
+ "name": "email",
496
+ "hasDynamicHelp": false,
497
+ "multiple": false,
498
+ "type": "option"
499
+ },
500
+ "password": {
501
+ "char": "p",
502
+ "description": "Password (min 8 chars; for non-interactive use)",
503
+ "name": "password",
504
+ "hasDynamicHelp": false,
505
+ "multiple": false,
506
+ "type": "option"
490
507
  }
491
508
  },
492
509
  "hasDynamicHelp": false,
493
510
  "hiddenAliases": [],
494
- "id": "crons:list",
511
+ "id": "auth:signup",
495
512
  "pluginAlias": "@rulemetric/cli",
496
513
  "pluginName": "@rulemetric/cli",
497
514
  "pluginType": "core",
@@ -501,23 +518,16 @@
501
518
  "relativePath": [
502
519
  "dist",
503
520
  "commands",
504
- "crons",
505
- "list.js"
521
+ "auth",
522
+ "signup.js"
506
523
  ]
507
524
  },
508
- "crons:run": {
525
+ "auth:status": {
509
526
  "aliases": [],
510
- "args": {
511
- "name": {
512
- "description": "Task name (run `rulemetric crons list` to see all)",
513
- "name": "name",
514
- "required": true
515
- }
516
- },
517
- "description": "Run a maintenance task synchronously, right now",
527
+ "args": {},
528
+ "description": "Show current authentication status",
518
529
  "examples": [
519
- "<%= config.bin %> crons run cron_check_changelog",
520
- "<%= config.bin %> crons run cron_suggest_instructions --quiet"
530
+ "<%= config.bin %> auth status"
521
531
  ],
522
532
  "flags": {
523
533
  "api-url": {
@@ -528,18 +538,11 @@
528
538
  "hasDynamicHelp": false,
529
539
  "multiple": false,
530
540
  "type": "option"
531
- },
532
- "quiet": {
533
- "char": "q",
534
- "description": "Suppress per-line log output; print summary only",
535
- "name": "quiet",
536
- "allowNo": false,
537
- "type": "boolean"
538
541
  }
539
542
  },
540
543
  "hasDynamicHelp": false,
541
544
  "hiddenAliases": [],
542
- "id": "crons:run",
545
+ "id": "auth:status",
543
546
  "pluginAlias": "@rulemetric/cli",
544
547
  "pluginName": "@rulemetric/cli",
545
548
  "pluginType": "core",
@@ -549,17 +552,22 @@
549
552
  "relativePath": [
550
553
  "dist",
551
554
  "commands",
552
- "crons",
553
- "run.js"
555
+ "auth",
556
+ "status.js"
554
557
  ]
555
558
  },
556
- "auth:create-key": {
559
+ "capture:scope": {
557
560
  "aliases": [],
558
561
  "args": {},
559
- "description": "Create a long-lived API key for CLI and proxy authentication",
562
+ "description": "Show or set which projects RuleMetric captures — the Codex sweep and hook-driven sessions each have their own scope",
560
563
  "examples": [
561
- "<%= config.bin %> auth create-key --name \"laptop\"",
562
- "<%= config.bin %> auth create-key --name \"ci token\" --no-save"
564
+ "<%= config.bin %> <%= command.id %>",
565
+ "<%= config.bin %> <%= command.id %> --add ~/work/client-a --add ~/work/client-b",
566
+ "<%= config.bin %> <%= command.id %> --tool hooks --add ~/work/client-a",
567
+ "<%= config.bin %> <%= command.id %> --tool hooks --off",
568
+ "<%= config.bin %> <%= command.id %> --remove ~/work/client-a",
569
+ "<%= config.bin %> <%= command.id %> --off",
570
+ "<%= config.bin %> <%= command.id %> --all"
563
571
  ],
564
572
  "flags": {
565
573
  "api-url": {
@@ -571,26 +579,60 @@
571
579
  "multiple": false,
572
580
  "type": "option"
573
581
  },
574
- "name": {
575
- "char": "n",
576
- "description": "Name for this key",
577
- "name": "name",
578
- "required": true,
582
+ "tool": {
583
+ "description": "Which capture path to edit: \"codex\" (the worker transcript sweep, the default) or \"hooks\" (Claude Code / Cursor / Copilot / Antigravity hook sessions).",
584
+ "name": "tool",
585
+ "default": "codex",
579
586
  "hasDynamicHelp": false,
580
587
  "multiple": false,
588
+ "options": [
589
+ "codex",
590
+ "hooks"
591
+ ],
581
592
  "type": "option"
582
593
  },
583
- "save": {
584
- "char": "s",
585
- "description": "Save key to ~/.config/rulemetric/env for hooks/proxy",
586
- "name": "save",
587
- "allowNo": true,
594
+ "add": {
595
+ "description": "Capture sessions under this path (repeatable). Implies an allowlist.",
596
+ "name": "add",
597
+ "hasDynamicHelp": false,
598
+ "multiple": true,
599
+ "type": "option"
600
+ },
601
+ "remove": {
602
+ "description": "Stop capturing under this path (repeatable).",
603
+ "name": "remove",
604
+ "hasDynamicHelp": false,
605
+ "multiple": true,
606
+ "type": "option"
607
+ },
608
+ "off": {
609
+ "description": "Turn this capture path off entirely.",
610
+ "exclusive": [
611
+ "all"
612
+ ],
613
+ "name": "off",
614
+ "allowNo": false,
615
+ "type": "boolean"
616
+ },
617
+ "all": {
618
+ "description": "Capture every project (the default).",
619
+ "exclusive": [
620
+ "off"
621
+ ],
622
+ "name": "all",
623
+ "allowNo": false,
624
+ "type": "boolean"
625
+ },
626
+ "clear": {
627
+ "description": "Remove this scope, restoring the default.",
628
+ "name": "clear",
629
+ "allowNo": false,
588
630
  "type": "boolean"
589
631
  }
590
632
  },
591
633
  "hasDynamicHelp": false,
592
634
  "hiddenAliases": [],
593
- "id": "auth:create-key",
635
+ "id": "capture:scope",
594
636
  "pluginAlias": "@rulemetric/cli",
595
637
  "pluginName": "@rulemetric/cli",
596
638
  "pluginType": "core",
@@ -600,18 +642,14 @@
600
642
  "relativePath": [
601
643
  "dist",
602
644
  "commands",
603
- "auth",
604
- "create-key.js"
645
+ "capture",
646
+ "scope.js"
605
647
  ]
606
648
  },
607
- "auth:login": {
649
+ "catalog": {
608
650
  "aliases": [],
609
651
  "args": {},
610
- "description": "Log in to RuleMetric",
611
- "examples": [
612
- "<%= config.bin %> auth login",
613
- "<%= config.bin %> auth login -e user@example.com"
614
- ],
652
+ "description": "Browse the org instruction catalog",
615
653
  "flags": {
616
654
  "api-url": {
617
655
  "description": "Override API base URL",
@@ -622,28 +660,31 @@
622
660
  "multiple": false,
623
661
  "type": "option"
624
662
  },
625
- "email": {
626
- "char": "e",
627
- "description": "Email address",
628
- "name": "email",
663
+ "badge": {
664
+ "description": "Filter by badge",
665
+ "name": "badge",
629
666
  "hasDynamicHelp": false,
630
667
  "multiple": false,
668
+ "options": [
669
+ "recommended",
670
+ "required"
671
+ ],
631
672
  "type": "option"
632
673
  },
633
- "password": {
634
- "char": "p",
635
- "description": "Password (for non-interactive use)",
636
- "name": "password",
674
+ "scope": {
675
+ "description": "Filter by scope",
676
+ "name": "scope",
637
677
  "hasDynamicHelp": false,
638
678
  "multiple": false,
679
+ "options": [
680
+ "org",
681
+ "team"
682
+ ],
639
683
  "type": "option"
640
684
  },
641
- "api-key": {
642
- "description": "Authenticate with an API key from https://rulemetric.com/connect (required for Google/GitHub sign-ins, which have no password)",
643
- "exclusive": [
644
- "password"
645
- ],
646
- "name": "api-key",
685
+ "search": {
686
+ "description": "Search by name or description",
687
+ "name": "search",
647
688
  "hasDynamicHelp": false,
648
689
  "multiple": false,
649
690
  "type": "option"
@@ -651,7 +692,7 @@
651
692
  },
652
693
  "hasDynamicHelp": false,
653
694
  "hiddenAliases": [],
654
- "id": "auth:login",
695
+ "id": "catalog",
655
696
  "pluginAlias": "@rulemetric/cli",
656
697
  "pluginName": "@rulemetric/cli",
657
698
  "pluginType": "core",
@@ -661,16 +702,53 @@
661
702
  "relativePath": [
662
703
  "dist",
663
704
  "commands",
664
- "auth",
665
- "login.js"
705
+ "catalog",
706
+ "index.js"
666
707
  ]
667
708
  },
668
- "auth:logout": {
709
+ "catalog:recommend": {
710
+ "aliases": [],
711
+ "args": {
712
+ "projectId": {
713
+ "description": "ID of the project",
714
+ "name": "projectId",
715
+ "required": true
716
+ }
717
+ },
718
+ "description": "Get AI-powered instruction recommendations for a project",
719
+ "flags": {
720
+ "api-url": {
721
+ "description": "Override API base URL",
722
+ "env": "RULEMETRIC_API_URL",
723
+ "hidden": true,
724
+ "name": "api-url",
725
+ "hasDynamicHelp": false,
726
+ "multiple": false,
727
+ "type": "option"
728
+ }
729
+ },
730
+ "hasDynamicHelp": false,
731
+ "hiddenAliases": [],
732
+ "id": "catalog:recommend",
733
+ "pluginAlias": "@rulemetric/cli",
734
+ "pluginName": "@rulemetric/cli",
735
+ "pluginType": "core",
736
+ "strict": true,
737
+ "enableJsonFlag": false,
738
+ "isESM": true,
739
+ "relativePath": [
740
+ "dist",
741
+ "commands",
742
+ "catalog",
743
+ "recommend.js"
744
+ ]
745
+ },
746
+ "crons:list": {
669
747
  "aliases": [],
670
748
  "args": {},
671
- "description": "Log out of RuleMetric",
749
+ "description": "List manually-runnable maintenance tasks",
672
750
  "examples": [
673
- "<%= config.bin %> auth logout"
751
+ "<%= config.bin %> crons list"
674
752
  ],
675
753
  "flags": {
676
754
  "api-url": {
@@ -685,7 +763,7 @@
685
763
  },
686
764
  "hasDynamicHelp": false,
687
765
  "hiddenAliases": [],
688
- "id": "auth:logout",
766
+ "id": "crons:list",
689
767
  "pluginAlias": "@rulemetric/cli",
690
768
  "pluginName": "@rulemetric/cli",
691
769
  "pluginType": "core",
@@ -695,23 +773,23 @@
695
773
  "relativePath": [
696
774
  "dist",
697
775
  "commands",
698
- "auth",
699
- "logout.js"
776
+ "crons",
777
+ "list.js"
700
778
  ]
701
779
  },
702
- "auth:revoke-key": {
780
+ "crons:run": {
703
781
  "aliases": [],
704
782
  "args": {
705
- "id": {
706
- "description": "API key ID, prefix (rm_xxxxxxxx), or name",
707
- "name": "id"
783
+ "name": {
784
+ "description": "Task name (run `rulemetric crons list` to see all)",
785
+ "name": "name",
786
+ "required": true
708
787
  }
709
788
  },
710
- "description": "Revoke an API key (run with no argument to list active keys)",
789
+ "description": "Run a maintenance task synchronously, right now",
711
790
  "examples": [
712
- "<%= config.bin %> auth revoke-key",
713
- "<%= config.bin %> auth revoke-key rm_abc12345",
714
- "<%= config.bin %> auth revoke-key \"my-laptop (auto)\""
791
+ "<%= config.bin %> crons run cron_check_changelog",
792
+ "<%= config.bin %> crons run cron_suggest_instructions --quiet"
715
793
  ],
716
794
  "flags": {
717
795
  "api-url": {
@@ -722,11 +800,18 @@
722
800
  "hasDynamicHelp": false,
723
801
  "multiple": false,
724
802
  "type": "option"
803
+ },
804
+ "quiet": {
805
+ "char": "q",
806
+ "description": "Suppress per-line log output; print summary only",
807
+ "name": "quiet",
808
+ "allowNo": false,
809
+ "type": "boolean"
725
810
  }
726
811
  },
727
812
  "hasDynamicHelp": false,
728
813
  "hiddenAliases": [],
729
- "id": "auth:revoke-key",
814
+ "id": "crons:run",
730
815
  "pluginAlias": "@rulemetric/cli",
731
816
  "pluginName": "@rulemetric/cli",
732
817
  "pluginType": "core",
@@ -736,17 +821,17 @@
736
821
  "relativePath": [
737
822
  "dist",
738
823
  "commands",
739
- "auth",
740
- "revoke-key.js"
824
+ "crons",
825
+ "run.js"
741
826
  ]
742
827
  },
743
- "auth:signup": {
828
+ "eval-targets:create": {
744
829
  "aliases": [],
745
830
  "args": {},
746
- "description": "Create a RuleMetric account from the CLI",
831
+ "description": "Create an eval target (instruction, skill, prompt, or plan to test)",
747
832
  "examples": [
748
- "<%= config.bin %> auth signup",
749
- "<%= config.bin %> auth signup -e user@example.com"
833
+ "<%= config.bin %> eval-targets create --name my-rules --type instruction --file ./CLAUDE.md",
834
+ "<%= config.bin %> eval-targets create --name my-prompt --type prompt --content \"Always use TypeScript\""
750
835
  ],
751
836
  "flags": {
752
837
  "api-url": {
@@ -758,18 +843,51 @@
758
843
  "multiple": false,
759
844
  "type": "option"
760
845
  },
761
- "email": {
762
- "char": "e",
763
- "description": "Email address",
764
- "name": "email",
846
+ "name": {
847
+ "char": "n",
848
+ "description": "Name for the eval target",
849
+ "name": "name",
850
+ "required": true,
765
851
  "hasDynamicHelp": false,
766
852
  "multiple": false,
767
853
  "type": "option"
768
854
  },
769
- "password": {
770
- "char": "p",
771
- "description": "Password (min 8 chars; for non-interactive use)",
772
- "name": "password",
855
+ "type": {
856
+ "char": "t",
857
+ "description": "Target type",
858
+ "name": "type",
859
+ "required": true,
860
+ "hasDynamicHelp": false,
861
+ "multiple": false,
862
+ "options": [
863
+ "instruction",
864
+ "skill",
865
+ "prompt",
866
+ "plan"
867
+ ],
868
+ "type": "option"
869
+ },
870
+ "file": {
871
+ "char": "f",
872
+ "description": "Path to content file",
873
+ "name": "file",
874
+ "hasDynamicHelp": false,
875
+ "multiple": false,
876
+ "type": "option"
877
+ },
878
+ "content": {
879
+ "char": "c",
880
+ "description": "Content string (alternative to --file)",
881
+ "name": "content",
882
+ "hasDynamicHelp": false,
883
+ "multiple": false,
884
+ "type": "option"
885
+ },
886
+ "description": {
887
+ "char": "d",
888
+ "description": "Description of the target",
889
+ "name": "description",
890
+ "default": "",
773
891
  "hasDynamicHelp": false,
774
892
  "multiple": false,
775
893
  "type": "option"
@@ -777,7 +895,7 @@
777
895
  },
778
896
  "hasDynamicHelp": false,
779
897
  "hiddenAliases": [],
780
- "id": "auth:signup",
898
+ "id": "eval-targets:create",
781
899
  "pluginAlias": "@rulemetric/cli",
782
900
  "pluginName": "@rulemetric/cli",
783
901
  "pluginType": "core",
@@ -787,16 +905,17 @@
787
905
  "relativePath": [
788
906
  "dist",
789
907
  "commands",
790
- "auth",
791
- "signup.js"
908
+ "eval-targets",
909
+ "create.js"
792
910
  ]
793
911
  },
794
- "auth:status": {
912
+ "eval-targets:list": {
795
913
  "aliases": [],
796
914
  "args": {},
797
- "description": "Show current authentication status",
915
+ "description": "List eval targets",
798
916
  "examples": [
799
- "<%= config.bin %> auth status"
917
+ "<%= config.bin %> eval-targets list",
918
+ "<%= config.bin %> eval-targets list --type instruction"
800
919
  ],
801
920
  "flags": {
802
921
  "api-url": {
@@ -807,11 +926,25 @@
807
926
  "hasDynamicHelp": false,
808
927
  "multiple": false,
809
928
  "type": "option"
929
+ },
930
+ "type": {
931
+ "char": "t",
932
+ "description": "Filter by type",
933
+ "name": "type",
934
+ "hasDynamicHelp": false,
935
+ "multiple": false,
936
+ "options": [
937
+ "instruction",
938
+ "skill",
939
+ "prompt",
940
+ "plan"
941
+ ],
942
+ "type": "option"
810
943
  }
811
944
  },
812
945
  "hasDynamicHelp": false,
813
946
  "hiddenAliases": [],
814
- "id": "auth:status",
947
+ "id": "eval-targets:list",
815
948
  "pluginAlias": "@rulemetric/cli",
816
949
  "pluginName": "@rulemetric/cli",
817
950
  "pluginType": "core",
@@ -821,8 +954,8 @@
821
954
  "relativePath": [
822
955
  "dist",
823
956
  "commands",
824
- "auth",
825
- "status.js"
957
+ "eval-targets",
958
+ "list.js"
826
959
  ]
827
960
  },
828
961
  "evals:agent": {
@@ -1641,143 +1774,10 @@
1641
1774
  "ensure.js"
1642
1775
  ]
1643
1776
  },
1644
- "eval-targets:create": {
1645
- "aliases": [],
1646
- "args": {},
1647
- "description": "Create an eval target (instruction, skill, prompt, or plan to test)",
1648
- "examples": [
1649
- "<%= config.bin %> eval-targets create --name my-rules --type instruction --file ./CLAUDE.md",
1650
- "<%= config.bin %> eval-targets create --name my-prompt --type prompt --content \"Always use TypeScript\""
1651
- ],
1652
- "flags": {
1653
- "api-url": {
1654
- "description": "Override API base URL",
1655
- "env": "RULEMETRIC_API_URL",
1656
- "hidden": true,
1657
- "name": "api-url",
1658
- "hasDynamicHelp": false,
1659
- "multiple": false,
1660
- "type": "option"
1661
- },
1662
- "name": {
1663
- "char": "n",
1664
- "description": "Name for the eval target",
1665
- "name": "name",
1666
- "required": true,
1667
- "hasDynamicHelp": false,
1668
- "multiple": false,
1669
- "type": "option"
1670
- },
1671
- "type": {
1672
- "char": "t",
1673
- "description": "Target type",
1674
- "name": "type",
1675
- "required": true,
1676
- "hasDynamicHelp": false,
1677
- "multiple": false,
1678
- "options": [
1679
- "instruction",
1680
- "skill",
1681
- "prompt",
1682
- "plan"
1683
- ],
1684
- "type": "option"
1685
- },
1686
- "file": {
1687
- "char": "f",
1688
- "description": "Path to content file",
1689
- "name": "file",
1690
- "hasDynamicHelp": false,
1691
- "multiple": false,
1692
- "type": "option"
1693
- },
1694
- "content": {
1695
- "char": "c",
1696
- "description": "Content string (alternative to --file)",
1697
- "name": "content",
1698
- "hasDynamicHelp": false,
1699
- "multiple": false,
1700
- "type": "option"
1701
- },
1702
- "description": {
1703
- "char": "d",
1704
- "description": "Description of the target",
1705
- "name": "description",
1706
- "default": "",
1707
- "hasDynamicHelp": false,
1708
- "multiple": false,
1709
- "type": "option"
1710
- }
1711
- },
1712
- "hasDynamicHelp": false,
1713
- "hiddenAliases": [],
1714
- "id": "eval-targets:create",
1715
- "pluginAlias": "@rulemetric/cli",
1716
- "pluginName": "@rulemetric/cli",
1717
- "pluginType": "core",
1718
- "strict": true,
1719
- "enableJsonFlag": false,
1720
- "isESM": true,
1721
- "relativePath": [
1722
- "dist",
1723
- "commands",
1724
- "eval-targets",
1725
- "create.js"
1726
- ]
1727
- },
1728
- "eval-targets:list": {
1729
- "aliases": [],
1730
- "args": {},
1731
- "description": "List eval targets",
1732
- "examples": [
1733
- "<%= config.bin %> eval-targets list",
1734
- "<%= config.bin %> eval-targets list --type instruction"
1735
- ],
1736
- "flags": {
1737
- "api-url": {
1738
- "description": "Override API base URL",
1739
- "env": "RULEMETRIC_API_URL",
1740
- "hidden": true,
1741
- "name": "api-url",
1742
- "hasDynamicHelp": false,
1743
- "multiple": false,
1744
- "type": "option"
1745
- },
1746
- "type": {
1747
- "char": "t",
1748
- "description": "Filter by type",
1749
- "name": "type",
1750
- "hasDynamicHelp": false,
1751
- "multiple": false,
1752
- "options": [
1753
- "instruction",
1754
- "skill",
1755
- "prompt",
1756
- "plan"
1757
- ],
1758
- "type": "option"
1759
- }
1760
- },
1761
- "hasDynamicHelp": false,
1762
- "hiddenAliases": [],
1763
- "id": "eval-targets:list",
1764
- "pluginAlias": "@rulemetric/cli",
1765
- "pluginName": "@rulemetric/cli",
1766
- "pluginType": "core",
1767
- "strict": true,
1768
- "enableJsonFlag": false,
1769
- "isESM": true,
1770
- "relativePath": [
1771
- "dist",
1772
- "commands",
1773
- "eval-targets",
1774
- "list.js"
1775
- ]
1776
- },
1777
1777
  "hooks:emit-instructions": {
1778
1778
  "aliases": [],
1779
1779
  "args": {},
1780
- "description": "Print a synthetic instruction snapshot (on-disk CLAUDE.md) as JSON for zero-proxy instruction linking",
1780
+ "description": "Print a synthetic instruction snapshot (on-disk instruction files) as JSON for zero-proxy instruction linking",
1781
1781
  "flags": {
1782
1782
  "project-dir": {
1783
1783
  "description": "Project directory to scan (defaults to cwd)",
@@ -1785,6 +1785,13 @@
1785
1785
  "hasDynamicHelp": false,
1786
1786
  "multiple": false,
1787
1787
  "type": "option"
1788
+ },
1789
+ "tool": {
1790
+ "description": "Hook tool id whose instruction files to read (claude_code, codex, copilot_agent, copilot_cli, vscode_copilot)",
1791
+ "name": "tool",
1792
+ "hasDynamicHelp": false,
1793
+ "multiple": false,
1794
+ "type": "option"
1788
1795
  }
1789
1796
  },
1790
1797
  "hasDynamicHelp": false,
@@ -4750,12 +4757,12 @@
4750
4757
  "aliases": [],
4751
4758
  "args": {
4752
4759
  "instructionId": {
4753
- "description": "Instruction ID from the rulemetric:start marker in CLAUDE.md",
4760
+ "description": "Instruction ID from the rulemetric:start marker in the instruction file",
4754
4761
  "name": "instructionId",
4755
4762
  "required": true
4756
4763
  }
4757
4764
  },
4758
- "description": "Remove an adopted instruction from CLAUDE.md and stop it being re-proposed",
4765
+ "description": "Remove an adopted instruction from this project's agent instruction files and stop it being re-proposed",
4759
4766
  "examples": [
4760
4767
  "<%= config.bin %> suggestions undo <instruction-id>"
4761
4768
  ],
@@ -4787,5 +4794,5 @@
4787
4794
  ]
4788
4795
  }
4789
4796
  },
4790
- "version": "0.12.7"
4797
+ "version": "0.13.0"
4791
4798
  }