@rulemetric/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.
Files changed (202) hide show
  1. package/README.md +1 -2
  2. package/dist/base-command.js +1 -1
  3. package/dist/chunk-35KBN23A.js +1 -0
  4. package/dist/{chunk-YY53MMH7.js → chunk-7FWIIVMC.js} +1 -1
  5. package/dist/{chunk-3IH22LYI.js → chunk-AC2NUNFC.js} +1 -1
  6. package/dist/{chunk-7LXG3DDL.js → chunk-AJN2BLMV.js} +1 -1
  7. package/dist/{chunk-MODFTCZY.js → chunk-B3BHB26P.js} +1 -1
  8. package/dist/{chunk-7BYMIHIB.js → chunk-BMDHPIW6.js} +1 -1
  9. package/dist/{chunk-HKC224ZO.js → chunk-BMN2WZM2.js} +1 -1
  10. package/dist/{chunk-OI7MOALX.js → chunk-CLCRZWAG.js} +1 -1
  11. package/dist/{chunk-3VYV6ZYB.js → chunk-CNOD6HWU.js} +1 -1
  12. package/dist/chunk-DN2T3FXN.js +1 -0
  13. package/dist/chunk-E4U6AOTM.js +46 -0
  14. package/dist/{chunk-4T2FJLDA.js → chunk-EJZGGT52.js} +1 -1
  15. package/dist/{chunk-SE5SRPIB.js → chunk-FAOSXPRO.js} +1 -1
  16. package/dist/{chunk-NTJKAIHS.js → chunk-FF5TAMDH.js} +1 -1
  17. package/dist/{chunk-F5WE6JXK.js → chunk-FM4LTGMI.js} +1 -1
  18. package/dist/chunk-FOUGYDLH.js +11 -0
  19. package/dist/{chunk-UY5QYCTK.js → chunk-GL3ZDOKJ.js} +1 -1
  20. package/dist/{chunk-FH55JFUY.js → chunk-HWZTQXNM.js} +1 -1
  21. package/dist/chunk-IOV2BEW7.js +13 -0
  22. package/dist/{chunk-YVM2CHNV.js → chunk-IPL2DHU4.js} +1 -1
  23. package/dist/{chunk-TCR7TSAJ.js → chunk-JPUH3V67.js} +1 -1
  24. package/dist/{chunk-EOJ3LAP6.js → chunk-KDFBKYXK.js} +1 -1
  25. package/dist/{chunk-7L4P7FCK.js → chunk-LWUA3NUZ.js} +1 -1
  26. package/dist/chunk-LZO6YBUW.js +2 -0
  27. package/dist/{chunk-OFC7HIBX.js → chunk-MPDSQALK.js} +1 -1
  28. package/dist/{chunk-X23L2MF6.js → chunk-NBTC5FNV.js} +1 -1
  29. package/dist/{chunk-W2SG3KND.js → chunk-NPNSUG3N.js} +1 -1
  30. package/dist/{chunk-OPUI7CM2.js → chunk-NTKO4H2K.js} +1 -1
  31. package/dist/{chunk-X4N4MT2I.js → chunk-OUXWBHCI.js} +1 -1
  32. package/dist/{chunk-S7YDBO42.js → chunk-PK6PSCIP.js} +1 -1
  33. package/dist/{chunk-XILSJP4P.js → chunk-R4SSIFKY.js} +1 -1
  34. package/dist/{chunk-4STKWINN.js → chunk-R4W4QDTP.js} +1 -1
  35. package/dist/{chunk-6SUN4NOY.js → chunk-RE7DDQ3O.js} +1 -1
  36. package/dist/{chunk-W65UX4FC.js → chunk-RS4LSJI2.js} +1 -1
  37. package/dist/{chunk-ERNDMEYG.js → chunk-RUIX6AZ6.js} +1 -1
  38. package/dist/{chunk-H6MN2AAF.js → chunk-RZTVYUX4.js} +1 -1
  39. package/dist/{chunk-ZJOYLBRU.js → chunk-SBFTRVZM.js} +1 -1
  40. package/dist/{chunk-NDZVH5QW.js → chunk-SBJNQ5Q6.js} +1 -1
  41. package/dist/{chunk-WVJEBQYU.js → chunk-SV7FDAKW.js} +1 -1
  42. package/dist/{chunk-B22HYCBV.js → chunk-TU2AR6XO.js} +1 -1
  43. package/dist/{chunk-FORJT5H6.js → chunk-UT3EQR4C.js} +1 -1
  44. package/dist/{chunk-BN54LTXD.js → chunk-V5XRGRJC.js} +1 -1
  45. package/dist/{chunk-MIOMKROL.js → chunk-W44E3DYZ.js} +1 -1
  46. package/dist/{chunk-OFSUKSZ2.js → chunk-W4ZDAJ6S.js} +1 -1
  47. package/dist/{chunk-N7ML6X6Y.js → chunk-WOBFJCMO.js} +1 -1
  48. package/dist/chunk-XK52UAFB.js +17 -0
  49. package/dist/{chunk-V5MJ4ICC.js → chunk-XRTZU7IZ.js} +1 -1
  50. package/dist/{chunk-RSMLOYVJ.js → chunk-XVRQ5WUB.js} +1 -1
  51. package/dist/{chunk-DAD4YBYC.js → chunk-YWALNDT3.js} +1 -1
  52. package/dist/{chunk-WEBB76XA.js → chunk-YZNP4TW4.js} +1 -1
  53. package/dist/{chunk-553EGRRW.js → chunk-ZXOAI65J.js} +1 -1
  54. package/dist/commands/antigravity/backfill.js +1 -1
  55. package/dist/commands/auth/create-key.js +1 -1
  56. package/dist/commands/auth/login.js +1 -1
  57. package/dist/commands/auth/logout.js +1 -1
  58. package/dist/commands/auth/revoke-key.js +1 -1
  59. package/dist/commands/auth/signup.js +1 -1
  60. package/dist/commands/auth/status.js +1 -1
  61. package/dist/commands/capture/scope.js +1 -1
  62. package/dist/commands/catalog/index.js +1 -1
  63. package/dist/commands/catalog/recommend.js +1 -1
  64. package/dist/commands/crons/list.js +1 -1
  65. package/dist/commands/crons/run.js +1 -1
  66. package/dist/commands/dashboard.js +1 -1
  67. package/dist/commands/diagnostics.js +1 -1
  68. package/dist/commands/eval-targets/create.js +1 -1
  69. package/dist/commands/eval-targets/list.js +1 -1
  70. package/dist/commands/evals/agent.js +1 -1
  71. package/dist/commands/evals/auto-run.js +1 -1
  72. package/dist/commands/evals/benchmark.js +1 -1
  73. package/dist/commands/evals/compare.js +1 -1
  74. package/dist/commands/evals/create.js +1 -1
  75. package/dist/commands/evals/optimize-description.js +1 -1
  76. package/dist/commands/evals/optimize.js +1 -1
  77. package/dist/commands/evals/refine-cases.js +1 -1
  78. package/dist/commands/evals/run.js +1 -1
  79. package/dist/commands/evals/validate-judge.js +1 -1
  80. package/dist/commands/experiments/list.js +1 -1
  81. package/dist/commands/gateway/ensure.js +1 -1
  82. package/dist/commands/hooks/install.js +1 -1
  83. package/dist/commands/hooks/run.js +1 -1
  84. package/dist/commands/hooks/uninstall.js +1 -1
  85. package/dist/commands/instructions/create.js +1 -1
  86. package/dist/commands/instructions/dedupe.js +1 -1
  87. package/dist/commands/instructions/delete.js +1 -1
  88. package/dist/commands/instructions/fork.js +1 -1
  89. package/dist/commands/instructions/get.js +1 -1
  90. package/dist/commands/instructions/list.js +1 -1
  91. package/dist/commands/instructions/promote.js +1 -1
  92. package/dist/commands/instructions/pull.js +1 -1
  93. package/dist/commands/instructions/restore.js +1 -1
  94. package/dist/commands/instructions/retract.js +1 -1
  95. package/dist/commands/instructions/upstream.js +1 -1
  96. package/dist/commands/instructions/versions.js +1 -1
  97. package/dist/commands/launcher.js +1 -1
  98. package/dist/commands/local/down.js +1 -1
  99. package/dist/commands/local/up.js +1 -1
  100. package/dist/commands/org/current.js +1 -1
  101. package/dist/commands/org/list.js +1 -1
  102. package/dist/commands/org/switch.js +1 -1
  103. package/dist/commands/packs/add-instruction.js +1 -1
  104. package/dist/commands/packs/apply.js +1 -1
  105. package/dist/commands/packs/create.js +1 -1
  106. package/dist/commands/packs/fork.js +1 -1
  107. package/dist/commands/packs/get.js +1 -1
  108. package/dist/commands/packs/list.js +1 -1
  109. package/dist/commands/packs/remove-instruction.js +1 -1
  110. package/dist/commands/proxy/env.js +1 -1
  111. package/dist/commands/proxy/logs.js +1 -1
  112. package/dist/commands/proxy/restart.js +1 -1
  113. package/dist/commands/proxy/setup.js +1 -1
  114. package/dist/commands/proxy/start.js +1 -1
  115. package/dist/commands/proxy/status.js +1 -1
  116. package/dist/commands/proxy/stop.js +1 -1
  117. package/dist/commands/research/backfill.js +1 -1
  118. package/dist/commands/research/tail-transcript.js +1 -1
  119. package/dist/commands/service/install.js +1 -1
  120. package/dist/commands/service/status.js +1 -1
  121. package/dist/commands/service/uninstall.js +1 -1
  122. package/dist/commands/sessions/analyze.js +1 -1
  123. package/dist/commands/sessions/delete.js +1 -1
  124. package/dist/commands/sessions/end.js +1 -1
  125. package/dist/commands/sessions/import.js +1 -1
  126. package/dist/commands/sessions/list.js +1 -1
  127. package/dist/commands/sessions/start.js +1 -1
  128. package/dist/commands/setup.js +1 -1
  129. package/dist/commands/skills/export-approved.js +1 -1
  130. package/dist/commands/skills/install.js +4 -4
  131. package/dist/commands/skills/list.js +1 -1
  132. package/dist/commands/skills/publish.js +1 -1
  133. package/dist/commands/skills/search.js +1 -1
  134. package/dist/commands/skills/update.js +1 -1
  135. package/dist/commands/suggestions/accept.js +1 -1
  136. package/dist/commands/suggestions/auto.js +1 -1
  137. package/dist/commands/suggestions/dismiss.js +1 -1
  138. package/dist/commands/suggestions/list.js +1 -1
  139. package/dist/commands/suggestions/refresh.js +1 -1
  140. package/dist/commands/suggestions/undo.js +1 -1
  141. package/dist/dashboard/Dashboard.js +1 -1
  142. package/dist/dashboard/data.js +1 -1
  143. package/dist/dashboard/launcher/ActiveJobsList.js +1 -1
  144. package/dist/dashboard/launcher/LauncherOverlay.js +1 -1
  145. package/dist/dashboard/launcher/NewLaunchForm.js +1 -1
  146. package/dist/dashboard/launcher/api.js +1 -1
  147. package/dist/dashboard/launcher/useLaunchJobs.js +1 -1
  148. package/dist/lib/active-org-refresh.js +1 -1
  149. package/dist/lib/agent-loop.js +1 -1
  150. package/dist/lib/antigravity-transcript.js +1 -1
  151. package/dist/lib/api-client.js +1 -1
  152. package/dist/lib/codex-exec.js +1 -1
  153. package/dist/lib/ensure-api-key.js +1 -1
  154. package/dist/lib/ensure-fresh-token.js +1 -1
  155. package/dist/lib/eval-benchmark.js +1 -1
  156. package/dist/lib/eval-candidate-run.js +1 -1
  157. package/dist/lib/eval-case-generator.js +1 -1
  158. package/dist/lib/eval-conversation-handler.js +1 -1
  159. package/dist/lib/eval-grader.js +1 -1
  160. package/dist/lib/eval-resume.js +1 -1
  161. package/dist/lib/eval-run-batch.js +1 -1
  162. package/dist/lib/eval-workspace.js +1 -1
  163. package/dist/lib/evolution-enrolment.js +1 -1
  164. package/dist/lib/handlers/cron-auto-accept-suggestions.js +1 -1
  165. package/dist/lib/handlers/cron-eval-autorun.js +1 -1
  166. package/dist/lib/handlers/cron-instruction-evolution.js +1 -1
  167. package/dist/lib/handlers/cron-instruction-training.js +1 -1
  168. package/dist/lib/handlers/cron-refresh-pricing.js +1 -1
  169. package/dist/lib/handlers/cron-suggest-instructions.js +1 -1
  170. package/dist/lib/handlers/distill-memories.js +1 -1
  171. package/dist/lib/handlers/process-changelog.js +1 -1
  172. package/dist/lib/handlers/process-conversation.js +1 -1
  173. package/dist/lib/handlers/process-eval.js +1 -1
  174. package/dist/lib/handlers/process-insights.js +1 -1
  175. package/dist/lib/handlers/process-judge-review.js +1 -1
  176. package/dist/lib/handlers/process-launch.js +1 -1
  177. package/dist/lib/handlers/process-memory-ab.js +1 -1
  178. package/dist/lib/handlers/process-run-cleanup.js +1 -1
  179. package/dist/lib/handlers/process-session-goal.js +1 -1
  180. package/dist/lib/instruction-proposer.js +1 -1
  181. package/dist/lib/judge-review-runner.js +1 -1
  182. package/dist/lib/llm-client.js +1 -1
  183. package/dist/lib/manual-tasks.js +1 -1
  184. package/dist/lib/research-client.js +1 -1
  185. package/dist/lib/retraction.js +1 -1
  186. package/dist/lib/reviewer-detect.js +1 -1
  187. package/dist/lib/setup-steps.js +1 -1
  188. package/dist/lib/skill-paths.js +1 -0
  189. package/dist/lib/suggestion-accept.js +1 -1
  190. package/dist/lib/telemetry.js +1 -1
  191. package/dist/lib/terminal-target-heartbeat.js +1 -1
  192. package/oclif.manifest.json +378 -540
  193. package/package.json +7 -7
  194. package/dist/chunk-3A7RPMNN.js +0 -13
  195. package/dist/chunk-FP6QAPNK.js +0 -1
  196. package/dist/chunk-L2CFSMBC.js +0 -1
  197. package/dist/chunk-UC377K7P.js +0 -17
  198. package/dist/chunk-VKVWEG5J.js +0 -11
  199. package/dist/chunk-VXM4PEED.js +0 -46
  200. package/dist/commands/convert.js +0 -1
  201. package/dist/commands/converters.js +0 -1
  202. package/dist/commands/import.js +0 -1
