@rulemetric/cli 0.1.1

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 (416) hide show
  1. package/bin/dev.js +3 -0
  2. package/bin/run.js +3 -0
  3. package/dist/base-command.d.ts +12 -0
  4. package/dist/base-command.d.ts.map +1 -0
  5. package/dist/base-command.js +37 -0
  6. package/dist/base-command.js.map +1 -0
  7. package/dist/commands/auth/create-key.d.ts +11 -0
  8. package/dist/commands/auth/create-key.d.ts.map +1 -0
  9. package/dist/commands/auth/create-key.js +34 -0
  10. package/dist/commands/auth/create-key.js.map +1 -0
  11. package/dist/commands/auth/login.d.ts +11 -0
  12. package/dist/commands/auth/login.d.ts.map +1 -0
  13. package/dist/commands/auth/login.js +40 -0
  14. package/dist/commands/auth/login.js.map +1 -0
  15. package/dist/commands/auth/logout.d.ts +7 -0
  16. package/dist/commands/auth/logout.d.ts.map +1 -0
  17. package/dist/commands/auth/logout.js +13 -0
  18. package/dist/commands/auth/logout.js.map +1 -0
  19. package/dist/commands/auth/revoke-key.d.ts +10 -0
  20. package/dist/commands/auth/revoke-key.d.ts.map +1 -0
  21. package/dist/commands/auth/revoke-key.js +18 -0
  22. package/dist/commands/auth/revoke-key.js.map +1 -0
  23. package/dist/commands/auth/status.d.ts +7 -0
  24. package/dist/commands/auth/status.d.ts.map +1 -0
  25. package/dist/commands/auth/status.js +23 -0
  26. package/dist/commands/auth/status.js.map +1 -0
  27. package/dist/commands/catalog/index.d.ts +11 -0
  28. package/dist/commands/catalog/index.d.ts.map +1 -0
  29. package/dist/commands/catalog/index.js +35 -0
  30. package/dist/commands/catalog/index.js.map +1 -0
  31. package/dist/commands/catalog/recommend.d.ts +9 -0
  32. package/dist/commands/catalog/recommend.d.ts.map +1 -0
  33. package/dist/commands/catalog/recommend.js +27 -0
  34. package/dist/commands/catalog/recommend.js.map +1 -0
  35. package/dist/commands/convert.d.ts +15 -0
  36. package/dist/commands/convert.d.ts.map +1 -0
  37. package/dist/commands/convert.js +55 -0
  38. package/dist/commands/convert.js.map +1 -0
  39. package/dist/commands/converters.d.ts +12 -0
  40. package/dist/commands/converters.d.ts.map +1 -0
  41. package/dist/commands/converters.js +39 -0
  42. package/dist/commands/converters.js.map +1 -0
  43. package/dist/commands/dashboard.d.ts +10 -0
  44. package/dist/commands/dashboard.d.ts.map +1 -0
  45. package/dist/commands/dashboard.js +24 -0
  46. package/dist/commands/dashboard.js.map +1 -0
  47. package/dist/commands/eval-targets/create.d.ts +14 -0
  48. package/dist/commands/eval-targets/create.d.ts.map +1 -0
  49. package/dist/commands/eval-targets/create.js +40 -0
  50. package/dist/commands/eval-targets/create.js.map +1 -0
  51. package/dist/commands/eval-targets/list.d.ts +10 -0
  52. package/dist/commands/eval-targets/list.d.ts.map +1 -0
  53. package/dist/commands/eval-targets/list.js +36 -0
  54. package/dist/commands/eval-targets/list.js.map +1 -0
  55. package/dist/commands/evals/benchmark.d.ts +13 -0
  56. package/dist/commands/evals/benchmark.d.ts.map +1 -0
  57. package/dist/commands/evals/benchmark.js +53 -0
  58. package/dist/commands/evals/benchmark.js.map +1 -0
  59. package/dist/commands/evals/compare.d.ts +15 -0
  60. package/dist/commands/evals/compare.d.ts.map +1 -0
  61. package/dist/commands/evals/compare.js +101 -0
  62. package/dist/commands/evals/compare.js.map +1 -0
  63. package/dist/commands/evals/create.d.ts +17 -0
  64. package/dist/commands/evals/create.d.ts.map +1 -0
  65. package/dist/commands/evals/create.js +52 -0
  66. package/dist/commands/evals/create.js.map +1 -0
  67. package/dist/commands/evals/listen.d.ts +11 -0
  68. package/dist/commands/evals/listen.d.ts.map +1 -0
  69. package/dist/commands/evals/listen.js +54 -0
  70. package/dist/commands/evals/listen.js.map +1 -0
  71. package/dist/commands/evals/optimize-description.d.ts +22 -0
  72. package/dist/commands/evals/optimize-description.d.ts.map +1 -0
  73. package/dist/commands/evals/optimize-description.js +269 -0
  74. package/dist/commands/evals/optimize-description.js.map +1 -0
  75. package/dist/commands/evals/optimize.d.ts +22 -0
  76. package/dist/commands/evals/optimize.d.ts.map +1 -0
  77. package/dist/commands/evals/optimize.js +200 -0
  78. package/dist/commands/evals/optimize.js.map +1 -0
  79. package/dist/commands/evals/run.d.ts +21 -0
  80. package/dist/commands/evals/run.d.ts.map +1 -0
  81. package/dist/commands/evals/run.js +168 -0
  82. package/dist/commands/evals/run.js.map +1 -0
  83. package/dist/commands/gateway/ensure.d.ts +7 -0
  84. package/dist/commands/gateway/ensure.d.ts.map +1 -0
  85. package/dist/commands/gateway/ensure.js +20 -0
  86. package/dist/commands/gateway/ensure.js.map +1 -0
  87. package/dist/commands/hooks/install.d.ts +16 -0
  88. package/dist/commands/hooks/install.d.ts.map +1 -0
  89. package/dist/commands/hooks/install.js +248 -0
  90. package/dist/commands/hooks/install.js.map +1 -0
  91. package/dist/commands/hooks/run.d.ts +11 -0
  92. package/dist/commands/hooks/run.d.ts.map +1 -0
  93. package/dist/commands/hooks/run.js +56 -0
  94. package/dist/commands/hooks/run.js.map +1 -0
  95. package/dist/commands/hooks/uninstall.d.ts +7 -0
  96. package/dist/commands/hooks/uninstall.d.ts.map +1 -0
  97. package/dist/commands/hooks/uninstall.js +88 -0
  98. package/dist/commands/hooks/uninstall.js.map +1 -0
  99. package/dist/commands/import.d.ts +17 -0
  100. package/dist/commands/import.d.ts.map +1 -0
  101. package/dist/commands/import.js +55 -0
  102. package/dist/commands/import.js.map +1 -0
  103. package/dist/commands/insights/sync.d.ts +17 -0
  104. package/dist/commands/insights/sync.d.ts.map +1 -0
  105. package/dist/commands/insights/sync.js +477 -0
  106. package/dist/commands/insights/sync.js.map +1 -0
  107. package/dist/commands/instructions/create.d.ts +17 -0
  108. package/dist/commands/instructions/create.d.ts.map +1 -0
  109. package/dist/commands/instructions/create.js +60 -0
  110. package/dist/commands/instructions/create.js.map +1 -0
  111. package/dist/commands/instructions/delete.d.ts +13 -0
  112. package/dist/commands/instructions/delete.d.ts.map +1 -0
  113. package/dist/commands/instructions/delete.js +37 -0
  114. package/dist/commands/instructions/delete.js.map +1 -0
  115. package/dist/commands/instructions/fork.d.ts +10 -0
  116. package/dist/commands/instructions/fork.d.ts.map +1 -0
  117. package/dist/commands/instructions/fork.js +19 -0
  118. package/dist/commands/instructions/fork.js.map +1 -0
  119. package/dist/commands/instructions/get.d.ts +15 -0
  120. package/dist/commands/instructions/get.d.ts.map +1 -0
  121. package/dist/commands/instructions/get.js +50 -0
  122. package/dist/commands/instructions/get.js.map +1 -0
  123. package/dist/commands/instructions/list.d.ts +12 -0
  124. package/dist/commands/instructions/list.d.ts.map +1 -0
  125. package/dist/commands/instructions/list.js +47 -0
  126. package/dist/commands/instructions/list.js.map +1 -0
  127. package/dist/commands/instructions/promote.d.ts +14 -0
  128. package/dist/commands/instructions/promote.d.ts.map +1 -0
  129. package/dist/commands/instructions/promote.js +27 -0
  130. package/dist/commands/instructions/promote.js.map +1 -0
  131. package/dist/commands/instructions/pull.d.ts +9 -0
  132. package/dist/commands/instructions/pull.d.ts.map +1 -0
  133. package/dist/commands/instructions/pull.js +22 -0
  134. package/dist/commands/instructions/pull.js.map +1 -0
  135. package/dist/commands/instructions/upstream.d.ts +9 -0
  136. package/dist/commands/instructions/upstream.d.ts.map +1 -0
  137. package/dist/commands/instructions/upstream.js +22 -0
  138. package/dist/commands/instructions/upstream.js.map +1 -0
  139. package/dist/commands/instructions/versions.d.ts +12 -0
  140. package/dist/commands/instructions/versions.d.ts.map +1 -0
  141. package/dist/commands/instructions/versions.js +34 -0
  142. package/dist/commands/instructions/versions.js.map +1 -0
  143. package/dist/commands/packs/add-instruction.d.ts +11 -0
  144. package/dist/commands/packs/add-instruction.d.ts.map +1 -0
  145. package/dist/commands/packs/add-instruction.js +22 -0
  146. package/dist/commands/packs/add-instruction.js.map +1 -0
  147. package/dist/commands/packs/apply.d.ts +13 -0
  148. package/dist/commands/packs/apply.d.ts.map +1 -0
  149. package/dist/commands/packs/apply.js +24 -0
  150. package/dist/commands/packs/apply.js.map +1 -0
  151. package/dist/commands/packs/create.d.ts +13 -0
  152. package/dist/commands/packs/create.d.ts.map +1 -0
  153. package/dist/commands/packs/create.js +35 -0
  154. package/dist/commands/packs/create.js.map +1 -0
  155. package/dist/commands/packs/fork.d.ts +10 -0
  156. package/dist/commands/packs/fork.d.ts.map +1 -0
  157. package/dist/commands/packs/fork.js +19 -0
  158. package/dist/commands/packs/fork.js.map +1 -0
  159. package/dist/commands/packs/get.d.ts +10 -0
  160. package/dist/commands/packs/get.d.ts.map +1 -0
  161. package/dist/commands/packs/get.js +36 -0
  162. package/dist/commands/packs/get.js.map +1 -0
  163. package/dist/commands/packs/list.d.ts +22 -0
  164. package/dist/commands/packs/list.d.ts.map +1 -0
  165. package/dist/commands/packs/list.js +48 -0
  166. package/dist/commands/packs/list.js.map +1 -0
  167. package/dist/commands/packs/remove-instruction.d.ts +11 -0
  168. package/dist/commands/packs/remove-instruction.d.ts.map +1 -0
  169. package/dist/commands/packs/remove-instruction.js +20 -0
  170. package/dist/commands/packs/remove-instruction.js.map +1 -0
  171. package/dist/commands/proxy/env.d.ts +14 -0
  172. package/dist/commands/proxy/env.d.ts.map +1 -0
  173. package/dist/commands/proxy/env.js +118 -0
  174. package/dist/commands/proxy/env.js.map +1 -0
  175. package/dist/commands/proxy/logs.d.ts +11 -0
  176. package/dist/commands/proxy/logs.d.ts.map +1 -0
  177. package/dist/commands/proxy/logs.js +75 -0
  178. package/dist/commands/proxy/logs.js.map +1 -0
  179. package/dist/commands/proxy/setup.d.ts +23 -0
  180. package/dist/commands/proxy/setup.d.ts.map +1 -0
  181. package/dist/commands/proxy/setup.js +391 -0
  182. package/dist/commands/proxy/setup.js.map +1 -0
  183. package/dist/commands/proxy/start.d.ts +17 -0
  184. package/dist/commands/proxy/start.d.ts.map +1 -0
  185. package/dist/commands/proxy/start.js +306 -0
  186. package/dist/commands/proxy/start.js.map +1 -0
  187. package/dist/commands/proxy/status.d.ts +7 -0
  188. package/dist/commands/proxy/status.d.ts.map +1 -0
  189. package/dist/commands/proxy/status.js +65 -0
  190. package/dist/commands/proxy/status.js.map +1 -0
  191. package/dist/commands/proxy/stop.d.ts +8 -0
  192. package/dist/commands/proxy/stop.d.ts.map +1 -0
  193. package/dist/commands/proxy/stop.js +77 -0
  194. package/dist/commands/proxy/stop.js.map +1 -0
  195. package/dist/commands/service/install.d.ts +17 -0
  196. package/dist/commands/service/install.d.ts.map +1 -0
  197. package/dist/commands/service/install.js +383 -0
  198. package/dist/commands/service/install.js.map +1 -0
  199. package/dist/commands/service/install.test.d.ts +2 -0
  200. package/dist/commands/service/install.test.d.ts.map +1 -0
  201. package/dist/commands/service/install.test.js +345 -0
  202. package/dist/commands/service/install.test.js.map +1 -0
  203. package/dist/commands/service/status.d.ts +6 -0
  204. package/dist/commands/service/status.d.ts.map +1 -0
  205. package/dist/commands/service/status.js +112 -0
  206. package/dist/commands/service/status.js.map +1 -0
  207. package/dist/commands/service/uninstall.d.ts +6 -0
  208. package/dist/commands/service/uninstall.d.ts.map +1 -0
  209. package/dist/commands/service/uninstall.js +84 -0
  210. package/dist/commands/service/uninstall.js.map +1 -0
  211. package/dist/commands/sessions/analyze.d.ts +10 -0
  212. package/dist/commands/sessions/analyze.d.ts.map +1 -0
  213. package/dist/commands/sessions/analyze.js +26 -0
  214. package/dist/commands/sessions/analyze.js.map +1 -0
  215. package/dist/commands/sessions/end.d.ts +9 -0
  216. package/dist/commands/sessions/end.d.ts.map +1 -0
  217. package/dist/commands/sessions/end.js +82 -0
  218. package/dist/commands/sessions/end.js.map +1 -0
  219. package/dist/commands/sessions/import.d.ts +13 -0
  220. package/dist/commands/sessions/import.d.ts.map +1 -0
  221. package/dist/commands/sessions/import.js +28 -0
  222. package/dist/commands/sessions/import.js.map +1 -0
  223. package/dist/commands/sessions/list.d.ts +11 -0
  224. package/dist/commands/sessions/list.d.ts.map +1 -0
  225. package/dist/commands/sessions/list.js +34 -0
  226. package/dist/commands/sessions/list.js.map +1 -0
  227. package/dist/commands/sessions/start.d.ts +11 -0
  228. package/dist/commands/sessions/start.d.ts.map +1 -0
  229. package/dist/commands/sessions/start.js +83 -0
  230. package/dist/commands/sessions/start.js.map +1 -0
  231. package/dist/commands/skills/install.d.ts +15 -0
  232. package/dist/commands/skills/install.d.ts.map +1 -0
  233. package/dist/commands/skills/install.js +91 -0
  234. package/dist/commands/skills/install.js.map +1 -0
  235. package/dist/commands/skills/list.d.ts +11 -0
  236. package/dist/commands/skills/list.d.ts.map +1 -0
  237. package/dist/commands/skills/list.js +47 -0
  238. package/dist/commands/skills/list.js.map +1 -0
  239. package/dist/commands/skills/search.d.ts +17 -0
  240. package/dist/commands/skills/search.d.ts.map +1 -0
  241. package/dist/commands/skills/search.js +56 -0
  242. package/dist/commands/skills/search.js.map +1 -0
  243. package/dist/commands/skills/update.d.ts +7 -0
  244. package/dist/commands/skills/update.d.ts.map +1 -0
  245. package/dist/commands/skills/update.js +30 -0
  246. package/dist/commands/skills/update.js.map +1 -0
  247. package/dist/dashboard/Dashboard.d.ts +3 -0
  248. package/dist/dashboard/Dashboard.d.ts.map +1 -0
  249. package/dist/dashboard/Dashboard.js +132 -0
  250. package/dist/dashboard/Dashboard.js.map +1 -0
  251. package/dist/dashboard/data.d.ts +11 -0
  252. package/dist/dashboard/data.d.ts.map +1 -0
  253. package/dist/dashboard/data.js +137 -0
  254. package/dist/dashboard/data.js.map +1 -0
  255. package/dist/dashboard/panels/friction.d.ts +7 -0
  256. package/dist/dashboard/panels/friction.d.ts.map +1 -0
  257. package/dist/dashboard/panels/friction.js +22 -0
  258. package/dist/dashboard/panels/friction.js.map +1 -0
  259. package/dist/dashboard/panels/insights.d.ts +8 -0
  260. package/dist/dashboard/panels/insights.d.ts.map +1 -0
  261. package/dist/dashboard/panels/insights.js +109 -0
  262. package/dist/dashboard/panels/insights.js.map +1 -0
  263. package/dist/dashboard/panels/instructions.d.ts +9 -0
  264. package/dist/dashboard/panels/instructions.d.ts.map +1 -0
  265. package/dist/dashboard/panels/instructions.js +17 -0
  266. package/dist/dashboard/panels/instructions.js.map +1 -0
  267. package/dist/dashboard/panels/outcomes.d.ts +7 -0
  268. package/dist/dashboard/panels/outcomes.d.ts.map +1 -0
  269. package/dist/dashboard/panels/outcomes.js +29 -0
  270. package/dist/dashboard/panels/outcomes.js.map +1 -0
  271. package/dist/dashboard/panels/overview.d.ts +8 -0
  272. package/dist/dashboard/panels/overview.d.ts.map +1 -0
  273. package/dist/dashboard/panels/overview.js +20 -0
  274. package/dist/dashboard/panels/overview.js.map +1 -0
  275. package/dist/dashboard/panels/shared.d.ts +17 -0
  276. package/dist/dashboard/panels/shared.d.ts.map +1 -0
  277. package/dist/dashboard/panels/shared.js +62 -0
  278. package/dist/dashboard/panels/shared.js.map +1 -0
  279. package/dist/dashboard/types.d.ts +80 -0
  280. package/dist/dashboard/types.d.ts.map +1 -0
  281. package/dist/dashboard/types.js +27 -0
  282. package/dist/dashboard/types.js.map +1 -0
  283. package/dist/index.d.ts +2 -0
  284. package/dist/index.d.ts.map +1 -0
  285. package/dist/index.js +2 -0
  286. package/dist/index.js.map +1 -0
  287. package/dist/lib/api-client.d.ts +17 -0
  288. package/dist/lib/api-client.d.ts.map +1 -0
  289. package/dist/lib/api-client.js +92 -0
  290. package/dist/lib/api-client.js.map +1 -0
  291. package/dist/lib/api-client.test.d.ts +2 -0
  292. package/dist/lib/api-client.test.d.ts.map +1 -0
  293. package/dist/lib/api-client.test.js +161 -0
  294. package/dist/lib/api-client.test.js.map +1 -0
  295. package/dist/lib/auth.d.ts +27 -0
  296. package/dist/lib/auth.d.ts.map +1 -0
  297. package/dist/lib/auth.js +137 -0
  298. package/dist/lib/auth.js.map +1 -0
  299. package/dist/lib/auth.test.d.ts +2 -0
  300. package/dist/lib/auth.test.d.ts.map +1 -0
  301. package/dist/lib/auth.test.js +110 -0
  302. package/dist/lib/auth.test.js.map +1 -0
  303. package/dist/lib/eval-analyzer.d.ts +23 -0
  304. package/dist/lib/eval-analyzer.d.ts.map +1 -0
  305. package/dist/lib/eval-analyzer.js +89 -0
  306. package/dist/lib/eval-analyzer.js.map +1 -0
  307. package/dist/lib/eval-benchmark.d.ts +17 -0
  308. package/dist/lib/eval-benchmark.d.ts.map +1 -0
  309. package/dist/lib/eval-benchmark.js +92 -0
  310. package/dist/lib/eval-benchmark.js.map +1 -0
  311. package/dist/lib/eval-conversation-handler.d.ts +9 -0
  312. package/dist/lib/eval-conversation-handler.d.ts.map +1 -0
  313. package/dist/lib/eval-conversation-handler.js +200 -0
  314. package/dist/lib/eval-conversation-handler.js.map +1 -0
  315. package/dist/lib/eval-executor.d.ts +21 -0
  316. package/dist/lib/eval-executor.d.ts.map +1 -0
  317. package/dist/lib/eval-executor.js +80 -0
  318. package/dist/lib/eval-executor.js.map +1 -0
  319. package/dist/lib/eval-executor.test.d.ts +2 -0
  320. package/dist/lib/eval-executor.test.d.ts.map +1 -0
  321. package/dist/lib/eval-executor.test.js +8 -0
  322. package/dist/lib/eval-executor.test.js.map +1 -0
  323. package/dist/lib/eval-grader.d.ts +38 -0
  324. package/dist/lib/eval-grader.d.ts.map +1 -0
  325. package/dist/lib/eval-grader.js +123 -0
  326. package/dist/lib/eval-grader.js.map +1 -0
  327. package/dist/lib/eval-grader.test.d.ts +2 -0
  328. package/dist/lib/eval-grader.test.d.ts.map +1 -0
  329. package/dist/lib/eval-grader.test.js +8 -0
  330. package/dist/lib/eval-grader.test.js.map +1 -0
  331. package/dist/lib/eval-meta-judge.d.ts +28 -0
  332. package/dist/lib/eval-meta-judge.d.ts.map +1 -0
  333. package/dist/lib/eval-meta-judge.js +116 -0
  334. package/dist/lib/eval-meta-judge.js.map +1 -0
  335. package/dist/lib/eval-trigger-tester.d.ts +19 -0
  336. package/dist/lib/eval-trigger-tester.d.ts.map +1 -0
  337. package/dist/lib/eval-trigger-tester.js +96 -0
  338. package/dist/lib/eval-trigger-tester.js.map +1 -0
  339. package/dist/lib/eval-worker.d.ts +12 -0
  340. package/dist/lib/eval-worker.d.ts.map +1 -0
  341. package/dist/lib/eval-worker.js +395 -0
  342. package/dist/lib/eval-worker.js.map +1 -0
  343. package/dist/lib/eval-worktree.d.ts +11 -0
  344. package/dist/lib/eval-worktree.d.ts.map +1 -0
  345. package/dist/lib/eval-worktree.js +87 -0
  346. package/dist/lib/eval-worktree.js.map +1 -0
  347. package/dist/lib/eval-worktree.test.d.ts +2 -0
  348. package/dist/lib/eval-worktree.test.d.ts.map +1 -0
  349. package/dist/lib/eval-worktree.test.js +68 -0
  350. package/dist/lib/eval-worktree.test.js.map +1 -0
  351. package/dist/lib/gateway-entry.d.ts +3 -0
  352. package/dist/lib/gateway-entry.d.ts.map +1 -0
  353. package/dist/lib/gateway-entry.js +19 -0
  354. package/dist/lib/gateway-entry.js.map +1 -0
  355. package/dist/lib/gateway-lifecycle.d.ts +9 -0
  356. package/dist/lib/gateway-lifecycle.d.ts.map +1 -0
  357. package/dist/lib/gateway-lifecycle.js +86 -0
  358. package/dist/lib/gateway-lifecycle.js.map +1 -0
  359. package/dist/lib/gateway.d.ts +12 -0
  360. package/dist/lib/gateway.d.ts.map +1 -0
  361. package/dist/lib/gateway.js +150 -0
  362. package/dist/lib/gateway.js.map +1 -0
  363. package/dist/lib/hooks-config.d.ts +95 -0
  364. package/dist/lib/hooks-config.d.ts.map +1 -0
  365. package/dist/lib/hooks-config.js +416 -0
  366. package/dist/lib/hooks-config.js.map +1 -0
  367. package/dist/lib/hooks-config.test.d.ts +2 -0
  368. package/dist/lib/hooks-config.test.d.ts.map +1 -0
  369. package/dist/lib/hooks-config.test.js +231 -0
  370. package/dist/lib/hooks-config.test.js.map +1 -0
  371. package/dist/lib/insights-prompts.d.ts +13 -0
  372. package/dist/lib/insights-prompts.d.ts.map +1 -0
  373. package/dist/lib/insights-prompts.js +145 -0
  374. package/dist/lib/insights-prompts.js.map +1 -0
  375. package/dist/lib/insights-worker.d.ts +10 -0
  376. package/dist/lib/insights-worker.d.ts.map +1 -0
  377. package/dist/lib/insights-worker.js +329 -0
  378. package/dist/lib/insights-worker.js.map +1 -0
  379. package/dist/lib/llm-client.d.ts +26 -0
  380. package/dist/lib/llm-client.d.ts.map +1 -0
  381. package/dist/lib/llm-client.js +142 -0
  382. package/dist/lib/llm-client.js.map +1 -0
  383. package/dist/lib/llm-client.test.d.ts +2 -0
  384. package/dist/lib/llm-client.test.d.ts.map +1 -0
  385. package/dist/lib/llm-client.test.js +62 -0
  386. package/dist/lib/llm-client.test.js.map +1 -0
  387. package/dist/lib/output.d.ts +4 -0
  388. package/dist/lib/output.d.ts.map +1 -0
  389. package/dist/lib/output.js +36 -0
  390. package/dist/lib/output.js.map +1 -0
  391. package/dist/lib/output.test.d.ts +2 -0
  392. package/dist/lib/output.test.d.ts.map +1 -0
  393. package/dist/lib/output.test.js +71 -0
  394. package/dist/lib/output.test.js.map +1 -0
  395. package/dist/lib/provider-aggregator.d.ts +24 -0
  396. package/dist/lib/provider-aggregator.d.ts.map +1 -0
  397. package/dist/lib/provider-aggregator.js +57 -0
  398. package/dist/lib/provider-aggregator.js.map +1 -0
  399. package/dist/lib/provider-aggregator.test.d.ts +2 -0
  400. package/dist/lib/provider-aggregator.test.d.ts.map +1 -0
  401. package/dist/lib/provider-aggregator.test.js +103 -0
  402. package/dist/lib/provider-aggregator.test.js.map +1 -0
  403. package/dist/lib/skills-loader.d.ts +6 -0
  404. package/dist/lib/skills-loader.d.ts.map +1 -0
  405. package/dist/lib/skills-loader.js +51 -0
  406. package/dist/lib/skills-loader.js.map +1 -0
  407. package/dist/lib/types.d.ts +48 -0
  408. package/dist/lib/types.d.ts.map +1 -0
  409. package/dist/lib/types.js +7 -0
  410. package/dist/lib/types.js.map +1 -0
  411. package/dist/test-helpers.d.ts +58 -0
  412. package/dist/test-helpers.d.ts.map +1 -0
  413. package/dist/test-helpers.js +58 -0
  414. package/dist/test-helpers.js.map +1 -0
  415. package/oclif.manifest.json +3197 -0
  416. package/package.json +76 -0