@@ -1,123 +1,5 @@
1
1
  {
2
2
  "commands": {
3
- "convert": {
4
- "aliases": [],
5
- "args": {
6
- "id": {
7
- "description": "Instruction ID",
8
- "name": "id",
9
- "required": true
10
- }
11
- },
12
- "description": "Convert an instruction to a target format",
13
- "examples": [
14
- "<%= config.bin %> convert <id> --format claude-md",
15
- "<%= config.bin %> convert <id> -f cursorrules --score",
16
- "<%= config.bin %> convert <id> -f copilot -o .github/copilot-instructions.md"
17
- ],
18
- "flags": {
19
- "api-url": {
20
- "description": "Override API base URL",
21
- "env": "RULEMETRIC_API_URL",
22
- "hidden": true,
23
- "name": "api-url",
24
- "hasDynamicHelp": false,
25
- "multiple": false,
26
- "type": "option"
27
- },
28
- "format": {
29
- "char": "f",
30
- "description": "Target format (e.g., claude-md, cursorrules)",
31
- "name": "format",
32
- "required": true,
33
- "hasDynamicHelp": false,
34
- "multiple": false,
35
- "type": "option"
36
- },
37
- "score": {
38
- "description": "Include quality score",
39
- "name": "score",
40
- "allowNo": false,
41
- "type": "boolean"
42
- },
43
- "output": {
44
- "char": "o",
45
- "description": "Write output to file",
46
- "name": "output",
47
- "hasDynamicHelp": false,
48
- "multiple": false,
49
- "type": "option"
50
- }
51
- },
52
- "hasDynamicHelp": false,
53
- "hiddenAliases": [],
54
- "id": "convert",
55
- "pluginAlias": "@rulemetric/cli",
56
- "pluginName": "@rulemetric/cli",
57
- "pluginType": "core",
58
- "strict": true,
59
- "enableJsonFlag": false,
60
- "isESM": true,
61
- "relativePath": [
62
- "dist",
63
- "commands",
64
- "convert.js"
65
- ]
66
- },
67
- "converters": {
68
- "aliases": [],
69
- "args": {},
70
- "description": "List all supported conversion formats",
71
- "examples": [
72
- "<%= config.bin %> converters",
73
- "<%= config.bin %> converters --tier 1"
74
- ],
75
- "flags": {
76
- "json": {
77
- "description": "Format output as json.",
78
- "helpGroup": "GLOBAL",
79
- "name": "json",
80
- "allowNo": false,
81
- "type": "boolean"
82
- },
83
- "api-url": {
84
- "description": "Override API base URL",
85
- "env": "RULEMETRIC_API_URL",
86
- "hidden": true,
87
- "name": "api-url",
88
- "hasDynamicHelp": false,
89
- "multiple": false,
90
- "type": "option"
91
- },
92
- "tier": {
93
- "char": "t",
94
- "description": "Filter by tier",
95
- "name": "tier",
96
- "hasDynamicHelp": false,
97
- "multiple": false,
98
- "options": [
99
- "1",
100
- "2",
101
- "3"
102
- ],
103
- "type": "option"
104
- }
105
- },
106
- "hasDynamicHelp": false,
107
- "hiddenAliases": [],
108
- "id": "converters",
109
- "pluginAlias": "@rulemetric/cli",
110
- "pluginName": "@rulemetric/cli",
111
- "pluginType": "core",
112
- "strict": true,
113
- "enableJsonFlag": true,
114
- "isESM": true,
115
- "relativePath": [
116
- "dist",
117
- "commands",
118
- "converters.js"
119
- ]
120
- },
121
3
  "dashboard": {
122
4
  "aliases": [],
123
5
  "args": {},
@@ -209,91 +91,6 @@
209
91
  "diagnostics.js"
210
92
  ]
211
93
  },
212
- "import": {
213
- "aliases": [],
214
- "args": {
215
- "file": {
216
- "description": "Path to file to import",
217
- "name": "file",
218
- "required": true
219
- }
220
- },
221
- "description": "Import an existing config file as a RuleMetric instruction",
222
- "examples": [
223
- "<%= config.bin %> import .cursorrules",
224
- "<%= config.bin %> import CLAUDE.md --format claude-md --name \"My Rules\""
225
- ],
226
- "flags": {
227
- "api-url": {
228
- "description": "Override API base URL",
229
- "env": "RULEMETRIC_API_URL",
230
- "hidden": true,
231
- "name": "api-url",
232
- "hasDynamicHelp": false,
233
- "multiple": false,
234
- "type": "option"
235
- },
236
- "format": {
237
- "description": "Source format (auto-detected if not provided)",
238
- "name": "format",
239
- "hasDynamicHelp": false,
240
- "multiple": false,
241
- "type": "option"
242
- },
243
- "name": {
244
- "char": "n",
245
- "description": "Override instruction name",
246
- "name": "name",
247
- "hasDynamicHelp": false,
248
- "multiple": false,
249
- "type": "option"
250
- },
251
- "scope": {
252
- "char": "s",
253
- "description": "Instruction scope",
254
- "name": "scope",
255
- "default": "personal",
256
- "hasDynamicHelp": false,
257
- "multiple": false,
258
- "options": [
259
- "org",
260
- "team",
261
- "project",
262
- "personal"
263
- ],
264
- "type": "option"
265
- },
266
- "scope-ref": {
267
- "description": "Scope reference UUID",
268
- "name": "scope-ref",
269
- "hasDynamicHelp": false,
270
- "multiple": false,
271
- "type": "option"
272
- },
273
- "tags": {
274
- "char": "t",
275
- "description": "Comma-separated tags",
276
- "name": "tags",
277
- "hasDynamicHelp": false,
278
- "multiple": false,
279
- "type": "option"
280
- }
281
- },
282
- "hasDynamicHelp": false,
283
- "hiddenAliases": [],
284
- "id": "import",
285
- "pluginAlias": "@rulemetric/cli",
286
- "pluginName": "@rulemetric/cli",
287
- "pluginType": "core",
288
- "strict": true,
289
- "enableJsonFlag": false,
290
- "isESM": true,
291
- "relativePath": [
292
- "dist",
293
- "commands",
294
- "import.js"
295
- ]
296
- },
297
94
  "launcher": {
298
95
  "aliases": [],
299
96
  "args": {},
@@ -487,18 +284,13 @@
487
284
  "backfill.js"
488
285
  ]
489
286
  },
490
- "capture:scope": {
287
+ "auth:create-key": {
491
288
  "aliases": [],
492
289
  "args": {},
493
- "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",
494
291
  "examples": [
495
- "<%= config.bin %> <%= command.id %>",
496
- "<%= config.bin %> <%= command.id %> --add ~/work/client-a --add ~/work/client-b",
497
- "<%= config.bin %> <%= command.id %> --tool hooks --add ~/work/client-a",
498
- "<%= config.bin %> <%= command.id %> --tool hooks --off",
499
- "<%= config.bin %> <%= command.id %> --remove ~/work/client-a",
500
- "<%= config.bin %> <%= command.id %> --off",
501
- "<%= config.bin %> <%= command.id %> --all"
292
+ "<%= config.bin %> auth create-key --name \"laptop\"",
293
+ "<%= config.bin %> auth create-key --name \"ci token\" --no-save"
502
294
  ],
503
295
  "flags": {
504
296
  "api-url": {
@@ -510,60 +302,26 @@
510
302
  "multiple": false,
511
303
  "type": "option"
512
304
  },
513
- "tool": {
514
- "description": "Which capture path to edit: \"codex\" (the worker transcript sweep, the default) or \"hooks\" (Claude Code / Cursor / Copilot / Antigravity hook sessions).",
515
- "name": "tool",
516
- "default": "codex",
305
+ "name": {
306
+ "char": "n",
307
+ "description": "Name for this key",
308
+ "name": "name",
309
+ "required": true,
517
310
  "hasDynamicHelp": false,
518
311
  "multiple": false,
519
- "options": [
520
- "codex",
521
- "hooks"
522
- ],
523
- "type": "option"
524
- },
525
- "add": {
526
- "description": "Capture sessions under this path (repeatable). Implies an allowlist.",
527
- "name": "add",
528
- "hasDynamicHelp": false,
529
- "multiple": true,
530
- "type": "option"
531
- },
532
- "remove": {
533
- "description": "Stop capturing under this path (repeatable).",
534
- "name": "remove",
535
- "hasDynamicHelp": false,
536
- "multiple": true,
537
312
  "type": "option"
538
313
  },
539
- "off": {
540
- "description": "Turn this capture path off entirely.",
541
- "exclusive": [
542
- "all"
543
- ],
544
- "name": "off",
545
- "allowNo": false,
546
- "type": "boolean"
547
- },
548
- "all": {
549
- "description": "Capture every project (the default).",
550
- "exclusive": [
551
- "off"
552
- ],
553
- "name": "all",
554
- "allowNo": false,
555
- "type": "boolean"
556
- },
557
- "clear": {
558
- "description": "Remove this scope, restoring the default.",
559
- "name": "clear",
560
- "allowNo": false,
314
+ "save": {
315
+ "char": "s",
316
+ "description": "Save key to ~/.config/rulemetric/env for hooks/proxy",
317
+ "name": "save",
318
+ "allowNo": true,
561
319
  "type": "boolean"
562
320
  }
563
321
  },
564
322
  "hasDynamicHelp": false,
565
323
  "hiddenAliases": [],
566
- "id": "capture:scope",
324
+ "id": "auth:create-key",
567
325
  "pluginAlias": "@rulemetric/cli",
568
326
  "pluginName": "@rulemetric/cli",
569
327
  "pluginType": "core",
@@ -573,14 +331,18 @@
573
331
  "relativePath": [
574
332
  "dist",
575
333
  "commands",
576
- "capture",
577
- "scope.js"
334
+ "auth",
335
+ "create-key.js"
578
336
  ]
579
337
  },
580
- "catalog": {
338
+ "auth:login": {
581
339
  "aliases": [],
582
340
  "args": {},
583
- "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
+ ],
584
346
  "flags": {
585
347
  "api-url": {
586
348
  "description": "Override API base URL",
@@ -591,31 +353,28 @@
591
353
  "multiple": false,
592
354
  "type": "option"
593
355
  },
594
- "badge": {
595
- "description": "Filter by badge",
596
- "name": "badge",
597
- "hasDynamicHelp": false,
598
- "multiple": false,
599
- "options": [
600
- "recommended",
601
- "required"
602
- ],
356
+ "email": {
357
+ "char": "e",
358
+ "description": "Email address",
359
+ "name": "email",
360
+ "hasDynamicHelp": false,
361
+ "multiple": false,
603
362
  "type": "option"
604
363
  },
605
- "scope": {
606
- "description": "Filter by scope",
607
- "name": "scope",
364
+ "password": {
365
+ "char": "p",
366
+ "description": "Password (for non-interactive use)",
367
+ "name": "password",
608
368
  "hasDynamicHelp": false,
609
369
  "multiple": false,
610
- "options": [
611
- "org",
612
- "team"
613
- ],
614
370
  "type": "option"
615
371
  },
616
- "search": {
617
- "description": "Search by name or description",
618
- "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",
619
378
  "hasDynamicHelp": false,
620
379
  "multiple": false,
621
380
  "type": "option"
@@ -623,7 +382,7 @@
623
382
  },
624
383
  "hasDynamicHelp": false,
625
384
  "hiddenAliases": [],
626
- "id": "catalog",
385
+ "id": "auth:login",
627
386
  "pluginAlias": "@rulemetric/cli",
628
387
  "pluginName": "@rulemetric/cli",
629
388
  "pluginType": "core",
@@ -633,20 +392,17 @@
633
392
  "relativePath": [
634
393
  "dist",
635
394
  "commands",
636
- "catalog",
637
- "index.js"
395
+ "auth",
396
+ "login.js"
638
397
  ]
639
398
  },
640
- "catalog:recommend": {
399
+ "auth:logout": {
641
400
  "aliases": [],
642
- "args": {
643
- "projectId": {
644
- "description": "ID of the project",
645
- "name": "projectId",
646
- "required": true
647
- }
648
- },
649
- "description": "Get AI-powered instruction recommendations for a project",
401
+ "args": {},
402
+ "description": "Log out of RuleMetric",
403
+ "examples": [
404
+ "<%= config.bin %> auth logout"
405
+ ],
650
406
  "flags": {
651
407
  "api-url": {
652
408
  "description": "Override API base URL",
@@ -660,7 +416,7 @@
660
416
  },
661
417
  "hasDynamicHelp": false,
662
418
  "hiddenAliases": [],
663
- "id": "catalog:recommend",
419
+ "id": "auth:logout",
664
420
  "pluginAlias": "@rulemetric/cli",
665
421
  "pluginName": "@rulemetric/cli",
666
422
  "pluginType": "core",
@@ -670,17 +426,23 @@
670
426
  "relativePath": [
671
427
  "dist",
672
428
  "commands",
673
- "catalog",
674
- "recommend.js"
429
+ "auth",
430
+ "logout.js"
675
431
  ]
676
432
  },
677
- "auth:create-key": {
433
+ "auth:revoke-key": {
678
434
  "aliases": [],
679
- "args": {},
680
- "description": "Create a long-lived API key for CLI and proxy authentication",
435
+ "args": {
436
+ "id": {
437
+ "description": "API key ID, prefix (rm_xxxxxxxx), or name",
438
+ "name": "id"
439
+ }
440
+ },
441
+ "description": "Revoke an API key (run with no argument to list active keys)",
681
442
  "examples": [
682
- "<%= config.bin %> auth create-key --name \"laptop\"",
683
- "<%= config.bin %> auth create-key --name \"ci token\" --no-save"
443
+ "<%= config.bin %> auth revoke-key",
444
+ "<%= config.bin %> auth revoke-key rm_abc12345",
445
+ "<%= config.bin %> auth revoke-key \"my-laptop (auto)\""
684
446
  ],
685
447
  "flags": {
686
448
  "api-url": {
@@ -691,27 +453,11 @@
691
453
  "hasDynamicHelp": false,
692
454
  "multiple": false,
693
455
  "type": "option"
694
- },
695
- "name": {
696
- "char": "n",
697
- "description": "Name for this key",
698
- "name": "name",
699
- "required": true,
700
- "hasDynamicHelp": false,
701
- "multiple": false,
702
- "type": "option"
703
- },
704
- "save": {
705
- "char": "s",
706
- "description": "Save key to ~/.config/rulemetric/env for hooks/proxy",
707
- "name": "save",
708
- "allowNo": true,
709
- "type": "boolean"
710
456
  }
711
457
  },
712
458
  "hasDynamicHelp": false,
713
459
  "hiddenAliases": [],
714
- "id": "auth:create-key",
460
+ "id": "auth:revoke-key",
715
461
  "pluginAlias": "@rulemetric/cli",
716
462
  "pluginName": "@rulemetric/cli",
717
463
  "pluginType": "core",
@@ -722,16 +468,16 @@
722
468
  "dist",
723
469
  "commands",
724
470
  "auth",
725
- "create-key.js"
471
+ "revoke-key.js"
726
472
  ]
727
473
  },
728
- "auth:login": {
474
+ "auth:signup": {
729
475
  "aliases": [],
730
476
  "args": {},
731
- "description": "Log in to RuleMetric",
477
+ "description": "Create a RuleMetric account from the CLI",
732
478
  "examples": [
733
- "<%= config.bin %> auth login",
734
- "<%= config.bin %> auth login -e user@example.com"
479
+ "<%= config.bin %> auth signup",
480
+ "<%= config.bin %> auth signup -e user@example.com"
735
481
  ],
736
482
  "flags": {
737
483
  "api-url": {
@@ -753,26 +499,16 @@
753
499
  },
754
500
  "password": {
755
501
  "char": "p",
756
- "description": "Password (for non-interactive use)",
502
+ "description": "Password (min 8 chars; for non-interactive use)",
757
503
  "name": "password",
758
504
  "hasDynamicHelp": false,
759
505
  "multiple": false,
760
506
  "type": "option"
761
- },
762
- "api-key": {
763
- "description": "Authenticate with an API key from https://rulemetric.com/connect (required for Google/GitHub sign-ins, which have no password)",
764
- "exclusive": [
765
- "password"
766
- ],
767
- "name": "api-key",
768
- "hasDynamicHelp": false,
769
- "multiple": false,
770
- "type": "option"
771
507
  }
772
508
  },
773
509
  "hasDynamicHelp": false,
774
510
  "hiddenAliases": [],
775
- "id": "auth:login",
511
+ "id": "auth:signup",
776
512
  "pluginAlias": "@rulemetric/cli",
777
513
  "pluginName": "@rulemetric/cli",
778
514
  "pluginType": "core",
@@ -783,15 +519,15 @@
783
519
  "dist",
784
520
  "commands",
785
521
  "auth",
786
- "login.js"
522
+ "signup.js"
787
523
  ]
788
524
  },
789
- "auth:logout": {
525
+ "auth:status": {
790
526
  "aliases": [],
791
527
  "args": {},
792
- "description": "Log out of RuleMetric",
528
+ "description": "Show current authentication status",
793
529
  "examples": [
794
- "<%= config.bin %> auth logout"
530
+ "<%= config.bin %> auth status"
795
531
  ],
796
532
  "flags": {
797
533
  "api-url": {
@@ -806,7 +542,7 @@
806
542
  },
807
543
  "hasDynamicHelp": false,
808
544
  "hiddenAliases": [],
809
- "id": "auth:logout",
545
+ "id": "auth:status",
810
546
  "pluginAlias": "@rulemetric/cli",
811
547
  "pluginName": "@rulemetric/cli",
812
548
  "pluginType": "core",
@@ -817,22 +553,21 @@
817
553
  "dist",
818
554
  "commands",
819
555
  "auth",
820
- "logout.js"
556
+ "status.js"
821
557
  ]
822
558
  },
823
- "auth:revoke-key": {
559
+ "capture:scope": {
824
560
  "aliases": [],
825
- "args": {
826
- "id": {
827
- "description": "API key ID, prefix (rm_xxxxxxxx), or name",
828
- "name": "id"
829
- }
830
- },
831
- "description": "Revoke an API key (run with no argument to list active keys)",
561
+ "args": {},
562
+ "description": "Show or set which projects RuleMetric captures — the Codex sweep and hook-driven sessions each have their own scope",
832
563
  "examples": [
833
- "<%= config.bin %> auth revoke-key",
834
- "<%= config.bin %> auth revoke-key rm_abc12345",
835
- "<%= config.bin %> auth revoke-key \"my-laptop (auto)\""
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"
836
571
  ],
837
572
  "flags": {
838
573
  "api-url": {
@@ -843,11 +578,61 @@
843
578
  "hasDynamicHelp": false,
844
579
  "multiple": false,
845
580
  "type": "option"
581
+ },
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",
586
+ "hasDynamicHelp": false,
587
+ "multiple": false,
588
+ "options": [
589
+ "codex",
590
+ "hooks"
591
+ ],
592
+ "type": "option"
593
+ },
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,
630
+ "type": "boolean"
846
631
  }
847
632
  },
848
633
  "hasDynamicHelp": false,
849
634
  "hiddenAliases": [],
850
- "id": "auth:revoke-key",
635
+ "id": "capture:scope",
851
636
  "pluginAlias": "@rulemetric/cli",
852
637
  "pluginName": "@rulemetric/cli",
853
638
  "pluginType": "core",
@@ -857,18 +642,14 @@
857
642
  "relativePath": [
858
643
  "dist",
859
644
  "commands",
860
- "auth",
861
- "revoke-key.js"
645
+ "capture",
646
+ "scope.js"
862
647
  ]
863
648
  },
864
- "auth:signup": {
649
+ "catalog": {
865
650
  "aliases": [],
866
651
  "args": {},
867
- "description": "Create a RuleMetric account from the CLI",
868
- "examples": [
869
- "<%= config.bin %> auth signup",
870
- "<%= config.bin %> auth signup -e user@example.com"
871
- ],
652
+ "description": "Browse the org instruction catalog",
872
653
  "flags": {
873
654
  "api-url": {
874
655
  "description": "Override API base URL",
@@ -879,18 +660,31 @@
879
660
  "multiple": false,
880
661
  "type": "option"
881
662
  },
882
- "email": {
883
- "char": "e",
884
- "description": "Email address",
885
- "name": "email",
663
+ "badge": {
664
+ "description": "Filter by badge",
665
+ "name": "badge",
886
666
  "hasDynamicHelp": false,
887
667
  "multiple": false,
668
+ "options": [
669
+ "recommended",
670
+ "required"
671
+ ],
888
672
  "type": "option"
889
673
  },
890
- "password": {
891
- "char": "p",
892
- "description": "Password (min 8 chars; for non-interactive use)",
893
- "name": "password",
674
+ "scope": {
675
+ "description": "Filter by scope",
676
+ "name": "scope",
677
+ "hasDynamicHelp": false,
678
+ "multiple": false,
679
+ "options": [
680
+ "org",
681
+ "team"
682
+ ],
683
+ "type": "option"
684
+ },
685
+ "search": {
686
+ "description": "Search by name or description",
687
+ "name": "search",
894
688
  "hasDynamicHelp": false,
895
689
  "multiple": false,
896
690
  "type": "option"
@@ -898,7 +692,7 @@
898
692
  },
899
693
  "hasDynamicHelp": false,
900
694
  "hiddenAliases": [],
901
- "id": "auth:signup",
695
+ "id": "catalog",
902
696
  "pluginAlias": "@rulemetric/cli",
903
697
  "pluginName": "@rulemetric/cli",
904
698
  "pluginType": "core",
@@ -908,17 +702,20 @@
908
702
  "relativePath": [
909
703
  "dist",
910
704
  "commands",
911
- "auth",
912
- "signup.js"
705
+ "catalog",
706
+ "index.js"
913
707
  ]
914
708
  },
915
- "auth:status": {
709
+ "catalog:recommend": {
916
710
  "aliases": [],
917
- "args": {},
918
- "description": "Show current authentication status",
919
- "examples": [
920
- "<%= config.bin %> auth status"
921
- ],
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",
922
719
  "flags": {
923
720
  "api-url": {
924
721
  "description": "Override API base URL",
@@ -932,7 +729,7 @@
932
729
  },
933
730
  "hasDynamicHelp": false,
934
731
  "hiddenAliases": [],
935
- "id": "auth:status",
732
+ "id": "catalog:recommend",
936
733
  "pluginAlias": "@rulemetric/cli",
937
734
  "pluginName": "@rulemetric/cli",
938
735
  "pluginType": "core",
@@ -942,8 +739,8 @@
942
739
  "relativePath": [
943
740
  "dist",
944
741
  "commands",
945
- "auth",
946
- "status.js"
742
+ "catalog",
743
+ "recommend.js"
947
744
  ]
948
745
  },
949
746
  "crons:list": {
@@ -966,7 +763,139 @@
966
763
  },
967
764
  "hasDynamicHelp": false,
968
765
  "hiddenAliases": [],
969
- "id": "crons:list",
766
+ "id": "crons:list",
767
+ "pluginAlias": "@rulemetric/cli",
768
+ "pluginName": "@rulemetric/cli",
769
+ "pluginType": "core",
770
+ "strict": true,
771
+ "enableJsonFlag": false,
772
+ "isESM": true,
773
+ "relativePath": [
774
+ "dist",
775
+ "commands",
776
+ "crons",
777
+ "list.js"
778
+ ]
779
+ },
780
+ "crons:run": {
781
+ "aliases": [],
782
+ "args": {
783
+ "name": {
784
+ "description": "Task name (run `rulemetric crons list` to see all)",
785
+ "name": "name",
786
+ "required": true
787
+ }
788
+ },
789
+ "description": "Run a maintenance task synchronously, right now",
790
+ "examples": [
791
+ "<%= config.bin %> crons run cron_check_changelog",
792
+ "<%= config.bin %> crons run cron_suggest_instructions --quiet"
793
+ ],
794
+ "flags": {
795
+ "api-url": {
796
+ "description": "Override API base URL",
797
+ "env": "RULEMETRIC_API_URL",
798
+ "hidden": true,
799
+ "name": "api-url",
800
+ "hasDynamicHelp": false,
801
+ "multiple": false,
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"
810
+ }
811
+ },
812
+ "hasDynamicHelp": false,
813
+ "hiddenAliases": [],
814
+ "id": "crons:run",
815
+ "pluginAlias": "@rulemetric/cli",
816
+ "pluginName": "@rulemetric/cli",
817
+ "pluginType": "core",
818
+ "strict": true,
819
+ "enableJsonFlag": false,
820
+ "isESM": true,
821
+ "relativePath": [
822
+ "dist",
823
+ "commands",
824
+ "crons",
825
+ "run.js"
826
+ ]
827
+ },
828
+ "eval-targets:create": {
829
+ "aliases": [],
830
+ "args": {},
831
+ "description": "Create an eval target (instruction, skill, prompt, or plan to test)",
832
+ "examples": [
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\""
835
+ ],
836
+ "flags": {
837
+ "api-url": {
838
+ "description": "Override API base URL",
839
+ "env": "RULEMETRIC_API_URL",
840
+ "hidden": true,
841
+ "name": "api-url",
842
+ "hasDynamicHelp": false,
843
+ "multiple": false,
844
+ "type": "option"
845
+ },
846
+ "name": {
847
+ "char": "n",
848
+ "description": "Name for the eval target",
849
+ "name": "name",
850
+ "required": true,
851
+ "hasDynamicHelp": false,
852
+ "multiple": false,
853
+ "type": "option"
854
+ },
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": "",
891
+ "hasDynamicHelp": false,
892
+ "multiple": false,
893
+ "type": "option"
894
+ }
895
+ },
896
+ "hasDynamicHelp": false,
897
+ "hiddenAliases": [],
898
+ "id": "eval-targets:create",
970
899
  "pluginAlias": "@rulemetric/cli",
971
900
  "pluginName": "@rulemetric/cli",
972
901
  "pluginType": "core",
@@ -976,23 +905,17 @@
976
905
  "relativePath": [
977
906
  "dist",
978
907
  "commands",
979
- "crons",
980
- "list.js"
908
+ "eval-targets",
909
+ "create.js"
981
910
  ]
982
911
  },
983
- "crons:run": {
912
+ "eval-targets:list": {
984
913
  "aliases": [],
985
- "args": {
986
- "name": {
987
- "description": "Task name (run `rulemetric crons list` to see all)",
988
- "name": "name",
989
- "required": true
990
- }
991
- },
992
- "description": "Run a maintenance task synchronously, right now",
914
+ "args": {},
915
+ "description": "List eval targets",
993
916
  "examples": [
994
- "<%= config.bin %> crons run cron_check_changelog",
995
- "<%= config.bin %> crons run cron_suggest_instructions --quiet"
917
+ "<%= config.bin %> eval-targets list",
918
+ "<%= config.bin %> eval-targets list --type instruction"
996
919
  ],
997
920
  "flags": {
998
921
  "api-url": {
@@ -1004,17 +927,24 @@
1004
927
  "multiple": false,
1005
928
  "type": "option"
1006
929
  },
1007
- "quiet": {
1008
- "char": "q",
1009
- "description": "Suppress per-line log output; print summary only",
1010
- "name": "quiet",
1011
- "allowNo": false,
1012
- "type": "boolean"
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"
1013
943
  }
1014
944
  },
1015
945
  "hasDynamicHelp": false,
1016
946
  "hiddenAliases": [],
1017
- "id": "crons:run",
947
+ "id": "eval-targets:list",
1018
948
  "pluginAlias": "@rulemetric/cli",
1019
949
  "pluginName": "@rulemetric/cli",
1020
950
  "pluginType": "core",
@@ -1024,8 +954,8 @@
1024
954
  "relativePath": [
1025
955
  "dist",
1026
956
  "commands",
1027
- "crons",
1028
- "run.js"
957
+ "eval-targets",
958
+ "list.js"
1029
959
  ]
1030
960
  },
1031
961
  "evals:agent": {
@@ -1812,139 +1742,6 @@
1812
1742
  "list.js"
1813
1743
  ]
1814
1744
  },
1815
- "eval-targets:create": {
1816
- "aliases": [],
1817
- "args": {},
1818
- "description": "Create an eval target (instruction, skill, prompt, or plan to test)",
1819
- "examples": [
1820
- "<%= config.bin %> eval-targets create --name my-rules --type instruction --file ./CLAUDE.md",
1821
- "<%= config.bin %> eval-targets create --name my-prompt --type prompt --content \"Always use TypeScript\""
1822
- ],
1823
- "flags": {
1824
- "api-url": {
1825
- "description": "Override API base URL",
1826
- "env": "RULEMETRIC_API_URL",
1827
- "hidden": true,
1828
- "name": "api-url",
1829
- "hasDynamicHelp": false,
1830
- "multiple": false,
1831
- "type": "option"
1832
- },
1833
- "name": {
1834
- "char": "n",
1835
- "description": "Name for the eval target",
1836
- "name": "name",
1837
- "required": true,
1838
- "hasDynamicHelp": false,
1839
- "multiple": false,
1840
- "type": "option"
1841
- },
1842
- "type": {
1843
- "char": "t",
1844
- "description": "Target type",
1845
- "name": "type",
1846
- "required": true,
1847
- "hasDynamicHelp": false,
1848
- "multiple": false,
1849
- "options": [
1850
- "instruction",
1851
- "skill",
1852
- "prompt",
1853
- "plan"
1854
- ],
1855
- "type": "option"
1856
- },
1857
- "file": {
1858
- "char": "f",
1859
- "description": "Path to content file",
1860
- "name": "file",
1861
- "hasDynamicHelp": false,
1862
- "multiple": false,
1863
- "type": "option"
1864
- },
1865
- "content": {
1866
- "char": "c",
1867
- "description": "Content string (alternative to --file)",
1868
- "name": "content",
1869
- "hasDynamicHelp": false,
1870
- "multiple": false,
1871
- "type": "option"
1872
- },
1873
- "description": {
1874
- "char": "d",
1875
- "description": "Description of the target",
1876
- "name": "description",
1877
- "default": "",
1878
- "hasDynamicHelp": false,
1879
- "multiple": false,
1880
- "type": "option"
1881
- }
1882
- },
1883
- "hasDynamicHelp": false,
1884
- "hiddenAliases": [],
1885
- "id": "eval-targets:create",
1886
- "pluginAlias": "@rulemetric/cli",
1887
- "pluginName": "@rulemetric/cli",
1888
- "pluginType": "core",
1889
- "strict": true,
1890
- "enableJsonFlag": false,
1891
- "isESM": true,
1892
- "relativePath": [
1893
- "dist",
1894
- "commands",
1895
- "eval-targets",
1896
- "create.js"
1897
- ]
1898
- },
1899
- "eval-targets:list": {
1900
- "aliases": [],
1901
- "args": {},
1902
- "description": "List eval targets",
1903
- "examples": [
1904
- "<%= config.bin %> eval-targets list",
1905
- "<%= config.bin %> eval-targets list --type instruction"
1906
- ],
1907
- "flags": {
1908
- "api-url": {
1909
- "description": "Override API base URL",
1910
- "env": "RULEMETRIC_API_URL",
1911
- "hidden": true,
1912
- "name": "api-url",
1913
- "hasDynamicHelp": false,
1914
- "multiple": false,
1915
- "type": "option"
1916
- },
1917
- "type": {
1918
- "char": "t",
1919
- "description": "Filter by type",
1920
- "name": "type",
1921
- "hasDynamicHelp": false,
1922
- "multiple": false,
1923
- "options": [
1924
- "instruction",
1925
- "skill",
1926
- "prompt",
1927
- "plan"
1928
- ],
1929
- "type": "option"
1930
- }
1931
- },
1932
- "hasDynamicHelp": false,
1933
- "hiddenAliases": [],
1934
- "id": "eval-targets:list",
1935
- "pluginAlias": "@rulemetric/cli",
1936
- "pluginName": "@rulemetric/cli",
1937
- "pluginType": "core",
1938
- "strict": true,
1939
- "enableJsonFlag": false,
1940
- "isESM": true,
1941
- "relativePath": [
1942
- "dist",
1943
- "commands",
1944
- "eval-targets",
1945
- "list.js"
1946
- ]
1947
- },
1948
1745
  "gateway:ensure": {
1949
1746
  "aliases": [],
1950
1747
  "args": {},
@@ -4340,8 +4137,8 @@
4340
4137
  "description": "Install a skill from the registry into your project",
4341
4138
  "examples": [
4342
4139
  "<%= config.bin %> skills install tdd-workflow",
4343
- "<%= config.bin %> skills install tdd-workflow --tool cursor",
4344
- "<%= config.bin %> skills install tdd-workflow --preview"
4140
+ "<%= config.bin %> skills install tdd-workflow --preview",
4141
+ "<%= config.bin %> skills install tdd-workflow --force"
4345
4142
  ],
4346
4143
  "flags": {
4347
4144
  "api-url": {
@@ -4354,7 +4151,8 @@
4354
4151
  "type": "option"
4355
4152
  },
4356
4153
  "tool": {
4357
- "description": "Target tool format",
4154
+ "description": "Deprecated and ignored — skills install to every agent path at once",
4155
+ "hidden": true,
4358
4156
  "name": "tool",
4359
4157
  "hasDynamicHelp": false,
4360
4158
  "multiple": false,
@@ -4378,6 +4176,12 @@
4378
4176
  "hasDynamicHelp": false,
4379
4177
  "multiple": false,
4380
4178
  "type": "option"
4179
+ },
4180
+ "force": {
4181
+ "description": "Replace an existing skill directory at the Claude Code path",
4182
+ "name": "force",
4183
+ "allowNo": false,
4184
+ "type": "boolean"
4381
4185
  }
4382
4186
  },
4383
4187
  "hasDynamicHelp": false,
@@ -4773,6 +4577,40 @@
4773
4577
  "hasDynamicHelp": false,
4774
4578
  "multiple": false,
4775
4579
  "type": "option"
4580
+ },
4581
+ "max-per-window": {
4582
+ "description": "How many rules the loop may adopt per project per window (0 stops it adopting)",
4583
+ "name": "max-per-window",
4584
+ "hasDynamicHelp": false,
4585
+ "multiple": false,
4586
+ "type": "option"
4587
+ },
4588
+ "max-per-run": {
4589
+ "description": "How many rules one nightly run may adopt",
4590
+ "name": "max-per-run",
4591
+ "hasDynamicHelp": false,
4592
+ "multiple": false,
4593
+ "type": "option"
4594
+ },
4595
+ "window-days": {
4596
+ "description": "Length of the budget window, in days",
4597
+ "name": "window-days",
4598
+ "hasDynamicHelp": false,
4599
+ "multiple": false,
4600
+ "type": "option"
4601
+ },
4602
+ "min-score": {
4603
+ "description": "Minimum suggestion score the loop may adopt (0–1)",
4604
+ "name": "min-score",
4605
+ "hasDynamicHelp": false,
4606
+ "multiple": false,
4607
+ "type": "option"
4608
+ },
4609
+ "reset": {
4610
+ "description": "Clear the budget overrides at this level and fall back to the shipped defaults",
4611
+ "name": "reset",
4612
+ "allowNo": false,
4613
+ "type": "boolean"
4776
4614
  }
4777
4615
  },
4778
4616
  "hasDynamicHelp": false,
@@ -4949,5 +4787,5 @@
4949
4787
  ]
4950
4788
  }
4951
4789
  },
4952
- "version": "0.10.0"
4790
+ "version": "0.11.0"
4953
4791
  }