@@ -0,0 +1,3197 @@
1
+ {
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
+ "dashboard": {
122
+ "aliases": [],
123
+ "args": {},
124
+ "description": "Interactive TUI dashboard showing session analytics, outcomes, friction, and insights",
125
+ "examples": [
126
+ "<%= config.bin %> dashboard",
127
+ "<%= config.bin %> dashboard --period 30days",
128
+ "<%= config.bin %> dashboard --period all"
129
+ ],
130
+ "flags": {
131
+ "api-url": {
132
+ "description": "Override API base URL",
133
+ "env": "RULEMETRIC_API_URL",
134
+ "hidden": true,
135
+ "name": "api-url",
136
+ "hasDynamicHelp": false,
137
+ "multiple": false,
138
+ "type": "option"
139
+ },
140
+ "period": {
141
+ "char": "p",
142
+ "description": "Initial time period",
143
+ "name": "period",
144
+ "default": "week",
145
+ "hasDynamicHelp": false,
146
+ "multiple": false,
147
+ "options": [
148
+ "today",
149
+ "week",
150
+ "30days",
151
+ "month",
152
+ "all"
153
+ ],
154
+ "type": "option"
155
+ }
156
+ },
157
+ "hasDynamicHelp": false,
158
+ "hiddenAliases": [],
159
+ "id": "dashboard",
160
+ "pluginAlias": "@rulemetric/cli",
161
+ "pluginName": "@rulemetric/cli",
162
+ "pluginType": "core",
163
+ "strict": true,
164
+ "enableJsonFlag": false,
165
+ "isESM": true,
166
+ "relativePath": [
167
+ "dist",
168
+ "commands",
169
+ "dashboard.js"
170
+ ]
171
+ },
172
+ "import": {
173
+ "aliases": [],
174
+ "args": {
175
+ "file": {
176
+ "description": "Path to file to import",
177
+ "name": "file",
178
+ "required": true
179
+ }
180
+ },
181
+ "description": "Import an existing config file as a RuleMetric instruction",
182
+ "examples": [
183
+ "<%= config.bin %> import .cursorrules",
184
+ "<%= config.bin %> import CLAUDE.md --format claude-md --name \"My Rules\""
185
+ ],
186
+ "flags": {
187
+ "api-url": {
188
+ "description": "Override API base URL",
189
+ "env": "RULEMETRIC_API_URL",
190
+ "hidden": true,
191
+ "name": "api-url",
192
+ "hasDynamicHelp": false,
193
+ "multiple": false,
194
+ "type": "option"
195
+ },
196
+ "format": {
197
+ "description": "Source format (auto-detected if not provided)",
198
+ "name": "format",
199
+ "hasDynamicHelp": false,
200
+ "multiple": false,
201
+ "type": "option"
202
+ },
203
+ "name": {
204
+ "char": "n",
205
+ "description": "Override instruction name",
206
+ "name": "name",
207
+ "hasDynamicHelp": false,
208
+ "multiple": false,
209
+ "type": "option"
210
+ },
211
+ "scope": {
212
+ "char": "s",
213
+ "description": "Instruction scope",
214
+ "name": "scope",
215
+ "default": "personal",
216
+ "hasDynamicHelp": false,
217
+ "multiple": false,
218
+ "options": [
219
+ "org",
220
+ "team",
221
+ "project",
222
+ "personal"
223
+ ],
224
+ "type": "option"
225
+ },
226
+ "scope-ref": {
227
+ "description": "Scope reference UUID",
228
+ "name": "scope-ref",
229
+ "hasDynamicHelp": false,
230
+ "multiple": false,
231
+ "type": "option"
232
+ },
233
+ "tags": {
234
+ "char": "t",
235
+ "description": "Comma-separated tags",
236
+ "name": "tags",
237
+ "hasDynamicHelp": false,
238
+ "multiple": false,
239
+ "type": "option"
240
+ }
241
+ },
242
+ "hasDynamicHelp": false,
243
+ "hiddenAliases": [],
244
+ "id": "import",
245
+ "pluginAlias": "@rulemetric/cli",
246
+ "pluginName": "@rulemetric/cli",
247
+ "pluginType": "core",
248
+ "strict": true,
249
+ "enableJsonFlag": false,
250
+ "isESM": true,
251
+ "relativePath": [
252
+ "dist",
253
+ "commands",
254
+ "import.js"
255
+ ]
256
+ },
257
+ "auth:create-key": {
258
+ "aliases": [],
259
+ "args": {},
260
+ "description": "Create a long-lived API key for CLI and proxy authentication",
261
+ "examples": [
262
+ "<%= config.bin %> auth create-key --name \"laptop\"",
263
+ "<%= config.bin %> auth create-key --name \"work proxy\" --save"
264
+ ],
265
+ "flags": {
266
+ "api-url": {
267
+ "description": "Override API base URL",
268
+ "env": "RULEMETRIC_API_URL",
269
+ "hidden": true,
270
+ "name": "api-url",
271
+ "hasDynamicHelp": false,
272
+ "multiple": false,
273
+ "type": "option"
274
+ },
275
+ "name": {
276
+ "char": "n",
277
+ "description": "Name for this key",
278
+ "name": "name",
279
+ "required": true,
280
+ "hasDynamicHelp": false,
281
+ "multiple": false,
282
+ "type": "option"
283
+ },
284
+ "save": {
285
+ "char": "s",
286
+ "description": "Save key to ~/.config/rulemetric/env for hooks/proxy",
287
+ "name": "save",
288
+ "allowNo": false,
289
+ "type": "boolean"
290
+ }
291
+ },
292
+ "hasDynamicHelp": false,
293
+ "hiddenAliases": [],
294
+ "id": "auth:create-key",
295
+ "pluginAlias": "@rulemetric/cli",
296
+ "pluginName": "@rulemetric/cli",
297
+ "pluginType": "core",
298
+ "strict": true,
299
+ "enableJsonFlag": false,
300
+ "isESM": true,
301
+ "relativePath": [
302
+ "dist",
303
+ "commands",
304
+ "auth",
305
+ "create-key.js"
306
+ ]
307
+ },
308
+ "auth:login": {
309
+ "aliases": [],
310
+ "args": {},
311
+ "description": "Log in to RuleMetric",
312
+ "examples": [
313
+ "<%= config.bin %> auth login",
314
+ "<%= config.bin %> auth login -e user@example.com"
315
+ ],
316
+ "flags": {
317
+ "api-url": {
318
+ "description": "Override API base URL",
319
+ "env": "RULEMETRIC_API_URL",
320
+ "hidden": true,
321
+ "name": "api-url",
322
+ "hasDynamicHelp": false,
323
+ "multiple": false,
324
+ "type": "option"
325
+ },
326
+ "email": {
327
+ "char": "e",
328
+ "description": "Email address",
329
+ "name": "email",
330
+ "hasDynamicHelp": false,
331
+ "multiple": false,
332
+ "type": "option"
333
+ },
334
+ "password": {
335
+ "char": "p",
336
+ "description": "Password (for non-interactive use)",
337
+ "name": "password",
338
+ "hasDynamicHelp": false,
339
+ "multiple": false,
340
+ "type": "option"
341
+ }
342
+ },
343
+ "hasDynamicHelp": false,
344
+ "hiddenAliases": [],
345
+ "id": "auth:login",
346
+ "pluginAlias": "@rulemetric/cli",
347
+ "pluginName": "@rulemetric/cli",
348
+ "pluginType": "core",
349
+ "strict": true,
350
+ "enableJsonFlag": false,
351
+ "isESM": true,
352
+ "relativePath": [
353
+ "dist",
354
+ "commands",
355
+ "auth",
356
+ "login.js"
357
+ ]
358
+ },
359
+ "auth:logout": {
360
+ "aliases": [],
361
+ "args": {},
362
+ "description": "Log out of RuleMetric",
363
+ "examples": [
364
+ "<%= config.bin %> auth logout"
365
+ ],
366
+ "flags": {
367
+ "api-url": {
368
+ "description": "Override API base URL",
369
+ "env": "RULEMETRIC_API_URL",
370
+ "hidden": true,
371
+ "name": "api-url",
372
+ "hasDynamicHelp": false,
373
+ "multiple": false,
374
+ "type": "option"
375
+ }
376
+ },
377
+ "hasDynamicHelp": false,
378
+ "hiddenAliases": [],
379
+ "id": "auth:logout",
380
+ "pluginAlias": "@rulemetric/cli",
381
+ "pluginName": "@rulemetric/cli",
382
+ "pluginType": "core",
383
+ "strict": true,
384
+ "enableJsonFlag": false,
385
+ "isESM": true,
386
+ "relativePath": [
387
+ "dist",
388
+ "commands",
389
+ "auth",
390
+ "logout.js"
391
+ ]
392
+ },
393
+ "auth:revoke-key": {
394
+ "aliases": [],
395
+ "args": {
396
+ "id": {
397
+ "description": "API key ID to revoke",
398
+ "name": "id",
399
+ "required": true
400
+ }
401
+ },
402
+ "description": "Revoke an API key",
403
+ "examples": [
404
+ "<%= config.bin %> auth revoke-key <key-id>"
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:revoke-key",
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
+ "revoke-key.js"
431
+ ]
432
+ },
433
+ "auth:status": {
434
+ "aliases": [],
435
+ "args": {},
436
+ "description": "Show current authentication status",
437
+ "examples": [
438
+ "<%= config.bin %> auth status"
439
+ ],
440
+ "flags": {
441
+ "api-url": {
442
+ "description": "Override API base URL",
443
+ "env": "RULEMETRIC_API_URL",
444
+ "hidden": true,
445
+ "name": "api-url",
446
+ "hasDynamicHelp": false,
447
+ "multiple": false,
448
+ "type": "option"
449
+ }
450
+ },
451
+ "hasDynamicHelp": false,
452
+ "hiddenAliases": [],
453
+ "id": "auth:status",
454
+ "pluginAlias": "@rulemetric/cli",
455
+ "pluginName": "@rulemetric/cli",
456
+ "pluginType": "core",
457
+ "strict": true,
458
+ "enableJsonFlag": false,
459
+ "isESM": true,
460
+ "relativePath": [
461
+ "dist",
462
+ "commands",
463
+ "auth",
464
+ "status.js"
465
+ ]
466
+ },
467
+ "catalog": {
468
+ "aliases": [],
469
+ "args": {},
470
+ "description": "Browse the org instruction catalog",
471
+ "flags": {
472
+ "api-url": {
473
+ "description": "Override API base URL",
474
+ "env": "RULEMETRIC_API_URL",
475
+ "hidden": true,
476
+ "name": "api-url",
477
+ "hasDynamicHelp": false,
478
+ "multiple": false,
479
+ "type": "option"
480
+ },
481
+ "badge": {
482
+ "description": "Filter by badge",
483
+ "name": "badge",
484
+ "hasDynamicHelp": false,
485
+ "multiple": false,
486
+ "options": [
487
+ "recommended",
488
+ "required"
489
+ ],
490
+ "type": "option"
491
+ },
492
+ "scope": {
493
+ "description": "Filter by scope",
494
+ "name": "scope",
495
+ "hasDynamicHelp": false,
496
+ "multiple": false,
497
+ "options": [
498
+ "org",
499
+ "team"
500
+ ],
501
+ "type": "option"
502
+ },
503
+ "search": {
504
+ "description": "Search by name or description",
505
+ "name": "search",
506
+ "hasDynamicHelp": false,
507
+ "multiple": false,
508
+ "type": "option"
509
+ }
510
+ },
511
+ "hasDynamicHelp": false,
512
+ "hiddenAliases": [],
513
+ "id": "catalog",
514
+ "pluginAlias": "@rulemetric/cli",
515
+ "pluginName": "@rulemetric/cli",
516
+ "pluginType": "core",
517
+ "strict": true,
518
+ "enableJsonFlag": false,
519
+ "isESM": true,
520
+ "relativePath": [
521
+ "dist",
522
+ "commands",
523
+ "catalog",
524
+ "index.js"
525
+ ]
526
+ },
527
+ "catalog:recommend": {
528
+ "aliases": [],
529
+ "args": {
530
+ "projectId": {
531
+ "description": "ID of the project",
532
+ "name": "projectId",
533
+ "required": true
534
+ }
535
+ },
536
+ "description": "Get AI-powered instruction recommendations for a project",
537
+ "flags": {
538
+ "api-url": {
539
+ "description": "Override API base URL",
540
+ "env": "RULEMETRIC_API_URL",
541
+ "hidden": true,
542
+ "name": "api-url",
543
+ "hasDynamicHelp": false,
544
+ "multiple": false,
545
+ "type": "option"
546
+ }
547
+ },
548
+ "hasDynamicHelp": false,
549
+ "hiddenAliases": [],
550
+ "id": "catalog:recommend",
551
+ "pluginAlias": "@rulemetric/cli",
552
+ "pluginName": "@rulemetric/cli",
553
+ "pluginType": "core",
554
+ "strict": true,
555
+ "enableJsonFlag": false,
556
+ "isESM": true,
557
+ "relativePath": [
558
+ "dist",
559
+ "commands",
560
+ "catalog",
561
+ "recommend.js"
562
+ ]
563
+ },
564
+ "eval-targets:create": {
565
+ "aliases": [],
566
+ "args": {},
567
+ "description": "Create an eval target (instruction, skill, prompt, or plan to test)",
568
+ "examples": [
569
+ "<%= config.bin %> eval-targets create --name my-rules --type instruction --file ./CLAUDE.md",
570
+ "<%= config.bin %> eval-targets create --name my-prompt --type prompt --content \"Always use TypeScript\""
571
+ ],
572
+ "flags": {
573
+ "api-url": {
574
+ "description": "Override API base URL",
575
+ "env": "RULEMETRIC_API_URL",
576
+ "hidden": true,
577
+ "name": "api-url",
578
+ "hasDynamicHelp": false,
579
+ "multiple": false,
580
+ "type": "option"
581
+ },
582
+ "name": {
583
+ "char": "n",
584
+ "description": "Name for the eval target",
585
+ "name": "name",
586
+ "required": true,
587
+ "hasDynamicHelp": false,
588
+ "multiple": false,
589
+ "type": "option"
590
+ },
591
+ "type": {
592
+ "char": "t",
593
+ "description": "Target type",
594
+ "name": "type",
595
+ "required": true,
596
+ "hasDynamicHelp": false,
597
+ "multiple": false,
598
+ "options": [
599
+ "instruction",
600
+ "skill",
601
+ "prompt",
602
+ "plan"
603
+ ],
604
+ "type": "option"
605
+ },
606
+ "file": {
607
+ "char": "f",
608
+ "description": "Path to content file",
609
+ "name": "file",
610
+ "hasDynamicHelp": false,
611
+ "multiple": false,
612
+ "type": "option"
613
+ },
614
+ "content": {
615
+ "char": "c",
616
+ "description": "Content string (alternative to --file)",
617
+ "name": "content",
618
+ "hasDynamicHelp": false,
619
+ "multiple": false,
620
+ "type": "option"
621
+ },
622
+ "description": {
623
+ "char": "d",
624
+ "description": "Description of the target",
625
+ "name": "description",
626
+ "default": "",
627
+ "hasDynamicHelp": false,
628
+ "multiple": false,
629
+ "type": "option"
630
+ }
631
+ },
632
+ "hasDynamicHelp": false,
633
+ "hiddenAliases": [],
634
+ "id": "eval-targets:create",
635
+ "pluginAlias": "@rulemetric/cli",
636
+ "pluginName": "@rulemetric/cli",
637
+ "pluginType": "core",
638
+ "strict": true,
639
+ "enableJsonFlag": false,
640
+ "isESM": true,
641
+ "relativePath": [
642
+ "dist",
643
+ "commands",
644
+ "eval-targets",
645
+ "create.js"
646
+ ]
647
+ },
648
+ "eval-targets:list": {
649
+ "aliases": [],
650
+ "args": {},
651
+ "description": "List eval targets",
652
+ "examples": [
653
+ "<%= config.bin %> eval-targets list",
654
+ "<%= config.bin %> eval-targets list --type instruction"
655
+ ],
656
+ "flags": {
657
+ "api-url": {
658
+ "description": "Override API base URL",
659
+ "env": "RULEMETRIC_API_URL",
660
+ "hidden": true,
661
+ "name": "api-url",
662
+ "hasDynamicHelp": false,
663
+ "multiple": false,
664
+ "type": "option"
665
+ },
666
+ "type": {
667
+ "char": "t",
668
+ "description": "Filter by type",
669
+ "name": "type",
670
+ "hasDynamicHelp": false,
671
+ "multiple": false,
672
+ "options": [
673
+ "instruction",
674
+ "skill",
675
+ "prompt",
676
+ "plan"
677
+ ],
678
+ "type": "option"
679
+ }
680
+ },
681
+ "hasDynamicHelp": false,
682
+ "hiddenAliases": [],
683
+ "id": "eval-targets:list",
684
+ "pluginAlias": "@rulemetric/cli",
685
+ "pluginName": "@rulemetric/cli",
686
+ "pluginType": "core",
687
+ "strict": true,
688
+ "enableJsonFlag": false,
689
+ "isESM": true,
690
+ "relativePath": [
691
+ "dist",
692
+ "commands",
693
+ "eval-targets",
694
+ "list.js"
695
+ ]
696
+ },
697
+ "evals:benchmark": {
698
+ "aliases": [],
699
+ "args": {
700
+ "targetId": {
701
+ "description": "Eval target ID",
702
+ "name": "targetId",
703
+ "required": true
704
+ }
705
+ },
706
+ "description": "Aggregate eval runs into a benchmark for a target",
707
+ "examples": [
708
+ "<%= config.bin %> evals benchmark <target-id>",
709
+ "<%= config.bin %> evals benchmark <target-id> --iteration 2"
710
+ ],
711
+ "flags": {
712
+ "api-url": {
713
+ "description": "Override API base URL",
714
+ "env": "RULEMETRIC_API_URL",
715
+ "hidden": true,
716
+ "name": "api-url",
717
+ "hasDynamicHelp": false,
718
+ "multiple": false,
719
+ "type": "option"
720
+ },
721
+ "iteration": {
722
+ "description": "Filter runs by iteration",
723
+ "name": "iteration",
724
+ "default": 1,
725
+ "hasDynamicHelp": false,
726
+ "multiple": false,
727
+ "type": "option"
728
+ }
729
+ },
730
+ "hasDynamicHelp": false,
731
+ "hiddenAliases": [],
732
+ "id": "evals:benchmark",
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
+ "evals",
743
+ "benchmark.js"
744
+ ]
745
+ },
746
+ "evals:compare": {
747
+ "aliases": [],
748
+ "args": {
749
+ "targetA": {
750
+ "description": "First eval target ID",
751
+ "name": "targetA",
752
+ "required": true
753
+ },
754
+ "targetB": {
755
+ "description": "Second eval target ID",
756
+ "name": "targetB",
757
+ "required": true
758
+ }
759
+ },
760
+ "description": "Blind A/B comparison between two eval target versions",
761
+ "examples": [
762
+ "<%= config.bin %> evals compare <target-a> <target-b>"
763
+ ],
764
+ "flags": {
765
+ "api-url": {
766
+ "description": "Override API base URL",
767
+ "env": "RULEMETRIC_API_URL",
768
+ "hidden": true,
769
+ "name": "api-url",
770
+ "hasDynamicHelp": false,
771
+ "multiple": false,
772
+ "type": "option"
773
+ },
774
+ "model": {
775
+ "description": "Model for execution and comparison",
776
+ "name": "model",
777
+ "hasDynamicHelp": false,
778
+ "multiple": false,
779
+ "type": "option"
780
+ },
781
+ "timeout": {
782
+ "description": "Timeout per eval in ms",
783
+ "name": "timeout",
784
+ "default": 120000,
785
+ "hasDynamicHelp": false,
786
+ "multiple": false,
787
+ "type": "option"
788
+ }
789
+ },
790
+ "hasDynamicHelp": false,
791
+ "hiddenAliases": [],
792
+ "id": "evals:compare",
793
+ "pluginAlias": "@rulemetric/cli",
794
+ "pluginName": "@rulemetric/cli",
795
+ "pluginType": "core",
796
+ "strict": true,
797
+ "enableJsonFlag": false,
798
+ "isESM": true,
799
+ "relativePath": [
800
+ "dist",
801
+ "commands",
802
+ "evals",
803
+ "compare.js"
804
+ ]
805
+ },
806
+ "evals:create": {
807
+ "aliases": [],
808
+ "args": {
809
+ "targetId": {
810
+ "description": "Eval target ID",
811
+ "name": "targetId",
812
+ "required": true
813
+ }
814
+ },
815
+ "description": "Create test cases (evals) for an eval target",
816
+ "examples": [
817
+ "<%= config.bin %> evals create <target-id> --name \"ts-check\" --prompt \"Write a function to add two numbers\"",
818
+ "<%= config.bin %> evals create <target-id> --from-file evals.json"
819
+ ],
820
+ "flags": {
821
+ "api-url": {
822
+ "description": "Override API base URL",
823
+ "env": "RULEMETRIC_API_URL",
824
+ "hidden": true,
825
+ "name": "api-url",
826
+ "hasDynamicHelp": false,
827
+ "multiple": false,
828
+ "type": "option"
829
+ },
830
+ "name": {
831
+ "char": "n",
832
+ "description": "Eval name",
833
+ "name": "name",
834
+ "hasDynamicHelp": false,
835
+ "multiple": false,
836
+ "type": "option"
837
+ },
838
+ "prompt": {
839
+ "char": "p",
840
+ "description": "Test prompt",
841
+ "name": "prompt",
842
+ "hasDynamicHelp": false,
843
+ "multiple": false,
844
+ "type": "option"
845
+ },
846
+ "expected-output": {
847
+ "description": "Expected output description",
848
+ "name": "expected-output",
849
+ "hasDynamicHelp": false,
850
+ "multiple": false,
851
+ "type": "option"
852
+ },
853
+ "expectations": {
854
+ "char": "e",
855
+ "description": "Assertion (repeatable)",
856
+ "name": "expectations",
857
+ "hasDynamicHelp": false,
858
+ "multiple": true,
859
+ "type": "option"
860
+ },
861
+ "from-file": {
862
+ "description": "Bulk create from JSON file",
863
+ "name": "from-file",
864
+ "hasDynamicHelp": false,
865
+ "multiple": false,
866
+ "type": "option"
867
+ }
868
+ },
869
+ "hasDynamicHelp": false,
870
+ "hiddenAliases": [],
871
+ "id": "evals:create",
872
+ "pluginAlias": "@rulemetric/cli",
873
+ "pluginName": "@rulemetric/cli",
874
+ "pluginType": "core",
875
+ "strict": true,
876
+ "enableJsonFlag": false,
877
+ "isESM": true,
878
+ "relativePath": [
879
+ "dist",
880
+ "commands",
881
+ "evals",
882
+ "create.js"
883
+ ]
884
+ },
885
+ "evals:listen": {
886
+ "aliases": [],
887
+ "args": {},
888
+ "description": "Listen for eval jobs from the web UI and execute them locally",
889
+ "examples": [
890
+ "<%= config.bin %> evals listen"
891
+ ],
892
+ "flags": {
893
+ "api-url": {
894
+ "description": "Override API base URL",
895
+ "env": "RULEMETRIC_API_URL",
896
+ "hidden": true,
897
+ "name": "api-url",
898
+ "hasDynamicHelp": false,
899
+ "multiple": false,
900
+ "type": "option"
901
+ },
902
+ "supabase-url": {
903
+ "description": "Supabase project URL",
904
+ "env": "SUPABASE_URL",
905
+ "name": "supabase-url",
906
+ "required": true,
907
+ "hasDynamicHelp": false,
908
+ "multiple": false,
909
+ "type": "option"
910
+ },
911
+ "supabase-anon-key": {
912
+ "description": "Supabase anon key",
913
+ "env": "SUPABASE_ANON_KEY",
914
+ "name": "supabase-anon-key",
915
+ "required": true,
916
+ "hasDynamicHelp": false,
917
+ "multiple": false,
918
+ "type": "option"
919
+ }
920
+ },
921
+ "hasDynamicHelp": false,
922
+ "hiddenAliases": [],
923
+ "id": "evals:listen",
924
+ "pluginAlias": "@rulemetric/cli",
925
+ "pluginName": "@rulemetric/cli",
926
+ "pluginType": "core",
927
+ "strict": true,
928
+ "enableJsonFlag": false,
929
+ "isESM": true,
930
+ "relativePath": [
931
+ "dist",
932
+ "commands",
933
+ "evals",
934
+ "listen.js"
935
+ ]
936
+ },
937
+ "evals:optimize-description": {
938
+ "aliases": [],
939
+ "args": {
940
+ "targetId": {
941
+ "description": "Eval target ID",
942
+ "name": "targetId",
943
+ "required": true
944
+ }
945
+ },
946
+ "description": "Optimize eval target description for better triggering accuracy",
947
+ "examples": [
948
+ "<%= config.bin %> evals optimize-description <target-id>",
949
+ "<%= config.bin %> evals optimize-description <target-id> --queries 10"
950
+ ],
951
+ "flags": {
952
+ "api-url": {
953
+ "description": "Override API base URL",
954
+ "env": "RULEMETRIC_API_URL",
955
+ "hidden": true,
956
+ "name": "api-url",
957
+ "hasDynamicHelp": false,
958
+ "multiple": false,
959
+ "type": "option"
960
+ },
961
+ "max-iterations": {
962
+ "description": "Maximum optimization iterations",
963
+ "name": "max-iterations",
964
+ "default": 5,
965
+ "hasDynamicHelp": false,
966
+ "multiple": false,
967
+ "type": "option"
968
+ },
969
+ "model": {
970
+ "description": "Model for trigger testing and improvement",
971
+ "name": "model",
972
+ "hasDynamicHelp": false,
973
+ "multiple": false,
974
+ "type": "option"
975
+ },
976
+ "queries": {
977
+ "description": "Number of trigger queries to generate",
978
+ "name": "queries",
979
+ "default": 20,
980
+ "hasDynamicHelp": false,
981
+ "multiple": false,
982
+ "type": "option"
983
+ },
984
+ "runs-per-query": {
985
+ "description": "Runs per query for reliability",
986
+ "name": "runs-per-query",
987
+ "default": 3,
988
+ "hasDynamicHelp": false,
989
+ "multiple": false,
990
+ "type": "option"
991
+ },
992
+ "poll-interval": {
993
+ "description": "Ms between approval polls",
994
+ "name": "poll-interval",
995
+ "default": 5000,
996
+ "hasDynamicHelp": false,
997
+ "multiple": false,
998
+ "type": "option"
999
+ },
1000
+ "timeout": {
1001
+ "description": "Timeout per eval in ms",
1002
+ "name": "timeout",
1003
+ "default": 120000,
1004
+ "hasDynamicHelp": false,
1005
+ "multiple": false,
1006
+ "type": "option"
1007
+ }
1008
+ },
1009
+ "hasDynamicHelp": false,
1010
+ "hiddenAliases": [],
1011
+ "id": "evals:optimize-description",
1012
+ "pluginAlias": "@rulemetric/cli",
1013
+ "pluginName": "@rulemetric/cli",
1014
+ "pluginType": "core",
1015
+ "strict": true,
1016
+ "enableJsonFlag": false,
1017
+ "isESM": true,
1018
+ "relativePath": [
1019
+ "dist",
1020
+ "commands",
1021
+ "evals",
1022
+ "optimize-description.js"
1023
+ ]
1024
+ },
1025
+ "evals:optimize": {
1026
+ "aliases": [],
1027
+ "args": {
1028
+ "targetId": {
1029
+ "description": "Eval target ID",
1030
+ "name": "targetId",
1031
+ "required": true
1032
+ }
1033
+ },
1034
+ "description": "Iteratively optimize eval target content using eval results as feedback",
1035
+ "examples": [
1036
+ "<%= config.bin %> evals optimize <target-id>",
1037
+ "<%= config.bin %> evals optimize <target-id> --auto --max-iterations 3"
1038
+ ],
1039
+ "flags": {
1040
+ "api-url": {
1041
+ "description": "Override API base URL",
1042
+ "env": "RULEMETRIC_API_URL",
1043
+ "hidden": true,
1044
+ "name": "api-url",
1045
+ "hasDynamicHelp": false,
1046
+ "multiple": false,
1047
+ "type": "option"
1048
+ },
1049
+ "auto": {
1050
+ "description": "Skip interactive review, apply suggestions automatically",
1051
+ "name": "auto",
1052
+ "allowNo": false,
1053
+ "type": "boolean"
1054
+ },
1055
+ "max-iterations": {
1056
+ "description": "Maximum optimization iterations",
1057
+ "name": "max-iterations",
1058
+ "default": 5,
1059
+ "hasDynamicHelp": false,
1060
+ "multiple": false,
1061
+ "type": "option"
1062
+ },
1063
+ "threshold": {
1064
+ "description": "Stop if pass rate reaches this threshold (0-1)",
1065
+ "name": "threshold",
1066
+ "default": "0.95",
1067
+ "hasDynamicHelp": false,
1068
+ "multiple": false,
1069
+ "type": "option"
1070
+ },
1071
+ "model": {
1072
+ "description": "Model for eval execution",
1073
+ "name": "model",
1074
+ "hasDynamicHelp": false,
1075
+ "multiple": false,
1076
+ "type": "option"
1077
+ },
1078
+ "analyzer-model": {
1079
+ "description": "Model for analysis/suggestions",
1080
+ "name": "analyzer-model",
1081
+ "hasDynamicHelp": false,
1082
+ "multiple": false,
1083
+ "type": "option"
1084
+ },
1085
+ "runs-per-eval": {
1086
+ "description": "Runs per eval per iteration",
1087
+ "name": "runs-per-eval",
1088
+ "default": 1,
1089
+ "hasDynamicHelp": false,
1090
+ "multiple": false,
1091
+ "type": "option"
1092
+ },
1093
+ "parallel": {
1094
+ "description": "Number of parallel eval executions",
1095
+ "name": "parallel",
1096
+ "default": 1,
1097
+ "hasDynamicHelp": false,
1098
+ "multiple": false,
1099
+ "type": "option"
1100
+ },
1101
+ "timeout": {
1102
+ "description": "Timeout per eval in ms",
1103
+ "name": "timeout",
1104
+ "default": 120000,
1105
+ "hasDynamicHelp": false,
1106
+ "multiple": false,
1107
+ "type": "option"
1108
+ }
1109
+ },
1110
+ "hasDynamicHelp": false,
1111
+ "hiddenAliases": [],
1112
+ "id": "evals:optimize",
1113
+ "pluginAlias": "@rulemetric/cli",
1114
+ "pluginName": "@rulemetric/cli",
1115
+ "pluginType": "core",
1116
+ "strict": true,
1117
+ "enableJsonFlag": false,
1118
+ "isESM": true,
1119
+ "relativePath": [
1120
+ "dist",
1121
+ "commands",
1122
+ "evals",
1123
+ "optimize.js"
1124
+ ]
1125
+ },
1126
+ "evals:run": {
1127
+ "aliases": [],
1128
+ "args": {
1129
+ "targetId": {
1130
+ "description": "Eval target ID",
1131
+ "name": "targetId",
1132
+ "required": true
1133
+ }
1134
+ },
1135
+ "description": "Run evals against a target, optionally grade results, and post to API",
1136
+ "examples": [
1137
+ "<%= config.bin %> evals run <target-id>",
1138
+ "<%= config.bin %> evals run <target-id> --parallel 3 --runs-per-eval 2",
1139
+ "<%= config.bin %> evals run <target-id> --skip-baseline --skip-grading"
1140
+ ],
1141
+ "flags": {
1142
+ "api-url": {
1143
+ "description": "Override API base URL",
1144
+ "env": "RULEMETRIC_API_URL",
1145
+ "hidden": true,
1146
+ "name": "api-url",
1147
+ "hasDynamicHelp": false,
1148
+ "multiple": false,
1149
+ "type": "option"
1150
+ },
1151
+ "parallel": {
1152
+ "description": "Number of parallel eval executions",
1153
+ "name": "parallel",
1154
+ "default": 1,
1155
+ "hasDynamicHelp": false,
1156
+ "multiple": false,
1157
+ "type": "option"
1158
+ },
1159
+ "runs-per-eval": {
1160
+ "description": "Number of runs per eval for variance analysis",
1161
+ "name": "runs-per-eval",
1162
+ "default": 1,
1163
+ "hasDynamicHelp": false,
1164
+ "multiple": false,
1165
+ "type": "option"
1166
+ },
1167
+ "iteration": {
1168
+ "description": "Iteration number for tracking",
1169
+ "name": "iteration",
1170
+ "default": 1,
1171
+ "hasDynamicHelp": false,
1172
+ "multiple": false,
1173
+ "type": "option"
1174
+ },
1175
+ "skip-baseline": {
1176
+ "description": "Skip baseline (without_target) runs",
1177
+ "name": "skip-baseline",
1178
+ "allowNo": false,
1179
+ "type": "boolean"
1180
+ },
1181
+ "skip-grading": {
1182
+ "description": "Skip LLM grading step",
1183
+ "name": "skip-grading",
1184
+ "allowNo": false,
1185
+ "type": "boolean"
1186
+ },
1187
+ "model": {
1188
+ "description": "Model for eval execution (default: user configured)",
1189
+ "name": "model",
1190
+ "hasDynamicHelp": false,
1191
+ "multiple": false,
1192
+ "type": "option"
1193
+ },
1194
+ "grader-model": {
1195
+ "description": "Model for grading (default: same as execution model)",
1196
+ "name": "grader-model",
1197
+ "hasDynamicHelp": false,
1198
+ "multiple": false,
1199
+ "type": "option"
1200
+ },
1201
+ "timeout": {
1202
+ "description": "Timeout per eval in ms",
1203
+ "name": "timeout",
1204
+ "default": 120000,
1205
+ "hasDynamicHelp": false,
1206
+ "multiple": false,
1207
+ "type": "option"
1208
+ }
1209
+ },
1210
+ "hasDynamicHelp": false,
1211
+ "hiddenAliases": [],
1212
+ "id": "evals:run",
1213
+ "pluginAlias": "@rulemetric/cli",
1214
+ "pluginName": "@rulemetric/cli",
1215
+ "pluginType": "core",
1216
+ "strict": true,
1217
+ "enableJsonFlag": false,
1218
+ "isESM": true,
1219
+ "relativePath": [
1220
+ "dist",
1221
+ "commands",
1222
+ "evals",
1223
+ "run.js"
1224
+ ]
1225
+ },
1226
+ "gateway:ensure": {
1227
+ "aliases": [],
1228
+ "args": {},
1229
+ "description": "Ensure the gateway proxy is running (called by hooks, not for direct use)",
1230
+ "flags": {
1231
+ "api-url": {
1232
+ "description": "Override API base URL",
1233
+ "env": "RULEMETRIC_API_URL",
1234
+ "hidden": true,
1235
+ "name": "api-url",
1236
+ "hasDynamicHelp": false,
1237
+ "multiple": false,
1238
+ "type": "option"
1239
+ }
1240
+ },
1241
+ "hasDynamicHelp": false,
1242
+ "hidden": true,
1243
+ "hiddenAliases": [],
1244
+ "id": "gateway:ensure",
1245
+ "pluginAlias": "@rulemetric/cli",
1246
+ "pluginName": "@rulemetric/cli",
1247
+ "pluginType": "core",
1248
+ "strict": true,
1249
+ "enableJsonFlag": false,
1250
+ "isESM": true,
1251
+ "relativePath": [
1252
+ "dist",
1253
+ "commands",
1254
+ "gateway",
1255
+ "ensure.js"
1256
+ ]
1257
+ },
1258
+ "hooks:install": {
1259
+ "aliases": [],
1260
+ "args": {},
1261
+ "description": "Install session tracking hooks and context capture proxy for Claude Code",
1262
+ "examples": [
1263
+ "<%= config.bin %> hooks install",
1264
+ "<%= config.bin %> hooks install --global",
1265
+ "<%= config.bin %> hooks install --no-proxy"
1266
+ ],
1267
+ "flags": {
1268
+ "api-url": {
1269
+ "description": "Override API base URL",
1270
+ "env": "RULEMETRIC_API_URL",
1271
+ "hidden": true,
1272
+ "name": "api-url",
1273
+ "hasDynamicHelp": false,
1274
+ "multiple": false,
1275
+ "type": "option"
1276
+ },
1277
+ "no-proxy": {
1278
+ "description": "Skip proxy/gateway configuration (hooks only)",
1279
+ "name": "no-proxy",
1280
+ "allowNo": false,
1281
+ "type": "boolean"
1282
+ },
1283
+ "project-dir": {
1284
+ "description": "Project directory to install hooks in (defaults to cwd)",
1285
+ "name": "project-dir",
1286
+ "hasDynamicHelp": false,
1287
+ "multiple": false,
1288
+ "type": "option"
1289
+ },
1290
+ "global": {
1291
+ "char": "g",
1292
+ "description": "Install hooks globally (~/.claude/settings.json) so all projects are tracked",
1293
+ "name": "global",
1294
+ "allowNo": false,
1295
+ "type": "boolean"
1296
+ }
1297
+ },
1298
+ "hasDynamicHelp": false,
1299
+ "hiddenAliases": [],
1300
+ "id": "hooks:install",
1301
+ "pluginAlias": "@rulemetric/cli",
1302
+ "pluginName": "@rulemetric/cli",
1303
+ "pluginType": "core",
1304
+ "strict": true,
1305
+ "enableJsonFlag": false,
1306
+ "isESM": true,
1307
+ "relativePath": [
1308
+ "dist",
1309
+ "commands",
1310
+ "hooks",
1311
+ "install.js"
1312
+ ]
1313
+ },
1314
+ "hooks:run": {
1315
+ "aliases": [],
1316
+ "args": {
1317
+ "hook": {
1318
+ "description": "Hook name to run",
1319
+ "name": "hook",
1320
+ "options": [
1321
+ "session-start",
1322
+ "session-end",
1323
+ "user-prompt",
1324
+ "post-tool-use"
1325
+ ],
1326
+ "required": true
1327
+ }
1328
+ },
1329
+ "description": "Execute a hook script (called by AI tool hooks, not for direct use)",
1330
+ "flags": {
1331
+ "api-url": {
1332
+ "description": "Override API base URL",
1333
+ "env": "RULEMETRIC_API_URL",
1334
+ "hidden": true,
1335
+ "name": "api-url",
1336
+ "hasDynamicHelp": false,
1337
+ "multiple": false,
1338
+ "type": "option"
1339
+ }
1340
+ },
1341
+ "hasDynamicHelp": false,
1342
+ "hidden": true,
1343
+ "hiddenAliases": [],
1344
+ "id": "hooks:run",
1345
+ "pluginAlias": "@rulemetric/cli",
1346
+ "pluginName": "@rulemetric/cli",
1347
+ "pluginType": "core",
1348
+ "strict": true,
1349
+ "enableJsonFlag": false,
1350
+ "isESM": true,
1351
+ "relativePath": [
1352
+ "dist",
1353
+ "commands",
1354
+ "hooks",
1355
+ "run.js"
1356
+ ]
1357
+ },
1358
+ "hooks:uninstall": {
1359
+ "aliases": [],
1360
+ "args": {},
1361
+ "description": "Remove session tracking hooks from the current project",
1362
+ "examples": [
1363
+ "<%= config.bin %> hooks uninstall"
1364
+ ],
1365
+ "flags": {
1366
+ "api-url": {
1367
+ "description": "Override API base URL",
1368
+ "env": "RULEMETRIC_API_URL",
1369
+ "hidden": true,
1370
+ "name": "api-url",
1371
+ "hasDynamicHelp": false,
1372
+ "multiple": false,
1373
+ "type": "option"
1374
+ }
1375
+ },
1376
+ "hasDynamicHelp": false,
1377
+ "hiddenAliases": [],
1378
+ "id": "hooks:uninstall",
1379
+ "pluginAlias": "@rulemetric/cli",
1380
+ "pluginName": "@rulemetric/cli",
1381
+ "pluginType": "core",
1382
+ "strict": true,
1383
+ "enableJsonFlag": false,
1384
+ "isESM": true,
1385
+ "relativePath": [
1386
+ "dist",
1387
+ "commands",
1388
+ "hooks",
1389
+ "uninstall.js"
1390
+ ]
1391
+ },
1392
+ "insights:sync": {
1393
+ "aliases": [],
1394
+ "args": {},
1395
+ "description": "Sync local Claude Code session-meta and facets into matching DB sessions",
1396
+ "examples": [
1397
+ "<%= config.bin %> insights sync",
1398
+ "<%= config.bin %> insights sync --dry-run",
1399
+ "<%= config.bin %> insights sync --claude-dir ~/.claude"
1400
+ ],
1401
+ "flags": {
1402
+ "api-url": {
1403
+ "description": "Override API base URL",
1404
+ "env": "RULEMETRIC_API_URL",
1405
+ "hidden": true,
1406
+ "name": "api-url",
1407
+ "hasDynamicHelp": false,
1408
+ "multiple": false,
1409
+ "type": "option"
1410
+ },
1411
+ "claude-dir": {
1412
+ "description": "Path to Claude Code data directory",
1413
+ "name": "claude-dir",
1414
+ "default": "/home/runner/.claude",
1415
+ "hasDynamicHelp": false,
1416
+ "multiple": false,
1417
+ "type": "option"
1418
+ },
1419
+ "dry-run": {
1420
+ "description": "Show what would be synced without making changes",
1421
+ "name": "dry-run",
1422
+ "allowNo": false,
1423
+ "type": "boolean"
1424
+ },
1425
+ "provider": {
1426
+ "description": "Filter to a specific provider (claude_code, codex, copilot, cursor, pi, opencode)",
1427
+ "name": "provider",
1428
+ "default": "all",
1429
+ "hasDynamicHelp": false,
1430
+ "multiple": false,
1431
+ "type": "option"
1432
+ },
1433
+ "generate": {
1434
+ "description": "Generate facets and recommendations after sync",
1435
+ "name": "generate",
1436
+ "allowNo": false,
1437
+ "type": "boolean"
1438
+ }
1439
+ },
1440
+ "hasDynamicHelp": false,
1441
+ "hiddenAliases": [],
1442
+ "id": "insights:sync",
1443
+ "pluginAlias": "@rulemetric/cli",
1444
+ "pluginName": "@rulemetric/cli",
1445
+ "pluginType": "core",
1446
+ "strict": true,
1447
+ "enableJsonFlag": false,
1448
+ "isESM": true,
1449
+ "relativePath": [
1450
+ "dist",
1451
+ "commands",
1452
+ "insights",
1453
+ "sync.js"
1454
+ ]
1455
+ },
1456
+ "instructions:create": {
1457
+ "aliases": [],
1458
+ "args": {
1459
+ "file": {
1460
+ "description": "Path to markdown file",
1461
+ "name": "file"
1462
+ }
1463
+ },
1464
+ "description": "Create a new instruction",
1465
+ "examples": [
1466
+ "<%= config.bin %> instructions create ./my-instruction.md --name \"My Rules\"",
1467
+ "<%= config.bin %> instructions create ./rules.md -n \"Rules\" -s project"
1468
+ ],
1469
+ "flags": {
1470
+ "api-url": {
1471
+ "description": "Override API base URL",
1472
+ "env": "RULEMETRIC_API_URL",
1473
+ "hidden": true,
1474
+ "name": "api-url",
1475
+ "hasDynamicHelp": false,
1476
+ "multiple": false,
1477
+ "type": "option"
1478
+ },
1479
+ "name": {
1480
+ "char": "n",
1481
+ "description": "Instruction name",
1482
+ "name": "name",
1483
+ "required": true,
1484
+ "hasDynamicHelp": false,
1485
+ "multiple": false,
1486
+ "type": "option"
1487
+ },
1488
+ "description": {
1489
+ "char": "d",
1490
+ "description": "Instruction description",
1491
+ "name": "description",
1492
+ "required": true,
1493
+ "hasDynamicHelp": false,
1494
+ "multiple": false,
1495
+ "type": "option"
1496
+ },
1497
+ "scope": {
1498
+ "char": "s",
1499
+ "description": "Instruction scope",
1500
+ "name": "scope",
1501
+ "default": "personal",
1502
+ "hasDynamicHelp": false,
1503
+ "multiple": false,
1504
+ "options": [
1505
+ "org",
1506
+ "team",
1507
+ "project",
1508
+ "personal"
1509
+ ],
1510
+ "type": "option"
1511
+ },
1512
+ "scope-ref": {
1513
+ "description": "Scope reference UUID",
1514
+ "name": "scope-ref",
1515
+ "hasDynamicHelp": false,
1516
+ "multiple": false,
1517
+ "type": "option"
1518
+ },
1519
+ "tags": {
1520
+ "char": "t",
1521
+ "description": "Comma-separated tags",
1522
+ "name": "tags",
1523
+ "hasDynamicHelp": false,
1524
+ "multiple": false,
1525
+ "type": "option"
1526
+ }
1527
+ },
1528
+ "hasDynamicHelp": false,
1529
+ "hiddenAliases": [],
1530
+ "id": "instructions:create",
1531
+ "pluginAlias": "@rulemetric/cli",
1532
+ "pluginName": "@rulemetric/cli",
1533
+ "pluginType": "core",
1534
+ "strict": true,
1535
+ "enableJsonFlag": false,
1536
+ "isESM": true,
1537
+ "relativePath": [
1538
+ "dist",
1539
+ "commands",
1540
+ "instructions",
1541
+ "create.js"
1542
+ ]
1543
+ },
1544
+ "instructions:delete": {
1545
+ "aliases": [],
1546
+ "args": {
1547
+ "id": {
1548
+ "description": "Instruction ID",
1549
+ "name": "id",
1550
+ "required": true
1551
+ }
1552
+ },
1553
+ "description": "Delete (archive) an instruction",
1554
+ "examples": [
1555
+ "<%= config.bin %> instructions delete <id>",
1556
+ "<%= config.bin %> instructions delete <id> --force"
1557
+ ],
1558
+ "flags": {
1559
+ "api-url": {
1560
+ "description": "Override API base URL",
1561
+ "env": "RULEMETRIC_API_URL",
1562
+ "hidden": true,
1563
+ "name": "api-url",
1564
+ "hasDynamicHelp": false,
1565
+ "multiple": false,
1566
+ "type": "option"
1567
+ },
1568
+ "force": {
1569
+ "char": "f",
1570
+ "description": "Skip confirmation prompt",
1571
+ "name": "force",
1572
+ "allowNo": false,
1573
+ "type": "boolean"
1574
+ }
1575
+ },
1576
+ "hasDynamicHelp": false,
1577
+ "hiddenAliases": [],
1578
+ "id": "instructions:delete",
1579
+ "pluginAlias": "@rulemetric/cli",
1580
+ "pluginName": "@rulemetric/cli",
1581
+ "pluginType": "core",
1582
+ "strict": true,
1583
+ "enableJsonFlag": false,
1584
+ "isESM": true,
1585
+ "relativePath": [
1586
+ "dist",
1587
+ "commands",
1588
+ "instructions",
1589
+ "delete.js"
1590
+ ]
1591
+ },
1592
+ "instructions:fork": {
1593
+ "aliases": [],
1594
+ "args": {
1595
+ "id": {
1596
+ "description": "ID of the instruction to fork",
1597
+ "name": "id",
1598
+ "required": true
1599
+ }
1600
+ },
1601
+ "description": "Fork an instruction to your personal scope",
1602
+ "examples": [
1603
+ "<%= config.bin %> instructions fork <instruction-id>"
1604
+ ],
1605
+ "flags": {
1606
+ "api-url": {
1607
+ "description": "Override API base URL",
1608
+ "env": "RULEMETRIC_API_URL",
1609
+ "hidden": true,
1610
+ "name": "api-url",
1611
+ "hasDynamicHelp": false,
1612
+ "multiple": false,
1613
+ "type": "option"
1614
+ }
1615
+ },
1616
+ "hasDynamicHelp": false,
1617
+ "hiddenAliases": [],
1618
+ "id": "instructions:fork",
1619
+ "pluginAlias": "@rulemetric/cli",
1620
+ "pluginName": "@rulemetric/cli",
1621
+ "pluginType": "core",
1622
+ "strict": true,
1623
+ "enableJsonFlag": false,
1624
+ "isESM": true,
1625
+ "relativePath": [
1626
+ "dist",
1627
+ "commands",
1628
+ "instructions",
1629
+ "fork.js"
1630
+ ]
1631
+ },
1632
+ "instructions:get": {
1633
+ "aliases": [],
1634
+ "args": {
1635
+ "id": {
1636
+ "description": "Instruction ID",
1637
+ "name": "id",
1638
+ "required": true
1639
+ }
1640
+ },
1641
+ "description": "Get an instruction by ID",
1642
+ "examples": [
1643
+ "<%= config.bin %> instructions get <id>",
1644
+ "<%= config.bin %> instructions get <id> --format raw"
1645
+ ],
1646
+ "flags": {
1647
+ "json": {
1648
+ "description": "Format output as json.",
1649
+ "helpGroup": "GLOBAL",
1650
+ "name": "json",
1651
+ "allowNo": false,
1652
+ "type": "boolean"
1653
+ },
1654
+ "api-url": {
1655
+ "description": "Override API base URL",
1656
+ "env": "RULEMETRIC_API_URL",
1657
+ "hidden": true,
1658
+ "name": "api-url",
1659
+ "hasDynamicHelp": false,
1660
+ "multiple": false,
1661
+ "type": "option"
1662
+ },
1663
+ "format": {
1664
+ "char": "f",
1665
+ "description": "Output format",
1666
+ "name": "format",
1667
+ "default": "yaml",
1668
+ "hasDynamicHelp": false,
1669
+ "multiple": false,
1670
+ "options": [
1671
+ "yaml",
1672
+ "json",
1673
+ "raw"
1674
+ ],
1675
+ "type": "option"
1676
+ }
1677
+ },
1678
+ "hasDynamicHelp": false,
1679
+ "hiddenAliases": [],
1680
+ "id": "instructions:get",
1681
+ "pluginAlias": "@rulemetric/cli",
1682
+ "pluginName": "@rulemetric/cli",
1683
+ "pluginType": "core",
1684
+ "strict": true,
1685
+ "enableJsonFlag": true,
1686
+ "isESM": true,
1687
+ "relativePath": [
1688
+ "dist",
1689
+ "commands",
1690
+ "instructions",
1691
+ "get.js"
1692
+ ]
1693
+ },
1694
+ "instructions:list": {
1695
+ "aliases": [],
1696
+ "args": {},
1697
+ "description": "List your instructions",
1698
+ "examples": [
1699
+ "<%= config.bin %> instructions list",
1700
+ "<%= config.bin %> instructions list --json"
1701
+ ],
1702
+ "flags": {
1703
+ "json": {
1704
+ "description": "Format output as json.",
1705
+ "helpGroup": "GLOBAL",
1706
+ "name": "json",
1707
+ "allowNo": false,
1708
+ "type": "boolean"
1709
+ },
1710
+ "api-url": {
1711
+ "description": "Override API base URL",
1712
+ "env": "RULEMETRIC_API_URL",
1713
+ "hidden": true,
1714
+ "name": "api-url",
1715
+ "hasDynamicHelp": false,
1716
+ "multiple": false,
1717
+ "type": "option"
1718
+ },
1719
+ "format": {
1720
+ "char": "f",
1721
+ "description": "Output format",
1722
+ "name": "format",
1723
+ "default": "table",
1724
+ "hasDynamicHelp": false,
1725
+ "multiple": false,
1726
+ "options": [
1727
+ "table",
1728
+ "json"
1729
+ ],
1730
+ "type": "option"
1731
+ }
1732
+ },
1733
+ "hasDynamicHelp": false,
1734
+ "hiddenAliases": [],
1735
+ "id": "instructions:list",
1736
+ "pluginAlias": "@rulemetric/cli",
1737
+ "pluginName": "@rulemetric/cli",
1738
+ "pluginType": "core",
1739
+ "strict": true,
1740
+ "enableJsonFlag": true,
1741
+ "isESM": true,
1742
+ "relativePath": [
1743
+ "dist",
1744
+ "commands",
1745
+ "instructions",
1746
+ "list.js"
1747
+ ]
1748
+ },
1749
+ "instructions:promote": {
1750
+ "aliases": [],
1751
+ "args": {
1752
+ "id": {
1753
+ "description": "ID of the instruction to promote",
1754
+ "name": "id",
1755
+ "required": true
1756
+ }
1757
+ },
1758
+ "description": "Promote an instruction to a higher scope (personal → team → org)",
1759
+ "examples": [
1760
+ "<%= config.bin %> instructions promote <id> --scope team --ref <team-id>",
1761
+ "<%= config.bin %> instructions promote <id> --scope org --ref <org-id>"
1762
+ ],
1763
+ "flags": {
1764
+ "api-url": {
1765
+ "description": "Override API base URL",
1766
+ "env": "RULEMETRIC_API_URL",
1767
+ "hidden": true,
1768
+ "name": "api-url",
1769
+ "hasDynamicHelp": false,
1770
+ "multiple": false,
1771
+ "type": "option"
1772
+ },
1773
+ "scope": {
1774
+ "description": "Target scope",
1775
+ "name": "scope",
1776
+ "required": true,
1777
+ "hasDynamicHelp": false,
1778
+ "multiple": false,
1779
+ "options": [
1780
+ "team",
1781
+ "org"
1782
+ ],
1783
+ "type": "option"
1784
+ },
1785
+ "ref": {
1786
+ "description": "Target scope ref (team or org ID)",
1787
+ "name": "ref",
1788
+ "required": true,
1789
+ "hasDynamicHelp": false,
1790
+ "multiple": false,
1791
+ "type": "option"
1792
+ }
1793
+ },
1794
+ "hasDynamicHelp": false,
1795
+ "hiddenAliases": [],
1796
+ "id": "instructions:promote",
1797
+ "pluginAlias": "@rulemetric/cli",
1798
+ "pluginName": "@rulemetric/cli",
1799
+ "pluginType": "core",
1800
+ "strict": true,
1801
+ "enableJsonFlag": false,
1802
+ "isESM": true,
1803
+ "relativePath": [
1804
+ "dist",
1805
+ "commands",
1806
+ "instructions",
1807
+ "promote.js"
1808
+ ]
1809
+ },
1810
+ "instructions:pull": {
1811
+ "aliases": [],
1812
+ "args": {
1813
+ "id": {
1814
+ "description": "ID of the forked instruction",
1815
+ "name": "id",
1816
+ "required": true
1817
+ }
1818
+ },
1819
+ "description": "Pull upstream changes into a forked instruction",
1820
+ "flags": {
1821
+ "api-url": {
1822
+ "description": "Override API base URL",
1823
+ "env": "RULEMETRIC_API_URL",
1824
+ "hidden": true,
1825
+ "name": "api-url",
1826
+ "hasDynamicHelp": false,
1827
+ "multiple": false,
1828
+ "type": "option"
1829
+ }
1830
+ },
1831
+ "hasDynamicHelp": false,
1832
+ "hiddenAliases": [],
1833
+ "id": "instructions:pull",
1834
+ "pluginAlias": "@rulemetric/cli",
1835
+ "pluginName": "@rulemetric/cli",
1836
+ "pluginType": "core",
1837
+ "strict": true,
1838
+ "enableJsonFlag": false,
1839
+ "isESM": true,
1840
+ "relativePath": [
1841
+ "dist",
1842
+ "commands",
1843
+ "instructions",
1844
+ "pull.js"
1845
+ ]
1846
+ },
1847
+ "instructions:upstream": {
1848
+ "aliases": [],
1849
+ "args": {
1850
+ "id": {
1851
+ "description": "ID of the forked instruction",
1852
+ "name": "id",
1853
+ "required": true
1854
+ }
1855
+ },
1856
+ "description": "Check if a forked instruction has upstream updates",
1857
+ "flags": {
1858
+ "api-url": {
1859
+ "description": "Override API base URL",
1860
+ "env": "RULEMETRIC_API_URL",
1861
+ "hidden": true,
1862
+ "name": "api-url",
1863
+ "hasDynamicHelp": false,
1864
+ "multiple": false,
1865
+ "type": "option"
1866
+ }
1867
+ },
1868
+ "hasDynamicHelp": false,
1869
+ "hiddenAliases": [],
1870
+ "id": "instructions:upstream",
1871
+ "pluginAlias": "@rulemetric/cli",
1872
+ "pluginName": "@rulemetric/cli",
1873
+ "pluginType": "core",
1874
+ "strict": true,
1875
+ "enableJsonFlag": false,
1876
+ "isESM": true,
1877
+ "relativePath": [
1878
+ "dist",
1879
+ "commands",
1880
+ "instructions",
1881
+ "upstream.js"
1882
+ ]
1883
+ },
1884
+ "instructions:versions": {
1885
+ "aliases": [],
1886
+ "args": {
1887
+ "id": {
1888
+ "description": "Instruction ID",
1889
+ "name": "id",
1890
+ "required": true
1891
+ }
1892
+ },
1893
+ "description": "List version history for an instruction",
1894
+ "examples": [
1895
+ "<%= config.bin %> instructions versions <id>"
1896
+ ],
1897
+ "flags": {
1898
+ "json": {
1899
+ "description": "Format output as json.",
1900
+ "helpGroup": "GLOBAL",
1901
+ "name": "json",
1902
+ "allowNo": false,
1903
+ "type": "boolean"
1904
+ },
1905
+ "api-url": {
1906
+ "description": "Override API base URL",
1907
+ "env": "RULEMETRIC_API_URL",
1908
+ "hidden": true,
1909
+ "name": "api-url",
1910
+ "hasDynamicHelp": false,
1911
+ "multiple": false,
1912
+ "type": "option"
1913
+ }
1914
+ },
1915
+ "hasDynamicHelp": false,
1916
+ "hiddenAliases": [],
1917
+ "id": "instructions:versions",
1918
+ "pluginAlias": "@rulemetric/cli",
1919
+ "pluginName": "@rulemetric/cli",
1920
+ "pluginType": "core",
1921
+ "strict": true,
1922
+ "enableJsonFlag": true,
1923
+ "isESM": true,
1924
+ "relativePath": [
1925
+ "dist",
1926
+ "commands",
1927
+ "instructions",
1928
+ "versions.js"
1929
+ ]
1930
+ },
1931
+ "packs:add-instruction": {
1932
+ "aliases": [],
1933
+ "args": {
1934
+ "packId": {
1935
+ "description": "Pack ID",
1936
+ "name": "packId",
1937
+ "required": true
1938
+ },
1939
+ "instructionId": {
1940
+ "description": "Instruction ID",
1941
+ "name": "instructionId",
1942
+ "required": true
1943
+ }
1944
+ },
1945
+ "description": "Add an instruction to a pack",
1946
+ "examples": [
1947
+ "<%= config.bin %> packs add-instruction <pack-id> <instruction-id>"
1948
+ ],
1949
+ "flags": {
1950
+ "api-url": {
1951
+ "description": "Override API base URL",
1952
+ "env": "RULEMETRIC_API_URL",
1953
+ "hidden": true,
1954
+ "name": "api-url",
1955
+ "hasDynamicHelp": false,
1956
+ "multiple": false,
1957
+ "type": "option"
1958
+ }
1959
+ },
1960
+ "hasDynamicHelp": false,
1961
+ "hiddenAliases": [],
1962
+ "id": "packs:add-instruction",
1963
+ "pluginAlias": "@rulemetric/cli",
1964
+ "pluginName": "@rulemetric/cli",
1965
+ "pluginType": "core",
1966
+ "strict": true,
1967
+ "enableJsonFlag": false,
1968
+ "isESM": true,
1969
+ "relativePath": [
1970
+ "dist",
1971
+ "commands",
1972
+ "packs",
1973
+ "add-instruction.js"
1974
+ ]
1975
+ },
1976
+ "packs:apply": {
1977
+ "aliases": [],
1978
+ "args": {
1979
+ "id": {
1980
+ "description": "Pack ID",
1981
+ "name": "id",
1982
+ "required": true
1983
+ }
1984
+ },
1985
+ "description": "Apply a pack to a project (bulk-link all instructions)",
1986
+ "examples": [
1987
+ "<%= config.bin %> packs apply <pack-id> --project <project-id>"
1988
+ ],
1989
+ "flags": {
1990
+ "api-url": {
1991
+ "description": "Override API base URL",
1992
+ "env": "RULEMETRIC_API_URL",
1993
+ "hidden": true,
1994
+ "name": "api-url",
1995
+ "hasDynamicHelp": false,
1996
+ "multiple": false,
1997
+ "type": "option"
1998
+ },
1999
+ "project": {
2000
+ "char": "p",
2001
+ "description": "Project ID",
2002
+ "name": "project",
2003
+ "required": true,
2004
+ "hasDynamicHelp": false,
2005
+ "multiple": false,
2006
+ "type": "option"
2007
+ }
2008
+ },
2009
+ "hasDynamicHelp": false,
2010
+ "hiddenAliases": [],
2011
+ "id": "packs:apply",
2012
+ "pluginAlias": "@rulemetric/cli",
2013
+ "pluginName": "@rulemetric/cli",
2014
+ "pluginType": "core",
2015
+ "strict": true,
2016
+ "enableJsonFlag": false,
2017
+ "isESM": true,
2018
+ "relativePath": [
2019
+ "dist",
2020
+ "commands",
2021
+ "packs",
2022
+ "apply.js"
2023
+ ]
2024
+ },
2025
+ "packs:create": {
2026
+ "aliases": [],
2027
+ "args": {},
2028
+ "description": "Create a new instruction pack",
2029
+ "examples": [
2030
+ "<%= config.bin %> packs create --name \"Security Pack\" --description \"Security-focused instructions\""
2031
+ ],
2032
+ "flags": {
2033
+ "api-url": {
2034
+ "description": "Override API base URL",
2035
+ "env": "RULEMETRIC_API_URL",
2036
+ "hidden": true,
2037
+ "name": "api-url",
2038
+ "hasDynamicHelp": false,
2039
+ "multiple": false,
2040
+ "type": "option"
2041
+ },
2042
+ "name": {
2043
+ "char": "n",
2044
+ "description": "Pack name",
2045
+ "name": "name",
2046
+ "required": true,
2047
+ "hasDynamicHelp": false,
2048
+ "multiple": false,
2049
+ "type": "option"
2050
+ },
2051
+ "description": {
2052
+ "char": "d",
2053
+ "description": "Pack description",
2054
+ "name": "description",
2055
+ "required": true,
2056
+ "hasDynamicHelp": false,
2057
+ "multiple": false,
2058
+ "type": "option"
2059
+ },
2060
+ "scope": {
2061
+ "char": "s",
2062
+ "description": "Pack scope",
2063
+ "name": "scope",
2064
+ "default": "personal",
2065
+ "hasDynamicHelp": false,
2066
+ "multiple": false,
2067
+ "options": [
2068
+ "org",
2069
+ "team",
2070
+ "personal"
2071
+ ],
2072
+ "type": "option"
2073
+ },
2074
+ "tags": {
2075
+ "char": "t",
2076
+ "description": "Comma-separated tags",
2077
+ "name": "tags",
2078
+ "hasDynamicHelp": false,
2079
+ "multiple": false,
2080
+ "type": "option"
2081
+ }
2082
+ },
2083
+ "hasDynamicHelp": false,
2084
+ "hiddenAliases": [],
2085
+ "id": "packs:create",
2086
+ "pluginAlias": "@rulemetric/cli",
2087
+ "pluginName": "@rulemetric/cli",
2088
+ "pluginType": "core",
2089
+ "strict": true,
2090
+ "enableJsonFlag": false,
2091
+ "isESM": true,
2092
+ "relativePath": [
2093
+ "dist",
2094
+ "commands",
2095
+ "packs",
2096
+ "create.js"
2097
+ ]
2098
+ },
2099
+ "packs:fork": {
2100
+ "aliases": [],
2101
+ "args": {
2102
+ "id": {
2103
+ "description": "ID of the pack to fork",
2104
+ "name": "id",
2105
+ "required": true
2106
+ }
2107
+ },
2108
+ "description": "Fork a pack to your personal scope",
2109
+ "examples": [
2110
+ "<%= config.bin %> packs fork <pack-id>"
2111
+ ],
2112
+ "flags": {
2113
+ "api-url": {
2114
+ "description": "Override API base URL",
2115
+ "env": "RULEMETRIC_API_URL",
2116
+ "hidden": true,
2117
+ "name": "api-url",
2118
+ "hasDynamicHelp": false,
2119
+ "multiple": false,
2120
+ "type": "option"
2121
+ }
2122
+ },
2123
+ "hasDynamicHelp": false,
2124
+ "hiddenAliases": [],
2125
+ "id": "packs:fork",
2126
+ "pluginAlias": "@rulemetric/cli",
2127
+ "pluginName": "@rulemetric/cli",
2128
+ "pluginType": "core",
2129
+ "strict": true,
2130
+ "enableJsonFlag": false,
2131
+ "isESM": true,
2132
+ "relativePath": [
2133
+ "dist",
2134
+ "commands",
2135
+ "packs",
2136
+ "fork.js"
2137
+ ]
2138
+ },
2139
+ "packs:get": {
2140
+ "aliases": [],
2141
+ "args": {
2142
+ "id": {
2143
+ "description": "Pack ID",
2144
+ "name": "id",
2145
+ "required": true
2146
+ }
2147
+ },
2148
+ "description": "Get pack detail with instruction list",
2149
+ "examples": [
2150
+ "<%= config.bin %> packs get <pack-id>"
2151
+ ],
2152
+ "flags": {
2153
+ "api-url": {
2154
+ "description": "Override API base URL",
2155
+ "env": "RULEMETRIC_API_URL",
2156
+ "hidden": true,
2157
+ "name": "api-url",
2158
+ "hasDynamicHelp": false,
2159
+ "multiple": false,
2160
+ "type": "option"
2161
+ }
2162
+ },
2163
+ "hasDynamicHelp": false,
2164
+ "hiddenAliases": [],
2165
+ "id": "packs:get",
2166
+ "pluginAlias": "@rulemetric/cli",
2167
+ "pluginName": "@rulemetric/cli",
2168
+ "pluginType": "core",
2169
+ "strict": true,
2170
+ "enableJsonFlag": false,
2171
+ "isESM": true,
2172
+ "relativePath": [
2173
+ "dist",
2174
+ "commands",
2175
+ "packs",
2176
+ "get.js"
2177
+ ]
2178
+ },
2179
+ "packs:list": {
2180
+ "aliases": [],
2181
+ "args": {},
2182
+ "description": "List your instruction packs",
2183
+ "examples": [
2184
+ "<%= config.bin %> packs list",
2185
+ "<%= config.bin %> packs list --json"
2186
+ ],
2187
+ "flags": {
2188
+ "json": {
2189
+ "description": "Format output as json.",
2190
+ "helpGroup": "GLOBAL",
2191
+ "name": "json",
2192
+ "allowNo": false,
2193
+ "type": "boolean"
2194
+ },
2195
+ "api-url": {
2196
+ "description": "Override API base URL",
2197
+ "env": "RULEMETRIC_API_URL",
2198
+ "hidden": true,
2199
+ "name": "api-url",
2200
+ "hasDynamicHelp": false,
2201
+ "multiple": false,
2202
+ "type": "option"
2203
+ },
2204
+ "format": {
2205
+ "char": "f",
2206
+ "description": "Output format",
2207
+ "name": "format",
2208
+ "default": "table",
2209
+ "hasDynamicHelp": false,
2210
+ "multiple": false,
2211
+ "options": [
2212
+ "table",
2213
+ "json"
2214
+ ],
2215
+ "type": "option"
2216
+ }
2217
+ },
2218
+ "hasDynamicHelp": false,
2219
+ "hiddenAliases": [],
2220
+ "id": "packs:list",
2221
+ "pluginAlias": "@rulemetric/cli",
2222
+ "pluginName": "@rulemetric/cli",
2223
+ "pluginType": "core",
2224
+ "strict": true,
2225
+ "enableJsonFlag": true,
2226
+ "isESM": true,
2227
+ "relativePath": [
2228
+ "dist",
2229
+ "commands",
2230
+ "packs",
2231
+ "list.js"
2232
+ ]
2233
+ },
2234
+ "packs:remove-instruction": {
2235
+ "aliases": [],
2236
+ "args": {
2237
+ "packId": {
2238
+ "description": "Pack ID",
2239
+ "name": "packId",
2240
+ "required": true
2241
+ },
2242
+ "instructionId": {
2243
+ "description": "Instruction ID",
2244
+ "name": "instructionId",
2245
+ "required": true
2246
+ }
2247
+ },
2248
+ "description": "Remove an instruction from a pack",
2249
+ "examples": [
2250
+ "<%= config.bin %> packs remove-instruction <pack-id> <instruction-id>"
2251
+ ],
2252
+ "flags": {
2253
+ "api-url": {
2254
+ "description": "Override API base URL",
2255
+ "env": "RULEMETRIC_API_URL",
2256
+ "hidden": true,
2257
+ "name": "api-url",
2258
+ "hasDynamicHelp": false,
2259
+ "multiple": false,
2260
+ "type": "option"
2261
+ }
2262
+ },
2263
+ "hasDynamicHelp": false,
2264
+ "hiddenAliases": [],
2265
+ "id": "packs:remove-instruction",
2266
+ "pluginAlias": "@rulemetric/cli",
2267
+ "pluginName": "@rulemetric/cli",
2268
+ "pluginType": "core",
2269
+ "strict": true,
2270
+ "enableJsonFlag": false,
2271
+ "isESM": true,
2272
+ "relativePath": [
2273
+ "dist",
2274
+ "commands",
2275
+ "packs",
2276
+ "remove-instruction.js"
2277
+ ]
2278
+ },
2279
+ "proxy:env": {
2280
+ "aliases": [],
2281
+ "args": {},
2282
+ "description": "Print shell env vars to route any client through the RuleMetric proxy",
2283
+ "examples": [
2284
+ "<%= config.bin %> proxy env",
2285
+ "<%= config.bin %> proxy env --shell fish",
2286
+ "eval \"$(rulemetric proxy env)\"",
2287
+ "rulemetric proxy env --python"
2288
+ ],
2289
+ "flags": {
2290
+ "api-url": {
2291
+ "description": "Override API base URL",
2292
+ "env": "RULEMETRIC_API_URL",
2293
+ "hidden": true,
2294
+ "name": "api-url",
2295
+ "hasDynamicHelp": false,
2296
+ "multiple": false,
2297
+ "type": "option"
2298
+ },
2299
+ "shell": {
2300
+ "char": "s",
2301
+ "description": "Shell format (posix, fish, powershell)",
2302
+ "name": "shell",
2303
+ "default": "posix",
2304
+ "hasDynamicHelp": false,
2305
+ "multiple": false,
2306
+ "options": [
2307
+ "posix",
2308
+ "fish",
2309
+ "powershell"
2310
+ ],
2311
+ "type": "option"
2312
+ },
2313
+ "python": {
2314
+ "description": "Include Python-specific env vars (REQUESTS_CA_BUNDLE, SSL_CERT_FILE)",
2315
+ "name": "python",
2316
+ "allowNo": false,
2317
+ "type": "boolean"
2318
+ },
2319
+ "node": {
2320
+ "description": "Include Node.js-specific env vars (NODE_EXTRA_CA_CERTS)",
2321
+ "name": "node",
2322
+ "allowNo": false,
2323
+ "type": "boolean"
2324
+ },
2325
+ "all": {
2326
+ "description": "Include env vars for all runtimes",
2327
+ "name": "all",
2328
+ "allowNo": false,
2329
+ "type": "boolean"
2330
+ },
2331
+ "vscode": {
2332
+ "description": "Output VS Code settings.json snippet for Copilot proxy",
2333
+ "name": "vscode",
2334
+ "allowNo": false,
2335
+ "type": "boolean"
2336
+ }
2337
+ },
2338
+ "hasDynamicHelp": false,
2339
+ "hiddenAliases": [],
2340
+ "id": "proxy:env",
2341
+ "pluginAlias": "@rulemetric/cli",
2342
+ "pluginName": "@rulemetric/cli",
2343
+ "pluginType": "core",
2344
+ "strict": true,
2345
+ "enableJsonFlag": false,
2346
+ "isESM": true,
2347
+ "relativePath": [
2348
+ "dist",
2349
+ "commands",
2350
+ "proxy",
2351
+ "env.js"
2352
+ ]
2353
+ },
2354
+ "proxy:logs": {
2355
+ "aliases": [],
2356
+ "args": {},
2357
+ "description": "View context capture proxy logs",
2358
+ "examples": [
2359
+ "<%= config.bin %> proxy logs",
2360
+ "<%= config.bin %> proxy logs --follow",
2361
+ "<%= config.bin %> proxy logs --lines 50"
2362
+ ],
2363
+ "flags": {
2364
+ "api-url": {
2365
+ "description": "Override API base URL",
2366
+ "env": "RULEMETRIC_API_URL",
2367
+ "hidden": true,
2368
+ "name": "api-url",
2369
+ "hasDynamicHelp": false,
2370
+ "multiple": false,
2371
+ "type": "option"
2372
+ },
2373
+ "follow": {
2374
+ "char": "f",
2375
+ "description": "Follow log output (like tail -f)",
2376
+ "name": "follow",
2377
+ "allowNo": false,
2378
+ "type": "boolean"
2379
+ },
2380
+ "lines": {
2381
+ "char": "n",
2382
+ "description": "Number of lines to show",
2383
+ "name": "lines",
2384
+ "default": 30,
2385
+ "hasDynamicHelp": false,
2386
+ "multiple": false,
2387
+ "type": "option"
2388
+ }
2389
+ },
2390
+ "hasDynamicHelp": false,
2391
+ "hiddenAliases": [],
2392
+ "id": "proxy:logs",
2393
+ "pluginAlias": "@rulemetric/cli",
2394
+ "pluginName": "@rulemetric/cli",
2395
+ "pluginType": "core",
2396
+ "strict": true,
2397
+ "enableJsonFlag": false,
2398
+ "isESM": true,
2399
+ "relativePath": [
2400
+ "dist",
2401
+ "commands",
2402
+ "proxy",
2403
+ "logs.js"
2404
+ ]
2405
+ },
2406
+ "proxy:setup": {
2407
+ "aliases": [],
2408
+ "args": {},
2409
+ "description": "Set up context capture proxy (installs mitmproxy, configures shell)",
2410
+ "examples": [
2411
+ "<%= config.bin %> proxy setup",
2412
+ "<%= config.bin %> proxy setup --shell zsh",
2413
+ "<%= config.bin %> proxy setup --check"
2414
+ ],
2415
+ "flags": {
2416
+ "api-url": {
2417
+ "description": "Override API base URL",
2418
+ "env": "RULEMETRIC_API_URL",
2419
+ "hidden": true,
2420
+ "name": "api-url",
2421
+ "hasDynamicHelp": false,
2422
+ "multiple": false,
2423
+ "type": "option"
2424
+ },
2425
+ "shell": {
2426
+ "description": "Shell to configure (auto-detected if omitted)",
2427
+ "name": "shell",
2428
+ "hasDynamicHelp": false,
2429
+ "multiple": false,
2430
+ "options": [
2431
+ "zsh",
2432
+ "bash",
2433
+ "fish"
2434
+ ],
2435
+ "type": "option"
2436
+ },
2437
+ "port": {
2438
+ "char": "p",
2439
+ "description": "Proxy listen port",
2440
+ "name": "port",
2441
+ "default": 8787,
2442
+ "hasDynamicHelp": false,
2443
+ "multiple": false,
2444
+ "type": "option"
2445
+ },
2446
+ "check": {
2447
+ "description": "Only check prerequisites, do not install anything",
2448
+ "name": "check",
2449
+ "allowNo": false,
2450
+ "type": "boolean"
2451
+ }
2452
+ },
2453
+ "hasDynamicHelp": false,
2454
+ "hiddenAliases": [],
2455
+ "id": "proxy:setup",
2456
+ "pluginAlias": "@rulemetric/cli",
2457
+ "pluginName": "@rulemetric/cli",
2458
+ "pluginType": "core",
2459
+ "strict": true,
2460
+ "enableJsonFlag": false,
2461
+ "isESM": true,
2462
+ "relativePath": [
2463
+ "dist",
2464
+ "commands",
2465
+ "proxy",
2466
+ "setup.js"
2467
+ ]
2468
+ },
2469
+ "proxy:start": {
2470
+ "aliases": [],
2471
+ "args": {},
2472
+ "description": "Start context capture proxy",
2473
+ "examples": [
2474
+ "<%= config.bin %> proxy start",
2475
+ "<%= config.bin %> proxy start --docker",
2476
+ "<%= config.bin %> proxy start --port 9090",
2477
+ "<%= config.bin %> proxy start --web"
2478
+ ],
2479
+ "flags": {
2480
+ "api-url": {
2481
+ "description": "Override API base URL",
2482
+ "env": "RULEMETRIC_API_URL",
2483
+ "hidden": true,
2484
+ "name": "api-url",
2485
+ "hasDynamicHelp": false,
2486
+ "multiple": false,
2487
+ "type": "option"
2488
+ },
2489
+ "port": {
2490
+ "char": "p",
2491
+ "description": "Proxy listen port",
2492
+ "name": "port",
2493
+ "default": 8788,
2494
+ "hasDynamicHelp": false,
2495
+ "multiple": false,
2496
+ "type": "option"
2497
+ },
2498
+ "docker": {
2499
+ "char": "d",
2500
+ "description": "Run proxy in Docker (no local mitmproxy needed)",
2501
+ "name": "docker",
2502
+ "allowNo": false,
2503
+ "type": "boolean"
2504
+ },
2505
+ "web": {
2506
+ "description": "Launch mitmweb debug UI instead of mitmdump (local mode only)",
2507
+ "name": "web",
2508
+ "allowNo": false,
2509
+ "type": "boolean"
2510
+ },
2511
+ "skip-checks": {
2512
+ "description": "Skip prerequisite checks",
2513
+ "name": "skip-checks",
2514
+ "allowNo": false,
2515
+ "type": "boolean"
2516
+ },
2517
+ "build": {
2518
+ "description": "Force rebuild Docker image",
2519
+ "name": "build",
2520
+ "allowNo": false,
2521
+ "type": "boolean"
2522
+ }
2523
+ },
2524
+ "hasDynamicHelp": false,
2525
+ "hiddenAliases": [],
2526
+ "id": "proxy:start",
2527
+ "pluginAlias": "@rulemetric/cli",
2528
+ "pluginName": "@rulemetric/cli",
2529
+ "pluginType": "core",
2530
+ "strict": true,
2531
+ "enableJsonFlag": false,
2532
+ "isESM": true,
2533
+ "relativePath": [
2534
+ "dist",
2535
+ "commands",
2536
+ "proxy",
2537
+ "start.js"
2538
+ ]
2539
+ },
2540
+ "proxy:status": {
2541
+ "aliases": [],
2542
+ "args": {},
2543
+ "description": "Check gateway and context capture proxy status",
2544
+ "examples": [
2545
+ "<%= config.bin %> proxy status"
2546
+ ],
2547
+ "flags": {
2548
+ "api-url": {
2549
+ "description": "Override API base URL",
2550
+ "env": "RULEMETRIC_API_URL",
2551
+ "hidden": true,
2552
+ "name": "api-url",
2553
+ "hasDynamicHelp": false,
2554
+ "multiple": false,
2555
+ "type": "option"
2556
+ }
2557
+ },
2558
+ "hasDynamicHelp": false,
2559
+ "hiddenAliases": [],
2560
+ "id": "proxy:status",
2561
+ "pluginAlias": "@rulemetric/cli",
2562
+ "pluginName": "@rulemetric/cli",
2563
+ "pluginType": "core",
2564
+ "strict": true,
2565
+ "enableJsonFlag": false,
2566
+ "isESM": true,
2567
+ "relativePath": [
2568
+ "dist",
2569
+ "commands",
2570
+ "proxy",
2571
+ "status.js"
2572
+ ]
2573
+ },
2574
+ "proxy:stop": {
2575
+ "aliases": [],
2576
+ "args": {},
2577
+ "description": "Stop the context capture proxy",
2578
+ "examples": [
2579
+ "<%= config.bin %> proxy stop"
2580
+ ],
2581
+ "flags": {
2582
+ "api-url": {
2583
+ "description": "Override API base URL",
2584
+ "env": "RULEMETRIC_API_URL",
2585
+ "hidden": true,
2586
+ "name": "api-url",
2587
+ "hasDynamicHelp": false,
2588
+ "multiple": false,
2589
+ "type": "option"
2590
+ }
2591
+ },
2592
+ "hasDynamicHelp": false,
2593
+ "hiddenAliases": [],
2594
+ "id": "proxy:stop",
2595
+ "pluginAlias": "@rulemetric/cli",
2596
+ "pluginName": "@rulemetric/cli",
2597
+ "pluginType": "core",
2598
+ "strict": true,
2599
+ "enableJsonFlag": false,
2600
+ "isESM": true,
2601
+ "relativePath": [
2602
+ "dist",
2603
+ "commands",
2604
+ "proxy",
2605
+ "stop.js"
2606
+ ]
2607
+ },
2608
+ "service:install": {
2609
+ "aliases": [],
2610
+ "args": {},
2611
+ "description": "Install RuleMetric API as a persistent macOS service (launchd)",
2612
+ "examples": [
2613
+ "<%= config.bin %> service install",
2614
+ "<%= config.bin %> service install --port 3000"
2615
+ ],
2616
+ "flags": {
2617
+ "api-url": {
2618
+ "description": "Override API base URL",
2619
+ "env": "RULEMETRIC_API_URL",
2620
+ "hidden": true,
2621
+ "name": "api-url",
2622
+ "hasDynamicHelp": false,
2623
+ "multiple": false,
2624
+ "type": "option"
2625
+ },
2626
+ "port": {
2627
+ "char": "p",
2628
+ "description": "API server port",
2629
+ "name": "port",
2630
+ "default": 3000,
2631
+ "hasDynamicHelp": false,
2632
+ "multiple": false,
2633
+ "type": "option"
2634
+ },
2635
+ "force": {
2636
+ "char": "f",
2637
+ "description": "Overwrite existing service configuration",
2638
+ "name": "force",
2639
+ "allowNo": false,
2640
+ "type": "boolean"
2641
+ }
2642
+ },
2643
+ "hasDynamicHelp": false,
2644
+ "hiddenAliases": [],
2645
+ "id": "service:install",
2646
+ "pluginAlias": "@rulemetric/cli",
2647
+ "pluginName": "@rulemetric/cli",
2648
+ "pluginType": "core",
2649
+ "strict": true,
2650
+ "enableJsonFlag": false,
2651
+ "isESM": true,
2652
+ "relativePath": [
2653
+ "dist",
2654
+ "commands",
2655
+ "service",
2656
+ "install.js"
2657
+ ]
2658
+ },
2659
+ "service:status": {
2660
+ "aliases": [],
2661
+ "args": {},
2662
+ "description": "Check the status of the RuleMetric API service",
2663
+ "flags": {
2664
+ "api-url": {
2665
+ "description": "Override API base URL",
2666
+ "env": "RULEMETRIC_API_URL",
2667
+ "hidden": true,
2668
+ "name": "api-url",
2669
+ "hasDynamicHelp": false,
2670
+ "multiple": false,
2671
+ "type": "option"
2672
+ }
2673
+ },
2674
+ "hasDynamicHelp": false,
2675
+ "hiddenAliases": [],
2676
+ "id": "service:status",
2677
+ "pluginAlias": "@rulemetric/cli",
2678
+ "pluginName": "@rulemetric/cli",
2679
+ "pluginType": "core",
2680
+ "strict": true,
2681
+ "enableJsonFlag": false,
2682
+ "isESM": true,
2683
+ "relativePath": [
2684
+ "dist",
2685
+ "commands",
2686
+ "service",
2687
+ "status.js"
2688
+ ]
2689
+ },
2690
+ "service:uninstall": {
2691
+ "aliases": [],
2692
+ "args": {},
2693
+ "description": "Remove the RuleMetric API service from launchd",
2694
+ "flags": {
2695
+ "api-url": {
2696
+ "description": "Override API base URL",
2697
+ "env": "RULEMETRIC_API_URL",
2698
+ "hidden": true,
2699
+ "name": "api-url",
2700
+ "hasDynamicHelp": false,
2701
+ "multiple": false,
2702
+ "type": "option"
2703
+ }
2704
+ },
2705
+ "hasDynamicHelp": false,
2706
+ "hiddenAliases": [],
2707
+ "id": "service:uninstall",
2708
+ "pluginAlias": "@rulemetric/cli",
2709
+ "pluginName": "@rulemetric/cli",
2710
+ "pluginType": "core",
2711
+ "strict": true,
2712
+ "enableJsonFlag": false,
2713
+ "isESM": true,
2714
+ "relativePath": [
2715
+ "dist",
2716
+ "commands",
2717
+ "service",
2718
+ "uninstall.js"
2719
+ ]
2720
+ },
2721
+ "sessions:analyze": {
2722
+ "aliases": [],
2723
+ "args": {
2724
+ "id": {
2725
+ "description": "Session ID",
2726
+ "name": "id",
2727
+ "required": true
2728
+ }
2729
+ },
2730
+ "description": "Trigger AI analysis on a session",
2731
+ "examples": [
2732
+ "<%= config.bin %> sessions analyze <session-id>"
2733
+ ],
2734
+ "flags": {
2735
+ "api-url": {
2736
+ "description": "Override API base URL",
2737
+ "env": "RULEMETRIC_API_URL",
2738
+ "hidden": true,
2739
+ "name": "api-url",
2740
+ "hasDynamicHelp": false,
2741
+ "multiple": false,
2742
+ "type": "option"
2743
+ }
2744
+ },
2745
+ "hasDynamicHelp": false,
2746
+ "hiddenAliases": [],
2747
+ "id": "sessions:analyze",
2748
+ "pluginAlias": "@rulemetric/cli",
2749
+ "pluginName": "@rulemetric/cli",
2750
+ "pluginType": "core",
2751
+ "strict": true,
2752
+ "enableJsonFlag": false,
2753
+ "isESM": true,
2754
+ "relativePath": [
2755
+ "dist",
2756
+ "commands",
2757
+ "sessions",
2758
+ "analyze.js"
2759
+ ]
2760
+ },
2761
+ "sessions:end": {
2762
+ "aliases": [],
2763
+ "args": {},
2764
+ "description": "End the active capture session",
2765
+ "examples": [
2766
+ "<%= config.bin %> sessions end"
2767
+ ],
2768
+ "flags": {
2769
+ "api-url": {
2770
+ "description": "Override API base URL",
2771
+ "env": "RULEMETRIC_API_URL",
2772
+ "hidden": true,
2773
+ "name": "api-url",
2774
+ "hasDynamicHelp": false,
2775
+ "multiple": false,
2776
+ "type": "option"
2777
+ }
2778
+ },
2779
+ "hasDynamicHelp": false,
2780
+ "hiddenAliases": [],
2781
+ "id": "sessions:end",
2782
+ "pluginAlias": "@rulemetric/cli",
2783
+ "pluginName": "@rulemetric/cli",
2784
+ "pluginType": "core",
2785
+ "strict": true,
2786
+ "enableJsonFlag": false,
2787
+ "isESM": true,
2788
+ "relativePath": [
2789
+ "dist",
2790
+ "commands",
2791
+ "sessions",
2792
+ "end.js"
2793
+ ]
2794
+ },
2795
+ "sessions:import": {
2796
+ "aliases": [],
2797
+ "args": {
2798
+ "path": {
2799
+ "description": "Path to session file",
2800
+ "name": "path",
2801
+ "required": true
2802
+ }
2803
+ },
2804
+ "description": "Import a session file (JSONL, JSON)",
2805
+ "examples": [
2806
+ "<%= config.bin %> sessions import ~/.claude/projects/my-project/session-abc.jsonl",
2807
+ "<%= config.bin %> sessions import ./copilot-export.json --tool vscode_copilot"
2808
+ ],
2809
+ "flags": {
2810
+ "api-url": {
2811
+ "description": "Override API base URL",
2812
+ "env": "RULEMETRIC_API_URL",
2813
+ "hidden": true,
2814
+ "name": "api-url",
2815
+ "hasDynamicHelp": false,
2816
+ "multiple": false,
2817
+ "type": "option"
2818
+ },
2819
+ "tool": {
2820
+ "description": "Override tool detection (claude_code, cursor, vscode_copilot)",
2821
+ "name": "tool",
2822
+ "hasDynamicHelp": false,
2823
+ "multiple": false,
2824
+ "type": "option"
2825
+ }
2826
+ },
2827
+ "hasDynamicHelp": false,
2828
+ "hiddenAliases": [],
2829
+ "id": "sessions:import",
2830
+ "pluginAlias": "@rulemetric/cli",
2831
+ "pluginName": "@rulemetric/cli",
2832
+ "pluginType": "core",
2833
+ "strict": true,
2834
+ "enableJsonFlag": false,
2835
+ "isESM": true,
2836
+ "relativePath": [
2837
+ "dist",
2838
+ "commands",
2839
+ "sessions",
2840
+ "import.js"
2841
+ ]
2842
+ },
2843
+ "sessions:list": {
2844
+ "aliases": [],
2845
+ "args": {},
2846
+ "description": "List captured sessions",
2847
+ "examples": [
2848
+ "<%= config.bin %> sessions list",
2849
+ "<%= config.bin %> sessions list --tool claude_code"
2850
+ ],
2851
+ "flags": {
2852
+ "api-url": {
2853
+ "description": "Override API base URL",
2854
+ "env": "RULEMETRIC_API_URL",
2855
+ "hidden": true,
2856
+ "name": "api-url",
2857
+ "hasDynamicHelp": false,
2858
+ "multiple": false,
2859
+ "type": "option"
2860
+ },
2861
+ "tool": {
2862
+ "description": "Filter by tool (claude_code, cursor, vscode_copilot)",
2863
+ "name": "tool",
2864
+ "hasDynamicHelp": false,
2865
+ "multiple": false,
2866
+ "type": "option"
2867
+ },
2868
+ "limit": {
2869
+ "description": "Max results",
2870
+ "name": "limit",
2871
+ "default": 20,
2872
+ "hasDynamicHelp": false,
2873
+ "multiple": false,
2874
+ "type": "option"
2875
+ }
2876
+ },
2877
+ "hasDynamicHelp": false,
2878
+ "hiddenAliases": [],
2879
+ "id": "sessions:list",
2880
+ "pluginAlias": "@rulemetric/cli",
2881
+ "pluginName": "@rulemetric/cli",
2882
+ "pluginType": "core",
2883
+ "strict": true,
2884
+ "enableJsonFlag": false,
2885
+ "isESM": true,
2886
+ "relativePath": [
2887
+ "dist",
2888
+ "commands",
2889
+ "sessions",
2890
+ "list.js"
2891
+ ]
2892
+ },
2893
+ "sessions:start": {
2894
+ "aliases": [],
2895
+ "args": {},
2896
+ "description": "Start a capture session for any LLM provider (Cortex, Groq, etc.)",
2897
+ "examples": [
2898
+ "<%= config.bin %> sessions start --tool cortex",
2899
+ "<%= config.bin %> sessions start --tool groq --project-dir /path/to/project",
2900
+ "eval \"$(rulemetric proxy env --python)\" && rulemetric sessions start --tool cortex"
2901
+ ],
2902
+ "flags": {
2903
+ "api-url": {
2904
+ "description": "Override API base URL",
2905
+ "env": "RULEMETRIC_API_URL",
2906
+ "hidden": true,
2907
+ "name": "api-url",
2908
+ "hasDynamicHelp": false,
2909
+ "multiple": false,
2910
+ "type": "option"
2911
+ },
2912
+ "tool": {
2913
+ "char": "t",
2914
+ "description": "LLM provider or tool name (e.g., cortex, groq, deepseek, custom_app)",
2915
+ "name": "tool",
2916
+ "required": true,
2917
+ "hasDynamicHelp": false,
2918
+ "multiple": false,
2919
+ "type": "option"
2920
+ },
2921
+ "project-dir": {
2922
+ "char": "d",
2923
+ "description": "Project directory (defaults to cwd)",
2924
+ "name": "project-dir",
2925
+ "hasDynamicHelp": false,
2926
+ "multiple": false,
2927
+ "type": "option"
2928
+ }
2929
+ },
2930
+ "hasDynamicHelp": false,
2931
+ "hiddenAliases": [],
2932
+ "id": "sessions:start",
2933
+ "pluginAlias": "@rulemetric/cli",
2934
+ "pluginName": "@rulemetric/cli",
2935
+ "pluginType": "core",
2936
+ "strict": true,
2937
+ "enableJsonFlag": false,
2938
+ "isESM": true,
2939
+ "relativePath": [
2940
+ "dist",
2941
+ "commands",
2942
+ "sessions",
2943
+ "start.js"
2944
+ ]
2945
+ },
2946
+ "skills:install": {
2947
+ "aliases": [],
2948
+ "args": {
2949
+ "id": {
2950
+ "description": "Skill ID to install",
2951
+ "name": "id",
2952
+ "required": true
2953
+ }
2954
+ },
2955
+ "description": "Install a skill from the registry into your project",
2956
+ "examples": [
2957
+ "<%= config.bin %> skills install tdd-workflow",
2958
+ "<%= config.bin %> skills install tdd-workflow --tool cursor",
2959
+ "<%= config.bin %> skills install tdd-workflow --preview"
2960
+ ],
2961
+ "flags": {
2962
+ "api-url": {
2963
+ "description": "Override API base URL",
2964
+ "env": "RULEMETRIC_API_URL",
2965
+ "hidden": true,
2966
+ "name": "api-url",
2967
+ "hasDynamicHelp": false,
2968
+ "multiple": false,
2969
+ "type": "option"
2970
+ },
2971
+ "tool": {
2972
+ "description": "Target tool format",
2973
+ "name": "tool",
2974
+ "hasDynamicHelp": false,
2975
+ "multiple": false,
2976
+ "options": [
2977
+ "claude_code",
2978
+ "cursor",
2979
+ "copilot"
2980
+ ],
2981
+ "type": "option"
2982
+ },
2983
+ "preview": {
2984
+ "description": "Preview content without writing",
2985
+ "name": "preview",
2986
+ "allowNo": false,
2987
+ "type": "boolean"
2988
+ },
2989
+ "dir": {
2990
+ "description": "Project directory",
2991
+ "name": "dir",
2992
+ "default": ".",
2993
+ "hasDynamicHelp": false,
2994
+ "multiple": false,
2995
+ "type": "option"
2996
+ }
2997
+ },
2998
+ "hasDynamicHelp": false,
2999
+ "hiddenAliases": [],
3000
+ "id": "skills:install",
3001
+ "pluginAlias": "@rulemetric/cli",
3002
+ "pluginName": "@rulemetric/cli",
3003
+ "pluginType": "core",
3004
+ "strict": true,
3005
+ "enableJsonFlag": false,
3006
+ "isESM": true,
3007
+ "relativePath": [
3008
+ "dist",
3009
+ "commands",
3010
+ "skills",
3011
+ "install.js"
3012
+ ]
3013
+ },
3014
+ "skills:list": {
3015
+ "aliases": [],
3016
+ "args": {},
3017
+ "description": "List skills in the registry",
3018
+ "examples": [
3019
+ "<%= config.bin %> skills list",
3020
+ "<%= config.bin %> skills list --stats"
3021
+ ],
3022
+ "flags": {
3023
+ "api-url": {
3024
+ "description": "Override API base URL",
3025
+ "env": "RULEMETRIC_API_URL",
3026
+ "hidden": true,
3027
+ "name": "api-url",
3028
+ "hasDynamicHelp": false,
3029
+ "multiple": false,
3030
+ "type": "option"
3031
+ },
3032
+ "stats": {
3033
+ "description": "Show registry statistics",
3034
+ "name": "stats",
3035
+ "allowNo": false,
3036
+ "type": "boolean"
3037
+ },
3038
+ "limit": {
3039
+ "description": "Max skills to show",
3040
+ "name": "limit",
3041
+ "default": 30,
3042
+ "hasDynamicHelp": false,
3043
+ "multiple": false,
3044
+ "type": "option"
3045
+ }
3046
+ },
3047
+ "hasDynamicHelp": false,
3048
+ "hiddenAliases": [],
3049
+ "id": "skills:list",
3050
+ "pluginAlias": "@rulemetric/cli",
3051
+ "pluginName": "@rulemetric/cli",
3052
+ "pluginType": "core",
3053
+ "strict": true,
3054
+ "enableJsonFlag": false,
3055
+ "isESM": true,
3056
+ "relativePath": [
3057
+ "dist",
3058
+ "commands",
3059
+ "skills",
3060
+ "list.js"
3061
+ ]
3062
+ },
3063
+ "skills:search": {
3064
+ "aliases": [],
3065
+ "args": {
3066
+ "query": {
3067
+ "description": "Search term",
3068
+ "name": "query",
3069
+ "required": false
3070
+ }
3071
+ },
3072
+ "description": "Search the community skills registry",
3073
+ "examples": [
3074
+ "<%= config.bin %> skills search \"tdd\"",
3075
+ "<%= config.bin %> skills search --tool cursor --category testing",
3076
+ "<%= config.bin %> skills search --language python"
3077
+ ],
3078
+ "flags": {
3079
+ "api-url": {
3080
+ "description": "Override API base URL",
3081
+ "env": "RULEMETRIC_API_URL",
3082
+ "hidden": true,
3083
+ "name": "api-url",
3084
+ "hasDynamicHelp": false,
3085
+ "multiple": false,
3086
+ "type": "option"
3087
+ },
3088
+ "tool": {
3089
+ "description": "Filter by tool",
3090
+ "name": "tool",
3091
+ "hasDynamicHelp": false,
3092
+ "multiple": false,
3093
+ "options": [
3094
+ "claude_code",
3095
+ "cursor",
3096
+ "copilot",
3097
+ "windsurf",
3098
+ "cline",
3099
+ "universal"
3100
+ ],
3101
+ "type": "option"
3102
+ },
3103
+ "category": {
3104
+ "description": "Filter by category",
3105
+ "name": "category",
3106
+ "hasDynamicHelp": false,
3107
+ "multiple": false,
3108
+ "options": [
3109
+ "workflow",
3110
+ "language",
3111
+ "framework",
3112
+ "tool",
3113
+ "security",
3114
+ "testing",
3115
+ "architecture",
3116
+ "devops",
3117
+ "documentation",
3118
+ "performance"
3119
+ ],
3120
+ "type": "option"
3121
+ },
3122
+ "language": {
3123
+ "description": "Filter by programming language",
3124
+ "name": "language",
3125
+ "hasDynamicHelp": false,
3126
+ "multiple": false,
3127
+ "type": "option"
3128
+ },
3129
+ "framework": {
3130
+ "description": "Filter by framework",
3131
+ "name": "framework",
3132
+ "hasDynamicHelp": false,
3133
+ "multiple": false,
3134
+ "type": "option"
3135
+ },
3136
+ "limit": {
3137
+ "description": "Max results",
3138
+ "name": "limit",
3139
+ "default": 20,
3140
+ "hasDynamicHelp": false,
3141
+ "multiple": false,
3142
+ "type": "option"
3143
+ }
3144
+ },
3145
+ "hasDynamicHelp": false,
3146
+ "hiddenAliases": [],
3147
+ "id": "skills:search",
3148
+ "pluginAlias": "@rulemetric/cli",
3149
+ "pluginName": "@rulemetric/cli",
3150
+ "pluginType": "core",
3151
+ "strict": true,
3152
+ "enableJsonFlag": false,
3153
+ "isESM": true,
3154
+ "relativePath": [
3155
+ "dist",
3156
+ "commands",
3157
+ "skills",
3158
+ "search.js"
3159
+ ]
3160
+ },
3161
+ "skills:update": {
3162
+ "aliases": [],
3163
+ "args": {},
3164
+ "description": "Fetch latest skills from GitHub sources and update local registry",
3165
+ "examples": [
3166
+ "<%= config.bin %> skills update"
3167
+ ],
3168
+ "flags": {
3169
+ "api-url": {
3170
+ "description": "Override API base URL",
3171
+ "env": "RULEMETRIC_API_URL",
3172
+ "hidden": true,
3173
+ "name": "api-url",
3174
+ "hasDynamicHelp": false,
3175
+ "multiple": false,
3176
+ "type": "option"
3177
+ }
3178
+ },
3179
+ "hasDynamicHelp": false,
3180
+ "hiddenAliases": [],
3181
+ "id": "skills:update",
3182
+ "pluginAlias": "@rulemetric/cli",
3183
+ "pluginName": "@rulemetric/cli",
3184
+ "pluginType": "core",
3185
+ "strict": true,
3186
+ "enableJsonFlag": false,
3187
+ "isESM": true,
3188
+ "relativePath": [
3189
+ "dist",
3190
+ "commands",
3191
+ "skills",
3192
+ "update.js"
3193
+ ]
3194
+ }
3195
+ },
3196
+ "version": "0.1.0"
3197
+ }