@rulemetric/cli 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base-command.js +13 -52
- package/dist/base-command.js.map +7 -1
- package/dist/chunk-2AM54TUK.js +59 -0
- package/dist/chunk-2AM54TUK.js.map +7 -0
- package/dist/chunk-3TIMQ3O6.js +96 -0
- package/dist/chunk-3TIMQ3O6.js.map +7 -0
- package/dist/chunk-4BHDHHKL.js +48 -0
- package/dist/chunk-4BHDHHKL.js.map +7 -0
- package/dist/chunk-4D537GXE.js +99 -0
- package/dist/chunk-4D537GXE.js.map +7 -0
- package/dist/chunk-4SCZK7AL.js +129 -0
- package/dist/chunk-4SCZK7AL.js.map +7 -0
- package/dist/chunk-4WFE4PFP.js +61 -0
- package/dist/chunk-4WFE4PFP.js.map +7 -0
- package/dist/chunk-52WIYRZH.js +73 -0
- package/dist/chunk-52WIYRZH.js.map +7 -0
- package/dist/chunk-7FAA3YNB.js +1549 -0
- package/dist/chunk-7FAA3YNB.js.map +7 -0
- package/dist/chunk-7NYKWN7U.js +12 -0
- package/dist/chunk-7NYKWN7U.js.map +7 -0
- package/dist/chunk-AULP2OWH.js +99 -0
- package/dist/chunk-AULP2OWH.js.map +7 -0
- package/dist/chunk-B5KNTGMJ.js +1788 -0
- package/dist/chunk-B5KNTGMJ.js.map +7 -0
- package/dist/chunk-BD7CY42U.js +23 -0
- package/dist/chunk-BD7CY42U.js.map +7 -0
- package/dist/chunk-BO76WKJR.js +42 -0
- package/dist/chunk-BO76WKJR.js.map +7 -0
- package/dist/chunk-BRD5RUGM.js +53 -0
- package/dist/chunk-BRD5RUGM.js.map +7 -0
- package/dist/chunk-BT6Z6545.js +43 -0
- package/dist/chunk-BT6Z6545.js.map +7 -0
- package/dist/chunk-BZDKEQKU.js +39 -0
- package/dist/chunk-BZDKEQKU.js.map +7 -0
- package/dist/chunk-CROYS75W.js +161 -0
- package/dist/chunk-CROYS75W.js.map +7 -0
- package/dist/chunk-DGHWRQXL.js +17 -0
- package/dist/chunk-DGHWRQXL.js.map +7 -0
- package/dist/chunk-DQ3KELXD.js +74 -0
- package/dist/chunk-DQ3KELXD.js.map +7 -0
- package/dist/chunk-DTFXCHHI.js +108 -0
- package/dist/chunk-DTFXCHHI.js.map +7 -0
- package/dist/chunk-DU73QUS3.js +75 -0
- package/dist/chunk-DU73QUS3.js.map +7 -0
- package/dist/chunk-EHZJ6OXD.js +307 -0
- package/dist/chunk-EHZJ6OXD.js.map +7 -0
- package/dist/chunk-EJOI2ZGU.js +109 -0
- package/dist/chunk-EJOI2ZGU.js.map +7 -0
- package/dist/chunk-EKJ2CABV.js +76 -0
- package/dist/chunk-EKJ2CABV.js.map +7 -0
- package/dist/chunk-EKP32DLN.js +16 -0
- package/dist/chunk-EKP32DLN.js.map +7 -0
- package/dist/chunk-EOOP6WTC.js +148 -0
- package/dist/chunk-EOOP6WTC.js.map +7 -0
- package/dist/chunk-ERPMDAO3.js +20 -0
- package/dist/chunk-ERPMDAO3.js.map +7 -0
- package/dist/chunk-FTJRMUID.js +96 -0
- package/dist/chunk-FTJRMUID.js.map +7 -0
- package/dist/chunk-FZKLLNDS.js +228 -0
- package/dist/chunk-FZKLLNDS.js.map +7 -0
- package/dist/chunk-GQCISMAH.js +157 -0
- package/dist/chunk-GQCISMAH.js.map +7 -0
- package/dist/chunk-IGXX624H.js +55 -0
- package/dist/chunk-IGXX624H.js.map +7 -0
- package/dist/chunk-IJGF2ETG.js +68 -0
- package/dist/chunk-IJGF2ETG.js.map +7 -0
- package/dist/chunk-IWYCRLEK.js +220 -0
- package/dist/chunk-IWYCRLEK.js.map +7 -0
- package/dist/chunk-J7N3DLH6.js +117 -0
- package/dist/chunk-J7N3DLH6.js.map +7 -0
- package/dist/chunk-JX5UI6RW.js +99 -0
- package/dist/chunk-JX5UI6RW.js.map +7 -0
- package/dist/chunk-K3BFZ7KG.js +154 -0
- package/dist/chunk-K3BFZ7KG.js.map +7 -0
- package/dist/chunk-KHJUQFIK.js +51 -0
- package/dist/chunk-KHJUQFIK.js.map +7 -0
- package/dist/chunk-KRBQLMOP.js +41 -0
- package/dist/chunk-KRBQLMOP.js.map +7 -0
- package/dist/chunk-KZRFUXGF.js +145 -0
- package/dist/chunk-KZRFUXGF.js.map +7 -0
- package/dist/chunk-L674RNKQ.js +492 -0
- package/dist/chunk-L674RNKQ.js.map +7 -0
- package/dist/chunk-N52AHNBH.js +47 -0
- package/dist/chunk-N52AHNBH.js.map +7 -0
- package/dist/chunk-NIDLJO6F.js +228 -0
- package/dist/chunk-NIDLJO6F.js.map +7 -0
- package/dist/chunk-NSBPE2FW.js +17 -0
- package/dist/chunk-NSBPE2FW.js.map +7 -0
- package/dist/chunk-OGVORIFM.js +70 -0
- package/dist/chunk-OGVORIFM.js.map +7 -0
- package/dist/chunk-OQSQC7VB.js +77 -0
- package/dist/chunk-OQSQC7VB.js.map +7 -0
- package/dist/chunk-PHLMIZKM.js +153 -0
- package/dist/chunk-PHLMIZKM.js.map +7 -0
- package/dist/chunk-PQU7GZ7A.js +92 -0
- package/dist/chunk-PQU7GZ7A.js.map +7 -0
- package/dist/chunk-PXVQLD7S.js +196 -0
- package/dist/chunk-PXVQLD7S.js.map +7 -0
- package/dist/chunk-QD6X4L4L.js +79 -0
- package/dist/chunk-QD6X4L4L.js.map +7 -0
- package/dist/chunk-QJQS6TUN.js +44 -0
- package/dist/chunk-QJQS6TUN.js.map +7 -0
- package/dist/chunk-QJXAULRC.js +191 -0
- package/dist/chunk-QJXAULRC.js.map +7 -0
- package/dist/chunk-QN34TGD3.js +83 -0
- package/dist/chunk-QN34TGD3.js.map +7 -0
- package/dist/chunk-R5MFHGHR.js +122 -0
- package/dist/chunk-R5MFHGHR.js.map +7 -0
- package/dist/chunk-RH7NHVSK.js +16 -0
- package/dist/chunk-RH7NHVSK.js.map +7 -0
- package/dist/chunk-RJ7BHDLM.js +121 -0
- package/dist/chunk-RJ7BHDLM.js.map +7 -0
- package/dist/chunk-RQ2TMLKG.js +142 -0
- package/dist/chunk-RQ2TMLKG.js.map +7 -0
- package/dist/chunk-S56LOTGQ.js +63 -0
- package/dist/chunk-S56LOTGQ.js.map +7 -0
- package/dist/chunk-UF73WX2J.js +49 -0
- package/dist/chunk-UF73WX2J.js.map +7 -0
- package/dist/chunk-W53GKIZQ.js +50 -0
- package/dist/chunk-W53GKIZQ.js.map +7 -0
- package/dist/chunk-WA4MWYRW.js +254 -0
- package/dist/chunk-WA4MWYRW.js.map +7 -0
- package/dist/chunk-WFULKPEQ.js +269 -0
- package/dist/chunk-WFULKPEQ.js.map +7 -0
- package/dist/chunk-XC6M4CSW.js +44 -0
- package/dist/chunk-XC6M4CSW.js.map +7 -0
- package/dist/chunk-XPUEGHXN.js +243 -0
- package/dist/chunk-XPUEGHXN.js.map +7 -0
- package/dist/chunk-XZXS2W24.js +148 -0
- package/dist/chunk-XZXS2W24.js.map +7 -0
- package/dist/chunk-YBNW7ARH.js +167 -0
- package/dist/chunk-YBNW7ARH.js.map +7 -0
- package/dist/chunk-YNIH3KMU.js +121 -0
- package/dist/chunk-YNIH3KMU.js.map +7 -0
- package/dist/commands/antigravity/backfill.js +135 -0
- package/dist/commands/antigravity/backfill.js.map +7 -0
- package/dist/commands/auth/create-key.js +48 -33
- package/dist/commands/auth/create-key.js.map +7 -1
- package/dist/commands/auth/login.js +58 -46
- package/dist/commands/auth/login.js.map +7 -1
- package/dist/commands/auth/logout.js +28 -13
- package/dist/commands/auth/logout.js.map +7 -1
- package/dist/commands/auth/revoke-key.js +32 -18
- package/dist/commands/auth/revoke-key.js.map +7 -1
- package/dist/commands/auth/status.js +40 -22
- package/dist/commands/auth/status.js.map +7 -1
- package/dist/commands/catalog/index.js +50 -34
- package/dist/commands/catalog/index.js.map +7 -1
- package/dist/commands/catalog/recommend.js +41 -26
- package/dist/commands/catalog/recommend.js.map +7 -1
- package/dist/commands/convert.js +72 -54
- package/dist/commands/convert.js.map +7 -1
- package/dist/commands/converters.js +52 -38
- package/dist/commands/converters.js.map +7 -1
- package/dist/commands/crons/list.js +50 -24
- package/dist/commands/crons/list.js.map +7 -1
- package/dist/commands/crons/run.js +72 -47
- package/dist/commands/crons/run.js.map +7 -1
- package/dist/commands/dashboard.js +45 -24
- package/dist/commands/dashboard.js.map +7 -1
- package/dist/commands/eval-targets/create.js +51 -39
- package/dist/commands/eval-targets/create.js.map +7 -1
- package/dist/commands/eval-targets/list.js +52 -35
- package/dist/commands/eval-targets/list.js.map +7 -1
- package/dist/commands/evals/agent.js +292 -0
- package/dist/commands/evals/agent.js.map +7 -0
- package/dist/commands/evals/benchmark.js +70 -51
- package/dist/commands/evals/benchmark.js.map +7 -1
- package/dist/commands/evals/compare.js +90 -78
- package/dist/commands/evals/compare.js.map +7 -1
- package/dist/commands/evals/create.js +64 -50
- package/dist/commands/evals/create.js.map +7 -1
- package/dist/commands/evals/optimize-description.js +225 -222
- package/dist/commands/evals/optimize-description.js.map +7 -1
- package/dist/commands/evals/optimize.js +206 -196
- package/dist/commands/evals/optimize.js.map +7 -1
- package/dist/commands/evals/run.js +178 -164
- package/dist/commands/evals/run.js.map +7 -1
- package/dist/commands/gateway/ensure.js +33 -19
- package/dist/commands/gateway/ensure.js.map +7 -1
- package/dist/commands/hooks/install.js +335 -275
- package/dist/commands/hooks/install.js.map +7 -1
- package/dist/commands/hooks/run.js +72 -53
- package/dist/commands/hooks/run.js.map +7 -1
- package/dist/commands/hooks/uninstall.js +117 -94
- package/dist/commands/hooks/uninstall.js.map +7 -1
- package/dist/commands/import.js +63 -53
- package/dist/commands/import.js.map +7 -1
- package/dist/commands/instructions/create.js +71 -58
- package/dist/commands/instructions/create.js.map +7 -1
- package/dist/commands/instructions/delete.js +53 -36
- package/dist/commands/instructions/delete.js.map +7 -1
- package/dist/commands/instructions/fork.js +33 -19
- package/dist/commands/instructions/fork.js.map +7 -1
- package/dist/commands/instructions/get.js +66 -49
- package/dist/commands/instructions/get.js.map +7 -1
- package/dist/commands/instructions/list.js +63 -46
- package/dist/commands/instructions/list.js.map +7 -1
- package/dist/commands/instructions/promote.js +41 -27
- package/dist/commands/instructions/promote.js.map +7 -1
- package/dist/commands/instructions/pull.js +37 -21
- package/dist/commands/instructions/pull.js.map +7 -1
- package/dist/commands/instructions/upstream.js +36 -21
- package/dist/commands/instructions/upstream.js.map +7 -1
- package/dist/commands/instructions/versions.js +51 -33
- package/dist/commands/instructions/versions.js.map +7 -1
- package/dist/commands/launcher.js +39 -0
- package/dist/commands/launcher.js.map +7 -0
- package/dist/commands/org/current.js +74 -68
- package/dist/commands/org/current.js.map +7 -1
- package/dist/commands/org/list.js +50 -36
- package/dist/commands/org/list.js.map +7 -1
- package/dist/commands/org/switch.js +69 -51
- package/dist/commands/org/switch.js.map +7 -1
- package/dist/commands/packs/add-instruction.js +36 -22
- package/dist/commands/packs/add-instruction.js.map +7 -1
- package/dist/commands/packs/apply.js +38 -24
- package/dist/commands/packs/apply.js.map +7 -1
- package/dist/commands/packs/create.js +47 -33
- package/dist/commands/packs/create.js.map +7 -1
- package/dist/commands/packs/fork.js +33 -19
- package/dist/commands/packs/fork.js.map +7 -1
- package/dist/commands/packs/get.js +54 -35
- package/dist/commands/packs/get.js.map +7 -1
- package/dist/commands/packs/list.js +64 -47
- package/dist/commands/packs/list.js.map +7 -1
- package/dist/commands/packs/remove-instruction.js +34 -20
- package/dist/commands/packs/remove-instruction.js.map +7 -1
- package/dist/commands/proxy/env.js +126 -116
- package/dist/commands/proxy/env.js.map +7 -1
- package/dist/commands/proxy/logs.js +83 -74
- package/dist/commands/proxy/logs.js.map +7 -1
- package/dist/commands/proxy/restart.js +34 -36
- package/dist/commands/proxy/restart.js.map +7 -1
- package/dist/commands/proxy/setup.js +432 -375
- package/dist/commands/proxy/setup.js.map +7 -1
- package/dist/commands/proxy/start.js +289 -289
- package/dist/commands/proxy/start.js.map +7 -1
- package/dist/commands/proxy/status.js +74 -64
- package/dist/commands/proxy/status.js.map +7 -1
- package/dist/commands/proxy/stop.js +81 -75
- package/dist/commands/proxy/stop.js.map +7 -1
- package/dist/commands/research/backfill.js +58 -0
- package/dist/commands/research/backfill.js.map +7 -0
- package/dist/commands/research/tail-transcript.js +69 -0
- package/dist/commands/research/tail-transcript.js.map +7 -0
- package/dist/commands/service/install.js +639 -405
- package/dist/commands/service/install.js.map +7 -1
- package/dist/commands/service/status.js +178 -111
- package/dist/commands/service/status.js.map +7 -1
- package/dist/commands/service/uninstall.js +85 -110
- package/dist/commands/service/uninstall.js.map +7 -1
- package/dist/commands/sessions/analyze.js +46 -25
- package/dist/commands/sessions/analyze.js.map +7 -1
- package/dist/commands/sessions/end.js +81 -79
- package/dist/commands/sessions/end.js.map +7 -1
- package/dist/commands/sessions/import.js +44 -27
- package/dist/commands/sessions/import.js.map +7 -1
- package/dist/commands/sessions/list.js +46 -33
- package/dist/commands/sessions/list.js.map +7 -1
- package/dist/commands/sessions/start.js +88 -87
- package/dist/commands/sessions/start.js.map +7 -1
- package/dist/commands/signals/report.js +42 -34
- package/dist/commands/signals/report.js.map +7 -1
- package/dist/commands/skills/export-approved.js +44 -30
- package/dist/commands/skills/export-approved.js.map +7 -1
- package/dist/commands/skills/install.js +99 -84
- package/dist/commands/skills/install.js.map +7 -1
- package/dist/commands/skills/list.js +59 -42
- package/dist/commands/skills/list.js.map +7 -1
- package/dist/commands/skills/publish.js +95 -78
- package/dist/commands/skills/publish.js.map +7 -1
- package/dist/commands/skills/search.js +68 -53
- package/dist/commands/skills/search.js.map +7 -1
- package/dist/commands/skills/update.js +52 -39
- package/dist/commands/skills/update.js.map +7 -1
- package/dist/commands/suggestions/accept.js +82 -59
- package/dist/commands/suggestions/accept.js.map +7 -1
- package/dist/commands/suggestions/dismiss.js +44 -26
- package/dist/commands/suggestions/dismiss.js.map +7 -1
- package/dist/commands/suggestions/list.js +59 -39
- package/dist/commands/suggestions/list.js.map +7 -1
- package/dist/commands/suggestions/refresh.js +26 -11
- package/dist/commands/suggestions/refresh.js.map +7 -1
- package/dist/cursor-BGQJ4CWI.js +134 -0
- package/dist/cursor-BGQJ4CWI.js.map +7 -0
- package/dist/dashboard/Dashboard.js +229 -126
- package/dist/dashboard/Dashboard.js.map +7 -1
- package/dist/dashboard/data.js +13 -137
- package/dist/dashboard/data.js.map +7 -1
- package/dist/dashboard/launcher/ActiveJobsList.js +10 -0
- package/dist/dashboard/launcher/ActiveJobsList.js.map +7 -0
- package/dist/dashboard/launcher/LauncherOverlay.js +14 -0
- package/dist/dashboard/launcher/LauncherOverlay.js.map +7 -0
- package/dist/dashboard/launcher/NewLaunchForm.js +10 -0
- package/dist/dashboard/launcher/NewLaunchForm.js.map +7 -0
- package/dist/dashboard/launcher/api.js +14 -0
- package/dist/dashboard/launcher/api.js.map +7 -0
- package/dist/dashboard/launcher/tool-labels.js +10 -0
- package/dist/dashboard/launcher/tool-labels.js.map +7 -0
- package/dist/dashboard/launcher/types.js +1 -0
- package/dist/dashboard/launcher/types.js.map +7 -0
- package/dist/dashboard/launcher/useLaunchJobs.js +9 -0
- package/dist/dashboard/launcher/useLaunchJobs.js.map +7 -0
- package/dist/dashboard/panels/friction.js +10 -22
- package/dist/dashboard/panels/friction.js.map +7 -1
- package/dist/dashboard/panels/insights.js +10 -109
- package/dist/dashboard/panels/insights.js.map +7 -1
- package/dist/dashboard/panels/instructions.js +10 -17
- package/dist/dashboard/panels/instructions.js.map +7 -1
- package/dist/dashboard/panels/outcomes.js +9 -28
- package/dist/dashboard/panels/outcomes.js.map +7 -1
- package/dist/dashboard/panels/overview.js +10 -20
- package/dist/dashboard/panels/overview.js.map +7 -1
- package/dist/dashboard/panels/shared.js +18 -61
- package/dist/dashboard/panels/shared.js.map +7 -1
- package/dist/dashboard/types.js +23 -26
- package/dist/dashboard/types.js.map +7 -1
- package/dist/dist-CSUYFYKI.js +52 -0
- package/dist/dist-CSUYFYKI.js.map +7 -0
- package/dist/index.js +8 -2
- package/dist/index.js.map +7 -1
- package/dist/lib/active-org-refresh.js +15 -108
- package/dist/lib/active-org-refresh.js.map +7 -1
- package/dist/lib/active-org.js +15 -95
- package/dist/lib/active-org.js.map +7 -1
- package/dist/lib/agent-loop.js +44 -0
- package/dist/lib/agent-loop.js.map +7 -0
- package/dist/lib/antigravity-transcript.js +22 -0
- package/dist/lib/antigravity-transcript.js.map +7 -0
- package/dist/lib/api-client.js +21 -92
- package/dist/lib/api-client.js.map +7 -1
- package/dist/lib/auth.js +26 -137
- package/dist/lib/auth.js.map +7 -1
- package/dist/lib/detect-languages.js +8 -113
- package/dist/lib/detect-languages.js.map +7 -1
- package/dist/lib/detect-tmux.js +9 -0
- package/dist/lib/detect-tmux.js.map +7 -0
- package/dist/lib/eval-analyzer.js +9 -89
- package/dist/lib/eval-analyzer.js.map +7 -1
- package/dist/lib/eval-benchmark.js +12 -92
- package/dist/lib/eval-benchmark.js.map +7 -1
- package/dist/lib/eval-conversation-handler.js +13 -200
- package/dist/lib/eval-conversation-handler.js.map +7 -1
- package/dist/lib/eval-executor.js +8 -83
- package/dist/lib/eval-executor.js.map +7 -1
- package/dist/lib/eval-grader.js +9 -123
- package/dist/lib/eval-grader.js.map +7 -1
- package/dist/lib/eval-meta-judge.js +9 -116
- package/dist/lib/eval-meta-judge.js.map +7 -1
- package/dist/lib/eval-trigger-tester.js +11 -96
- package/dist/lib/eval-trigger-tester.js.map +7 -1
- package/dist/lib/eval-worktree.js +8 -87
- package/dist/lib/eval-worktree.js.map +7 -1
- package/dist/lib/gateway-entry.js +20 -18
- package/dist/lib/gateway-entry.js.map +7 -1
- package/dist/lib/gateway-lifecycle.js +22 -97
- package/dist/lib/gateway-lifecycle.js.map +7 -1
- package/dist/lib/gateway.js +12 -216
- package/dist/lib/gateway.js.map +7 -1
- package/dist/lib/handlers/cron-close-stale-sessions.js +18 -7
- package/dist/lib/handlers/cron-close-stale-sessions.js.map +7 -1
- package/dist/lib/handlers/cron-data-integrity-audit.js +21 -15
- package/dist/lib/handlers/cron-data-integrity-audit.js.map +7 -1
- package/dist/lib/handlers/cron-refresh-skills.js +7 -90
- package/dist/lib/handlers/cron-refresh-skills.js.map +7 -1
- package/dist/lib/handlers/cron-suggest-instructions.js +14 -158
- package/dist/lib/handlers/cron-suggest-instructions.js.map +7 -1
- package/dist/lib/handlers/process-announcement.js +11 -0
- package/dist/lib/handlers/process-announcement.js.map +7 -0
- package/dist/lib/handlers/process-changelog.js +11 -0
- package/dist/lib/handlers/process-changelog.js.map +7 -0
- package/dist/lib/handlers/process-conversation.js +14 -35
- package/dist/lib/handlers/process-conversation.js.map +7 -1
- package/dist/lib/handlers/process-eval.js +15 -207
- package/dist/lib/handlers/process-eval.js.map +7 -1
- package/dist/lib/handlers/process-insights.js +14 -300
- package/dist/lib/handlers/process-insights.js.map +7 -1
- package/dist/lib/handlers/process-launch.js +16 -41
- package/dist/lib/handlers/process-launch.js.map +7 -1
- package/dist/lib/handlers/process-run-cleanup.js +13 -0
- package/dist/lib/handlers/process-run-cleanup.js.map +7 -0
- package/dist/lib/handlers/process-send-message.js +10 -0
- package/dist/lib/handlers/process-send-message.js.map +7 -0
- package/dist/lib/handlers/process-session-goal.js +11 -74
- package/dist/lib/handlers/process-session-goal.js.map +7 -1
- package/dist/lib/hooks-config.js +52 -544
- package/dist/lib/hooks-config.js.map +7 -1
- package/dist/lib/insights-prompts.js +12 -145
- package/dist/lib/insights-prompts.js.map +7 -1
- package/dist/lib/job-helpers.js +1 -0
- package/dist/lib/job-helpers.js.map +7 -0
- package/dist/lib/llm-client.js +16 -274
- package/dist/lib/llm-client.js.map +7 -1
- package/dist/lib/manual-tasks.js +22 -0
- package/dist/lib/manual-tasks.js.map +7 -0
- package/dist/lib/output.js +12 -36
- package/dist/lib/output.js.map +7 -1
- package/dist/lib/permanent-job-error.js +10 -23
- package/dist/lib/permanent-job-error.js.map +7 -1
- package/dist/lib/provider-aggregator.js +57 -55
- package/dist/lib/provider-aggregator.js.map +7 -1
- package/dist/lib/research-client.js +12 -0
- package/dist/lib/research-client.js.map +7 -0
- package/dist/lib/skills-loader.js +8 -51
- package/dist/lib/skills-loader.js.map +7 -1
- package/dist/lib/statusline-shim.js +16 -0
- package/dist/lib/statusline-shim.js.map +7 -0
- package/dist/lib/terminal-target-heartbeat.js +15 -0
- package/dist/lib/terminal-target-heartbeat.js.map +7 -0
- package/dist/lib/tmux.js +16 -0
- package/dist/lib/tmux.js.map +7 -0
- package/dist/lib/transcript-rate-limit-watcher.js +22 -0
- package/dist/lib/transcript-rate-limit-watcher.js.map +7 -0
- package/dist/lib/types.js +8 -7
- package/dist/lib/types.js.map +7 -1
- package/dist/lib/version-check.js +10 -106
- package/dist/lib/version-check.js.map +7 -1
- package/dist/lib/which.js +8 -0
- package/dist/lib/which.js.map +7 -0
- package/dist/lib/worktree.js +17 -0
- package/dist/lib/worktree.js.map +7 -0
- package/dist/opencode-IQ7X5YMJ.js +190 -0
- package/dist/opencode-IQ7X5YMJ.js.map +7 -0
- package/oclif.manifest.json +299 -66
- package/package.json +27 -11
- package/dist/base-command.d.ts +0 -12
- package/dist/base-command.d.ts.map +0 -1
- package/dist/commands/auth/create-key.d.ts +0 -11
- package/dist/commands/auth/create-key.d.ts.map +0 -1
- package/dist/commands/auth/login.d.ts +0 -11
- package/dist/commands/auth/login.d.ts.map +0 -1
- package/dist/commands/auth/logout.d.ts +0 -7
- package/dist/commands/auth/logout.d.ts.map +0 -1
- package/dist/commands/auth/revoke-key.d.ts +0 -10
- package/dist/commands/auth/revoke-key.d.ts.map +0 -1
- package/dist/commands/auth/status.d.ts +0 -7
- package/dist/commands/auth/status.d.ts.map +0 -1
- package/dist/commands/catalog/index.d.ts +0 -11
- package/dist/commands/catalog/index.d.ts.map +0 -1
- package/dist/commands/catalog/recommend.d.ts +0 -9
- package/dist/commands/catalog/recommend.d.ts.map +0 -1
- package/dist/commands/convert.d.ts +0 -15
- package/dist/commands/convert.d.ts.map +0 -1
- package/dist/commands/converters.d.ts +0 -12
- package/dist/commands/converters.d.ts.map +0 -1
- package/dist/commands/crons/list.d.ts +0 -7
- package/dist/commands/crons/list.d.ts.map +0 -1
- package/dist/commands/crons/run.d.ts +0 -13
- package/dist/commands/crons/run.d.ts.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -10
- package/dist/commands/dashboard.d.ts.map +0 -1
- package/dist/commands/eval-targets/create.d.ts +0 -14
- package/dist/commands/eval-targets/create.d.ts.map +0 -1
- package/dist/commands/eval-targets/list.d.ts +0 -10
- package/dist/commands/eval-targets/list.d.ts.map +0 -1
- package/dist/commands/evals/benchmark.d.ts +0 -13
- package/dist/commands/evals/benchmark.d.ts.map +0 -1
- package/dist/commands/evals/compare.d.ts +0 -15
- package/dist/commands/evals/compare.d.ts.map +0 -1
- package/dist/commands/evals/create.d.ts +0 -17
- package/dist/commands/evals/create.d.ts.map +0 -1
- package/dist/commands/evals/listen.d.ts +0 -37
- package/dist/commands/evals/listen.d.ts.map +0 -1
- package/dist/commands/evals/listen.js +0 -188
- package/dist/commands/evals/listen.js.map +0 -1
- package/dist/commands/evals/listen.test.d.ts +0 -2
- package/dist/commands/evals/listen.test.d.ts.map +0 -1
- package/dist/commands/evals/listen.test.js +0 -48
- package/dist/commands/evals/listen.test.js.map +0 -1
- package/dist/commands/evals/optimize-description.d.ts +0 -22
- package/dist/commands/evals/optimize-description.d.ts.map +0 -1
- package/dist/commands/evals/optimize.d.ts +0 -22
- package/dist/commands/evals/optimize.d.ts.map +0 -1
- package/dist/commands/evals/run.d.ts +0 -21
- package/dist/commands/evals/run.d.ts.map +0 -1
- package/dist/commands/gateway/ensure.d.ts +0 -7
- package/dist/commands/gateway/ensure.d.ts.map +0 -1
- package/dist/commands/hooks/install.d.ts +0 -16
- package/dist/commands/hooks/install.d.ts.map +0 -1
- package/dist/commands/hooks/run.d.ts +0 -11
- package/dist/commands/hooks/run.d.ts.map +0 -1
- package/dist/commands/hooks/uninstall.d.ts +0 -7
- package/dist/commands/hooks/uninstall.d.ts.map +0 -1
- package/dist/commands/import.d.ts +0 -17
- package/dist/commands/import.d.ts.map +0 -1
- package/dist/commands/instructions/create.d.ts +0 -17
- package/dist/commands/instructions/create.d.ts.map +0 -1
- package/dist/commands/instructions/delete.d.ts +0 -13
- package/dist/commands/instructions/delete.d.ts.map +0 -1
- package/dist/commands/instructions/fork.d.ts +0 -10
- package/dist/commands/instructions/fork.d.ts.map +0 -1
- package/dist/commands/instructions/get.d.ts +0 -15
- package/dist/commands/instructions/get.d.ts.map +0 -1
- package/dist/commands/instructions/list.d.ts +0 -12
- package/dist/commands/instructions/list.d.ts.map +0 -1
- package/dist/commands/instructions/promote.d.ts +0 -14
- package/dist/commands/instructions/promote.d.ts.map +0 -1
- package/dist/commands/instructions/pull.d.ts +0 -9
- package/dist/commands/instructions/pull.d.ts.map +0 -1
- package/dist/commands/instructions/upstream.d.ts +0 -9
- package/dist/commands/instructions/upstream.d.ts.map +0 -1
- package/dist/commands/instructions/versions.d.ts +0 -12
- package/dist/commands/instructions/versions.d.ts.map +0 -1
- package/dist/commands/org/current.d.ts +0 -7
- package/dist/commands/org/current.d.ts.map +0 -1
- package/dist/commands/org/list.d.ts +0 -7
- package/dist/commands/org/list.d.ts.map +0 -1
- package/dist/commands/org/switch.d.ts +0 -13
- package/dist/commands/org/switch.d.ts.map +0 -1
- package/dist/commands/packs/add-instruction.d.ts +0 -11
- package/dist/commands/packs/add-instruction.d.ts.map +0 -1
- package/dist/commands/packs/apply.d.ts +0 -13
- package/dist/commands/packs/apply.d.ts.map +0 -1
- package/dist/commands/packs/create.d.ts +0 -13
- package/dist/commands/packs/create.d.ts.map +0 -1
- package/dist/commands/packs/fork.d.ts +0 -10
- package/dist/commands/packs/fork.d.ts.map +0 -1
- package/dist/commands/packs/get.d.ts +0 -10
- package/dist/commands/packs/get.d.ts.map +0 -1
- package/dist/commands/packs/list.d.ts +0 -22
- package/dist/commands/packs/list.d.ts.map +0 -1
- package/dist/commands/packs/remove-instruction.d.ts +0 -11
- package/dist/commands/packs/remove-instruction.d.ts.map +0 -1
- package/dist/commands/proxy/env.d.ts +0 -14
- package/dist/commands/proxy/env.d.ts.map +0 -1
- package/dist/commands/proxy/logs.d.ts +0 -11
- package/dist/commands/proxy/logs.d.ts.map +0 -1
- package/dist/commands/proxy/restart.d.ts +0 -11
- package/dist/commands/proxy/restart.d.ts.map +0 -1
- package/dist/commands/proxy/setup.d.ts +0 -23
- package/dist/commands/proxy/setup.d.ts.map +0 -1
- package/dist/commands/proxy/start.d.ts +0 -17
- package/dist/commands/proxy/start.d.ts.map +0 -1
- package/dist/commands/proxy/status.d.ts +0 -7
- package/dist/commands/proxy/status.d.ts.map +0 -1
- package/dist/commands/proxy/stop.d.ts +0 -8
- package/dist/commands/proxy/stop.d.ts.map +0 -1
- package/dist/commands/service/install.d.ts +0 -33
- package/dist/commands/service/install.d.ts.map +0 -1
- package/dist/commands/service/install.test.d.ts +0 -2
- package/dist/commands/service/install.test.d.ts.map +0 -1
- package/dist/commands/service/install.test.js +0 -345
- package/dist/commands/service/install.test.js.map +0 -1
- package/dist/commands/service/status.d.ts +0 -6
- package/dist/commands/service/status.d.ts.map +0 -1
- package/dist/commands/service/uninstall.d.ts +0 -6
- package/dist/commands/service/uninstall.d.ts.map +0 -1
- package/dist/commands/sessions/analyze.d.ts +0 -10
- package/dist/commands/sessions/analyze.d.ts.map +0 -1
- package/dist/commands/sessions/end.d.ts +0 -9
- package/dist/commands/sessions/end.d.ts.map +0 -1
- package/dist/commands/sessions/import.d.ts +0 -13
- package/dist/commands/sessions/import.d.ts.map +0 -1
- package/dist/commands/sessions/list.d.ts +0 -11
- package/dist/commands/sessions/list.d.ts.map +0 -1
- package/dist/commands/sessions/start.d.ts +0 -11
- package/dist/commands/sessions/start.d.ts.map +0 -1
- package/dist/commands/signals/report.d.ts +0 -10
- package/dist/commands/signals/report.d.ts.map +0 -1
- package/dist/commands/signals/report.test.d.ts +0 -2
- package/dist/commands/signals/report.test.d.ts.map +0 -1
- package/dist/commands/signals/report.test.js +0 -65
- package/dist/commands/signals/report.test.js.map +0 -1
- package/dist/commands/skills/export-approved.d.ts +0 -10
- package/dist/commands/skills/export-approved.d.ts.map +0 -1
- package/dist/commands/skills/install.d.ts +0 -15
- package/dist/commands/skills/install.d.ts.map +0 -1
- package/dist/commands/skills/list.d.ts +0 -11
- package/dist/commands/skills/list.d.ts.map +0 -1
- package/dist/commands/skills/publish.d.ts +0 -17
- package/dist/commands/skills/publish.d.ts.map +0 -1
- package/dist/commands/skills/search.d.ts +0 -17
- package/dist/commands/skills/search.d.ts.map +0 -1
- package/dist/commands/skills/update.d.ts +0 -10
- package/dist/commands/skills/update.d.ts.map +0 -1
- package/dist/commands/suggestions/accept.d.ts +0 -16
- package/dist/commands/suggestions/accept.d.ts.map +0 -1
- package/dist/commands/suggestions/accept.test.d.ts +0 -2
- package/dist/commands/suggestions/accept.test.d.ts.map +0 -1
- package/dist/commands/suggestions/accept.test.js +0 -52
- package/dist/commands/suggestions/accept.test.js.map +0 -1
- package/dist/commands/suggestions/dismiss.d.ts +0 -10
- package/dist/commands/suggestions/dismiss.d.ts.map +0 -1
- package/dist/commands/suggestions/list.d.ts +0 -10
- package/dist/commands/suggestions/list.d.ts.map +0 -1
- package/dist/commands/suggestions/refresh.d.ts +0 -7
- package/dist/commands/suggestions/refresh.d.ts.map +0 -1
- package/dist/dashboard/Dashboard.d.ts +0 -3
- package/dist/dashboard/Dashboard.d.ts.map +0 -1
- package/dist/dashboard/data.d.ts +0 -11
- package/dist/dashboard/data.d.ts.map +0 -1
- package/dist/dashboard/panels/friction.d.ts +0 -7
- package/dist/dashboard/panels/friction.d.ts.map +0 -1
- package/dist/dashboard/panels/insights.d.ts +0 -8
- package/dist/dashboard/panels/insights.d.ts.map +0 -1
- package/dist/dashboard/panels/instructions.d.ts +0 -9
- package/dist/dashboard/panels/instructions.d.ts.map +0 -1
- package/dist/dashboard/panels/outcomes.d.ts +0 -7
- package/dist/dashboard/panels/outcomes.d.ts.map +0 -1
- package/dist/dashboard/panels/overview.d.ts +0 -8
- package/dist/dashboard/panels/overview.d.ts.map +0 -1
- package/dist/dashboard/panels/shared.d.ts +0 -17
- package/dist/dashboard/panels/shared.d.ts.map +0 -1
- package/dist/dashboard/types.d.ts +0 -80
- package/dist/dashboard/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/active-org-refresh.d.ts +0 -22
- package/dist/lib/active-org-refresh.d.ts.map +0 -1
- package/dist/lib/active-org-refresh.test.d.ts +0 -2
- package/dist/lib/active-org-refresh.test.d.ts.map +0 -1
- package/dist/lib/active-org-refresh.test.js +0 -190
- package/dist/lib/active-org-refresh.test.js.map +0 -1
- package/dist/lib/active-org.d.ts +0 -43
- package/dist/lib/active-org.d.ts.map +0 -1
- package/dist/lib/active-org.test.d.ts +0 -2
- package/dist/lib/active-org.test.d.ts.map +0 -1
- package/dist/lib/active-org.test.js +0 -147
- package/dist/lib/active-org.test.js.map +0 -1
- package/dist/lib/api-client.d.ts +0 -17
- package/dist/lib/api-client.d.ts.map +0 -1
- package/dist/lib/api-client.test.d.ts +0 -2
- package/dist/lib/api-client.test.d.ts.map +0 -1
- package/dist/lib/api-client.test.js +0 -161
- package/dist/lib/api-client.test.js.map +0 -1
- package/dist/lib/auth.d.ts +0 -27
- package/dist/lib/auth.d.ts.map +0 -1
- package/dist/lib/auth.test.d.ts +0 -2
- package/dist/lib/auth.test.d.ts.map +0 -1
- package/dist/lib/auth.test.js +0 -110
- package/dist/lib/auth.test.js.map +0 -1
- package/dist/lib/cron-registry.d.ts +0 -47
- package/dist/lib/cron-registry.d.ts.map +0 -1
- package/dist/lib/cron-registry.js +0 -102
- package/dist/lib/cron-registry.js.map +0 -1
- package/dist/lib/cron-registry.test.d.ts +0 -2
- package/dist/lib/cron-registry.test.d.ts.map +0 -1
- package/dist/lib/cron-registry.test.js +0 -136
- package/dist/lib/cron-registry.test.js.map +0 -1
- package/dist/lib/cron-runner.d.ts +0 -16
- package/dist/lib/cron-runner.d.ts.map +0 -1
- package/dist/lib/cron-runner.js +0 -68
- package/dist/lib/cron-runner.js.map +0 -1
- package/dist/lib/detect-languages.d.ts +0 -7
- package/dist/lib/detect-languages.d.ts.map +0 -1
- package/dist/lib/detect-languages.test.d.ts +0 -2
- package/dist/lib/detect-languages.test.d.ts.map +0 -1
- package/dist/lib/detect-languages.test.js +0 -29
- package/dist/lib/detect-languages.test.js.map +0 -1
- package/dist/lib/eval-analyzer.d.ts +0 -23
- package/dist/lib/eval-analyzer.d.ts.map +0 -1
- package/dist/lib/eval-benchmark.d.ts +0 -17
- package/dist/lib/eval-benchmark.d.ts.map +0 -1
- package/dist/lib/eval-conversation-handler.d.ts +0 -9
- package/dist/lib/eval-conversation-handler.d.ts.map +0 -1
- package/dist/lib/eval-executor.d.ts +0 -21
- package/dist/lib/eval-executor.d.ts.map +0 -1
- package/dist/lib/eval-executor.test.d.ts +0 -2
- package/dist/lib/eval-executor.test.d.ts.map +0 -1
- package/dist/lib/eval-executor.test.js +0 -8
- package/dist/lib/eval-executor.test.js.map +0 -1
- package/dist/lib/eval-grader.d.ts +0 -38
- package/dist/lib/eval-grader.d.ts.map +0 -1
- package/dist/lib/eval-grader.test.d.ts +0 -2
- package/dist/lib/eval-grader.test.d.ts.map +0 -1
- package/dist/lib/eval-grader.test.js +0 -8
- package/dist/lib/eval-grader.test.js.map +0 -1
- package/dist/lib/eval-meta-judge.d.ts +0 -28
- package/dist/lib/eval-meta-judge.d.ts.map +0 -1
- package/dist/lib/eval-trigger-tester.d.ts +0 -19
- package/dist/lib/eval-trigger-tester.d.ts.map +0 -1
- package/dist/lib/eval-worktree.d.ts +0 -11
- package/dist/lib/eval-worktree.d.ts.map +0 -1
- package/dist/lib/eval-worktree.test.d.ts +0 -2
- package/dist/lib/eval-worktree.test.d.ts.map +0 -1
- package/dist/lib/eval-worktree.test.js +0 -68
- package/dist/lib/eval-worktree.test.js.map +0 -1
- package/dist/lib/gateway-entry.d.ts +0 -3
- package/dist/lib/gateway-entry.d.ts.map +0 -1
- package/dist/lib/gateway-lifecycle.d.ts +0 -9
- package/dist/lib/gateway-lifecycle.d.ts.map +0 -1
- package/dist/lib/gateway.d.ts +0 -11
- package/dist/lib/gateway.d.ts.map +0 -1
- package/dist/lib/graphile-worker-runner.d.ts +0 -124
- package/dist/lib/graphile-worker-runner.d.ts.map +0 -1
- package/dist/lib/graphile-worker-runner.js +0 -530
- package/dist/lib/graphile-worker-runner.js.map +0 -1
- package/dist/lib/graphile-worker-runner.test.d.ts +0 -2
- package/dist/lib/graphile-worker-runner.test.d.ts.map +0 -1
- package/dist/lib/graphile-worker-runner.test.js +0 -153
- package/dist/lib/graphile-worker-runner.test.js.map +0 -1
- package/dist/lib/handlers/cron-close-stale-sessions.d.ts +0 -3
- package/dist/lib/handlers/cron-close-stale-sessions.d.ts.map +0 -1
- package/dist/lib/handlers/cron-data-integrity-audit.d.ts +0 -3
- package/dist/lib/handlers/cron-data-integrity-audit.d.ts.map +0 -1
- package/dist/lib/handlers/cron-refresh-skills.d.ts +0 -3
- package/dist/lib/handlers/cron-refresh-skills.d.ts.map +0 -1
- package/dist/lib/handlers/cron-refresh-skills.test.d.ts +0 -2
- package/dist/lib/handlers/cron-refresh-skills.test.d.ts.map +0 -1
- package/dist/lib/handlers/cron-refresh-skills.test.js +0 -114
- package/dist/lib/handlers/cron-refresh-skills.test.js.map +0 -1
- package/dist/lib/handlers/cron-regenerate-insights.d.ts +0 -3
- package/dist/lib/handlers/cron-regenerate-insights.d.ts.map +0 -1
- package/dist/lib/handlers/cron-regenerate-insights.js +0 -6
- package/dist/lib/handlers/cron-regenerate-insights.js.map +0 -1
- package/dist/lib/handlers/cron-suggest-instructions.d.ts +0 -3
- package/dist/lib/handlers/cron-suggest-instructions.d.ts.map +0 -1
- package/dist/lib/handlers/cron-suggest-instructions.test.d.ts +0 -2
- package/dist/lib/handlers/cron-suggest-instructions.test.d.ts.map +0 -1
- package/dist/lib/handlers/cron-suggest-instructions.test.js +0 -80
- package/dist/lib/handlers/cron-suggest-instructions.test.js.map +0 -1
- package/dist/lib/handlers/process-conversation.d.ts +0 -35
- package/dist/lib/handlers/process-conversation.d.ts.map +0 -1
- package/dist/lib/handlers/process-eval.d.ts +0 -32
- package/dist/lib/handlers/process-eval.d.ts.map +0 -1
- package/dist/lib/handlers/process-insights.d.ts +0 -39
- package/dist/lib/handlers/process-insights.d.ts.map +0 -1
- package/dist/lib/handlers/process-launch.d.ts +0 -29
- package/dist/lib/handlers/process-launch.d.ts.map +0 -1
- package/dist/lib/handlers/process-session-goal.d.ts +0 -29
- package/dist/lib/handlers/process-session-goal.d.ts.map +0 -1
- package/dist/lib/handlers/process-session-goal.test.d.ts +0 -2
- package/dist/lib/handlers/process-session-goal.test.d.ts.map +0 -1
- package/dist/lib/handlers/process-session-goal.test.js +0 -134
- package/dist/lib/handlers/process-session-goal.test.js.map +0 -1
- package/dist/lib/hooks-config.d.ts +0 -119
- package/dist/lib/hooks-config.d.ts.map +0 -1
- package/dist/lib/hooks-config.test.d.ts +0 -2
- package/dist/lib/hooks-config.test.d.ts.map +0 -1
- package/dist/lib/hooks-config.test.js +0 -231
- package/dist/lib/hooks-config.test.js.map +0 -1
- package/dist/lib/insights-prompts.d.ts +0 -13
- package/dist/lib/insights-prompts.d.ts.map +0 -1
- package/dist/lib/llm-client.d.ts +0 -26
- package/dist/lib/llm-client.d.ts.map +0 -1
- package/dist/lib/llm-client.test.d.ts +0 -2
- package/dist/lib/llm-client.test.d.ts.map +0 -1
- package/dist/lib/llm-client.test.js +0 -62
- package/dist/lib/llm-client.test.js.map +0 -1
- package/dist/lib/mirror-writer-db.d.ts +0 -12
- package/dist/lib/mirror-writer-db.d.ts.map +0 -1
- package/dist/lib/mirror-writer-db.js +0 -51
- package/dist/lib/mirror-writer-db.js.map +0 -1
- package/dist/lib/mirror-writer.d.ts +0 -35
- package/dist/lib/mirror-writer.d.ts.map +0 -1
- package/dist/lib/mirror-writer.js +0 -27
- package/dist/lib/mirror-writer.js.map +0 -1
- package/dist/lib/mirror-writer.test.d.ts +0 -2
- package/dist/lib/mirror-writer.test.d.ts.map +0 -1
- package/dist/lib/mirror-writer.test.js +0 -47
- package/dist/lib/mirror-writer.test.js.map +0 -1
- package/dist/lib/output.d.ts +0 -4
- package/dist/lib/output.d.ts.map +0 -1
- package/dist/lib/output.test.d.ts +0 -2
- package/dist/lib/output.test.d.ts.map +0 -1
- package/dist/lib/output.test.js +0 -71
- package/dist/lib/output.test.js.map +0 -1
- package/dist/lib/permanent-job-error.d.ts +0 -17
- package/dist/lib/permanent-job-error.d.ts.map +0 -1
- package/dist/lib/permanent-job-error.test.d.ts +0 -2
- package/dist/lib/permanent-job-error.test.d.ts.map +0 -1
- package/dist/lib/permanent-job-error.test.js +0 -29
- package/dist/lib/permanent-job-error.test.js.map +0 -1
- package/dist/lib/provider-aggregator.d.ts +0 -24
- package/dist/lib/provider-aggregator.d.ts.map +0 -1
- package/dist/lib/provider-aggregator.test.d.ts +0 -2
- package/dist/lib/provider-aggregator.test.d.ts.map +0 -1
- package/dist/lib/provider-aggregator.test.js +0 -103
- package/dist/lib/provider-aggregator.test.js.map +0 -1
- package/dist/lib/skills-loader.d.ts +0 -6
- package/dist/lib/skills-loader.d.ts.map +0 -1
- package/dist/lib/types.d.ts +0 -48
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/version-check.d.ts +0 -11
- package/dist/lib/version-check.d.ts.map +0 -1
- package/dist/test-helpers.d.ts +0 -58
- package/dist/test-helpers.d.ts.map +0 -1
- package/dist/test-helpers.js +0 -58
- package/dist/test-helpers.js.map +0 -1
|
@@ -1,91 +1,106 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
const projectDir = path.resolve(flags.dir);
|
|
44
|
-
const tool = flags.tool ?? detectProjectTool(projectDir) ?? skill.tools[0];
|
|
45
|
-
const targetPath = getTargetPath(projectDir, tool, skill.id);
|
|
46
|
-
if (!targetPath) {
|
|
47
|
-
this.error(`Cannot determine install path for tool "${tool}"`);
|
|
48
|
-
}
|
|
49
|
-
// Ensure directory exists
|
|
50
|
-
const targetDir = path.dirname(targetPath);
|
|
51
|
-
if (!fs.existsSync(targetDir)) {
|
|
52
|
-
fs.mkdirSync(targetDir, { recursive: true });
|
|
53
|
-
}
|
|
54
|
-
if (fs.existsSync(targetPath)) {
|
|
55
|
-
this.warn(`File already exists: ${targetPath}`);
|
|
56
|
-
this.log(' Use --preview to view the skill content first.');
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
fs.writeFileSync(targetPath, skill.content);
|
|
60
|
-
this.log(`Installed "${skill.name}" to ${path.relative(projectDir, targetPath)}`);
|
|
61
|
-
this.log(` Source: ${skill.source.url}`);
|
|
1
|
+
import {
|
|
2
|
+
loadRegistry
|
|
3
|
+
} from "../../chunk-4BHDHHKL.js";
|
|
4
|
+
import {
|
|
5
|
+
BaseCommand
|
|
6
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
7
|
+
import "../../chunk-OGVORIFM.js";
|
|
8
|
+
import "../../chunk-2AM54TUK.js";
|
|
9
|
+
import "../../chunk-EJOI2ZGU.js";
|
|
10
|
+
import "../../chunk-KZRFUXGF.js";
|
|
11
|
+
import "../../chunk-EKJ2CABV.js";
|
|
12
|
+
import "../../chunk-NSBPE2FW.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/skills/install.ts
|
|
15
|
+
import * as fs from "node:fs";
|
|
16
|
+
import * as path from "node:path";
|
|
17
|
+
import { Args, Flags } from "@oclif/core";
|
|
18
|
+
var SkillsInstall = class _SkillsInstall extends BaseCommand {
|
|
19
|
+
static description = "Install a skill from the registry into your project";
|
|
20
|
+
static examples = [
|
|
21
|
+
"<%= config.bin %> skills install tdd-workflow",
|
|
22
|
+
"<%= config.bin %> skills install tdd-workflow --tool cursor",
|
|
23
|
+
"<%= config.bin %> skills install tdd-workflow --preview"
|
|
24
|
+
];
|
|
25
|
+
static args = {
|
|
26
|
+
id: Args.string({ description: "Skill ID to install", required: true })
|
|
27
|
+
};
|
|
28
|
+
static flags = {
|
|
29
|
+
tool: Flags.string({
|
|
30
|
+
description: "Target tool format",
|
|
31
|
+
options: ["claude_code", "cursor", "copilot"]
|
|
32
|
+
}),
|
|
33
|
+
preview: Flags.boolean({ description: "Preview content without writing", default: false }),
|
|
34
|
+
dir: Flags.string({ description: "Project directory", default: "." })
|
|
35
|
+
};
|
|
36
|
+
async run() {
|
|
37
|
+
const { args, flags } = await this.parse(_SkillsInstall);
|
|
38
|
+
const catalog = await loadRegistry(this);
|
|
39
|
+
const skill = catalog.get(args.id);
|
|
40
|
+
if (!skill) {
|
|
41
|
+
this.error(`Skill "${args.id}" not found. Try: rulemetric skills search`);
|
|
62
42
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
43
|
+
if (flags.preview) {
|
|
44
|
+
this.log(`
|
|
45
|
+
${skill.name}`);
|
|
46
|
+
this.log(`${"\u2500".repeat(skill.name.length)}`);
|
|
47
|
+
this.log(`Category: ${skill.category}`);
|
|
48
|
+
this.log(`Tools: ${skill.tools.join(", ")}`);
|
|
49
|
+
this.log(`Source: ${skill.source.url}
|
|
50
|
+
`);
|
|
51
|
+
this.log(skill.content.slice(0, 2e3));
|
|
52
|
+
if (skill.content.length > 2e3) {
|
|
53
|
+
this.log(`
|
|
54
|
+
... (${skill.content.length - 2e3} more characters)`);
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const projectDir = path.resolve(flags.dir);
|
|
59
|
+
const tool = flags.tool ?? detectProjectTool(projectDir) ?? skill.tools[0];
|
|
60
|
+
const targetPath = getTargetPath(projectDir, tool, skill.id);
|
|
61
|
+
if (!targetPath) {
|
|
62
|
+
this.error(`Cannot determine install path for tool "${tool}"`);
|
|
68
63
|
}
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
const targetDir = path.dirname(targetPath);
|
|
65
|
+
if (!fs.existsSync(targetDir)) {
|
|
66
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
71
67
|
}
|
|
72
|
-
if (fs.existsSync(
|
|
73
|
-
|
|
68
|
+
if (fs.existsSync(targetPath)) {
|
|
69
|
+
this.warn(`File already exists: ${targetPath}`);
|
|
70
|
+
this.log(" Use --preview to view the skill content first.");
|
|
71
|
+
return;
|
|
74
72
|
}
|
|
75
|
-
|
|
73
|
+
fs.writeFileSync(targetPath, skill.content);
|
|
74
|
+
this.log(`Installed "${skill.name}" to ${path.relative(projectDir, targetPath)}`);
|
|
75
|
+
this.log(` Source: ${skill.source.url}`);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
function detectProjectTool(dir) {
|
|
79
|
+
if (fs.existsSync(path.join(dir, "CLAUDE.md")) || fs.existsSync(path.join(dir, ".claude"))) {
|
|
80
|
+
return "claude_code";
|
|
81
|
+
}
|
|
82
|
+
if (fs.existsSync(path.join(dir, ".cursorrules")) || fs.existsSync(path.join(dir, ".cursor"))) {
|
|
83
|
+
return "cursor";
|
|
84
|
+
}
|
|
85
|
+
if (fs.existsSync(path.join(dir, ".github", "copilot-instructions.md"))) {
|
|
86
|
+
return "copilot";
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
76
89
|
}
|
|
77
|
-
/** Determine the file path to write a skill based on the target tool. */
|
|
78
90
|
function getTargetPath(dir, tool, skillId) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
const safeName = skillId.replace(/[^a-z0-9-]/g, "-");
|
|
92
|
+
switch (tool) {
|
|
93
|
+
case "claude_code":
|
|
94
|
+
return path.join(dir, ".claude", "skills", `${safeName}.md`);
|
|
95
|
+
case "cursor":
|
|
96
|
+
return path.join(dir, ".cursor", "rules", `${safeName}.mdc`);
|
|
97
|
+
case "copilot":
|
|
98
|
+
return path.join(dir, ".github", "agents", `${safeName}.md`);
|
|
99
|
+
default:
|
|
100
|
+
return path.join(dir, ".claude", "skills", `${safeName}.md`);
|
|
101
|
+
}
|
|
90
102
|
}
|
|
91
|
-
|
|
103
|
+
export {
|
|
104
|
+
SkillsInstall as default
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/skills/install.ts"],
|
|
4
|
+
"sourcesContent": ["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { loadRegistry } from '../../lib/skills-loader.js';\n\nexport default class SkillsInstall extends BaseCommand {\n static override description = 'Install a skill from the registry into your project';\n\n static override examples = [\n '<%= config.bin %> skills install tdd-workflow',\n '<%= config.bin %> skills install tdd-workflow --tool cursor',\n '<%= config.bin %> skills install tdd-workflow --preview',\n ];\n\n static override args = {\n id: Args.string({ description: 'Skill ID to install', required: true }),\n };\n\n static override flags = {\n tool: Flags.string({\n description: 'Target tool format',\n options: ['claude_code', 'cursor', 'copilot'],\n }),\n preview: Flags.boolean({ description: 'Preview content without writing', default: false }),\n dir: Flags.string({ description: 'Project directory', default: '.' }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(SkillsInstall);\n\n const catalog = await loadRegistry(this);\n const skill = catalog.get(args.id);\n\n if (!skill) {\n this.error(`Skill \"${args.id}\" not found. Try: rulemetric skills search`);\n }\n\n if (flags.preview) {\n this.log(`\\n${skill.name}`);\n this.log(`${'\u2500'.repeat(skill.name.length)}`);\n this.log(`Category: ${skill.category}`);\n this.log(`Tools: ${skill.tools.join(', ')}`);\n this.log(`Source: ${skill.source.url}\\n`);\n this.log(skill.content.slice(0, 2000));\n if (skill.content.length > 2000) {\n this.log(`\\n... (${skill.content.length - 2000} more characters)`);\n }\n return;\n }\n\n const projectDir = path.resolve(flags.dir);\n const tool = flags.tool ?? detectProjectTool(projectDir) ?? skill.tools[0];\n\n const targetPath = getTargetPath(projectDir, tool, skill.id);\n if (!targetPath) {\n this.error(`Cannot determine install path for tool \"${tool}\"`);\n }\n\n // Ensure directory exists\n const targetDir = path.dirname(targetPath);\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n\n if (fs.existsSync(targetPath)) {\n this.warn(`File already exists: ${targetPath}`);\n this.log(' Use --preview to view the skill content first.');\n return;\n }\n\n fs.writeFileSync(targetPath, skill.content);\n this.log(`Installed \"${skill.name}\" to ${path.relative(projectDir, targetPath)}`);\n this.log(` Source: ${skill.source.url}`);\n }\n}\n\n/** Detect which AI tool the project is configured for. */\nfunction detectProjectTool(dir: string): string | null {\n if (fs.existsSync(path.join(dir, 'CLAUDE.md')) || fs.existsSync(path.join(dir, '.claude'))) {\n return 'claude_code';\n }\n if (fs.existsSync(path.join(dir, '.cursorrules')) || fs.existsSync(path.join(dir, '.cursor'))) {\n return 'cursor';\n }\n if (fs.existsSync(path.join(dir, '.github', 'copilot-instructions.md'))) {\n return 'copilot';\n }\n return null;\n}\n\n/** Determine the file path to write a skill based on the target tool. */\nfunction getTargetPath(dir: string, tool: string, skillId: string): string | null {\n const safeName = skillId.replace(/[^a-z0-9-]/g, '-');\n switch (tool) {\n case 'claude_code':\n return path.join(dir, '.claude', 'skills', `${safeName}.md`);\n case 'cursor':\n return path.join(dir, '.cursor', 'rules', `${safeName}.mdc`);\n case 'copilot':\n return path.join(dir, '.github', 'agents', `${safeName}.md`);\n default:\n return path.join(dir, '.claude', 'skills', `${safeName}.md`);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAS,MAAM,aAAa;AAI5B,IAAqB,gBAArB,MAAqB,uBAAsB,YAAY;AAAA,EACrD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,OAAO;AAAA,IACrB,IAAI,KAAK,OAAO,EAAE,aAAa,uBAAuB,UAAU,KAAK,CAAC;AAAA,EACxE;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,MAAM,MAAM,OAAO;AAAA,MACjB,aAAa;AAAA,MACb,SAAS,CAAC,eAAe,UAAU,SAAS;AAAA,IAC9C,CAAC;AAAA,IACD,SAAS,MAAM,QAAQ,EAAE,aAAa,mCAAmC,SAAS,MAAM,CAAC;AAAA,IACzF,KAAK,MAAM,OAAO,EAAE,aAAa,qBAAqB,SAAS,IAAI,CAAC;AAAA,EACtE;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,cAAa;AAEtD,UAAM,UAAU,MAAM,aAAa,IAAI;AACvC,UAAM,QAAQ,QAAQ,IAAI,KAAK,EAAE;AAEjC,QAAI,CAAC,OAAO;AACV,WAAK,MAAM,UAAU,KAAK,EAAE,4CAA4C;AAAA,IAC1E;AAEA,QAAI,MAAM,SAAS;AACjB,WAAK,IAAI;AAAA,EAAK,MAAM,IAAI,EAAE;AAC1B,WAAK,IAAI,GAAG,SAAI,OAAO,MAAM,KAAK,MAAM,CAAC,EAAE;AAC3C,WAAK,IAAI,aAAa,MAAM,QAAQ,EAAE;AACtC,WAAK,IAAI,UAAU,MAAM,MAAM,KAAK,IAAI,CAAC,EAAE;AAC3C,WAAK,IAAI,WAAW,MAAM,OAAO,GAAG;AAAA,CAAI;AACxC,WAAK,IAAI,MAAM,QAAQ,MAAM,GAAG,GAAI,CAAC;AACrC,UAAI,MAAM,QAAQ,SAAS,KAAM;AAC/B,aAAK,IAAI;AAAA,OAAU,MAAM,QAAQ,SAAS,GAAI,mBAAmB;AAAA,MACnE;AACA;AAAA,IACF;AAEA,UAAM,aAAkB,aAAQ,MAAM,GAAG;AACzC,UAAM,OAAO,MAAM,QAAQ,kBAAkB,UAAU,KAAK,MAAM,MAAM,CAAC;AAEzE,UAAM,aAAa,cAAc,YAAY,MAAM,MAAM,EAAE;AAC3D,QAAI,CAAC,YAAY;AACf,WAAK,MAAM,2CAA2C,IAAI,GAAG;AAAA,IAC/D;AAGA,UAAM,YAAiB,aAAQ,UAAU;AACzC,QAAI,CAAI,cAAW,SAAS,GAAG;AAC7B,MAAG,aAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAAA,IAC7C;AAEA,QAAO,cAAW,UAAU,GAAG;AAC7B,WAAK,KAAK,wBAAwB,UAAU,EAAE;AAC9C,WAAK,IAAI,kDAAkD;AAC3D;AAAA,IACF;AAEA,IAAG,iBAAc,YAAY,MAAM,OAAO;AAC1C,SAAK,IAAI,cAAc,MAAM,IAAI,QAAa,cAAS,YAAY,UAAU,CAAC,EAAE;AAChF,SAAK,IAAI,aAAa,MAAM,OAAO,GAAG,EAAE;AAAA,EAC1C;AACF;AAGA,SAAS,kBAAkB,KAA4B;AACrD,MAAO,cAAgB,UAAK,KAAK,WAAW,CAAC,KAAQ,cAAgB,UAAK,KAAK,SAAS,CAAC,GAAG;AAC1F,WAAO;AAAA,EACT;AACA,MAAO,cAAgB,UAAK,KAAK,cAAc,CAAC,KAAQ,cAAgB,UAAK,KAAK,SAAS,CAAC,GAAG;AAC7F,WAAO;AAAA,EACT;AACA,MAAO,cAAgB,UAAK,KAAK,WAAW,yBAAyB,CAAC,GAAG;AACvE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAGA,SAAS,cAAc,KAAa,MAAc,SAAgC;AAChF,QAAM,WAAW,QAAQ,QAAQ,eAAe,GAAG;AACnD,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAY,UAAK,KAAK,WAAW,UAAU,GAAG,QAAQ,KAAK;AAAA,IAC7D,KAAK;AACH,aAAY,UAAK,KAAK,WAAW,SAAS,GAAG,QAAQ,MAAM;AAAA,IAC7D,KAAK;AACH,aAAY,UAAK,KAAK,WAAW,UAAU,GAAG,QAAQ,KAAK;AAAA,IAC7D;AACE,aAAY,UAAK,KAAK,WAAW,UAAU,GAAG,QAAQ,KAAK;AAAA,EAC/D;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,47 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
import {
|
|
2
|
+
loadRegistry
|
|
3
|
+
} from "../../chunk-4BHDHHKL.js";
|
|
4
|
+
import {
|
|
5
|
+
BaseCommand
|
|
6
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
7
|
+
import "../../chunk-OGVORIFM.js";
|
|
8
|
+
import "../../chunk-2AM54TUK.js";
|
|
9
|
+
import "../../chunk-EJOI2ZGU.js";
|
|
10
|
+
import "../../chunk-KZRFUXGF.js";
|
|
11
|
+
import "../../chunk-EKJ2CABV.js";
|
|
12
|
+
import "../../chunk-NSBPE2FW.js";
|
|
13
|
+
|
|
14
|
+
// src/commands/skills/list.ts
|
|
15
|
+
import { Flags } from "@oclif/core";
|
|
16
|
+
var SkillsList = class _SkillsList extends BaseCommand {
|
|
17
|
+
static description = "List skills in the registry";
|
|
18
|
+
static examples = [
|
|
19
|
+
"<%= config.bin %> skills list",
|
|
20
|
+
"<%= config.bin %> skills list --stats"
|
|
21
|
+
];
|
|
22
|
+
static flags = {
|
|
23
|
+
stats: Flags.boolean({ description: "Show registry statistics", default: false }),
|
|
24
|
+
limit: Flags.integer({ description: "Max skills to show", default: 30 })
|
|
25
|
+
};
|
|
26
|
+
async run() {
|
|
27
|
+
const { flags } = await this.parse(_SkillsList);
|
|
28
|
+
const catalog = await loadRegistry(this);
|
|
29
|
+
if (flags.stats) {
|
|
30
|
+
this.log(`Skills Registry Statistics
|
|
31
|
+
`);
|
|
32
|
+
this.log(` Total skills: ${catalog.size}`);
|
|
33
|
+
this.log(` Categories: ${catalog.categories().join(", ")}`);
|
|
34
|
+
this.log(` Tools: ${catalog.tools().join(", ")}`);
|
|
35
|
+
this.log(` Top tags: ${catalog.tags().slice(0, 15).join(", ")}`);
|
|
36
|
+
return;
|
|
37
37
|
}
|
|
38
|
-
}
|
|
38
|
+
const skills = catalog.search({ limit: flags.limit });
|
|
39
|
+
if (skills.length === 0) {
|
|
40
|
+
this.log("Registry is empty. Run: rulemetric skills update");
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.log(`Showing ${skills.length} of ${catalog.size} skills (sorted by popularity):
|
|
44
|
+
`);
|
|
45
|
+
for (const skill of skills) {
|
|
46
|
+
const stars = skill.popularity?.stars ? `${formatStars(skill.popularity.stars)} stars` : "";
|
|
47
|
+
this.log(` ${pad(skill.id, 40)} ${pad(skill.category, 14)} ${stars}`);
|
|
48
|
+
}
|
|
49
|
+
this.log(`
|
|
50
|
+
Search: rulemetric skills search <query>`);
|
|
51
|
+
this.log(`Install: rulemetric skills install <id>`);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
39
54
|
function formatStars(n) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return String(n);
|
|
55
|
+
if (n >= 1e3) return `${(n / 1e3).toFixed(1)}k`;
|
|
56
|
+
return String(n);
|
|
43
57
|
}
|
|
44
58
|
function pad(s, n) {
|
|
45
|
-
|
|
59
|
+
return s.length > n ? s.slice(0, n - 1) + "\u2026" : s.padEnd(n);
|
|
46
60
|
}
|
|
47
|
-
|
|
61
|
+
export {
|
|
62
|
+
SkillsList as default
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/skills/list.ts"],
|
|
4
|
+
"sourcesContent": ["import { Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { loadRegistry } from '../../lib/skills-loader.js';\n\nexport default class SkillsList extends BaseCommand {\n static override description = 'List skills in the registry';\n\n static override examples = [\n '<%= config.bin %> skills list',\n '<%= config.bin %> skills list --stats',\n ];\n\n static override flags = {\n stats: Flags.boolean({ description: 'Show registry statistics', default: false }),\n limit: Flags.integer({ description: 'Max skills to show', default: 30 }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(SkillsList);\n\n const catalog = await loadRegistry(this);\n\n if (flags.stats) {\n this.log(`Skills Registry Statistics\\n`);\n this.log(` Total skills: ${catalog.size}`);\n this.log(` Categories: ${catalog.categories().join(', ')}`);\n this.log(` Tools: ${catalog.tools().join(', ')}`);\n this.log(` Top tags: ${catalog.tags().slice(0, 15).join(', ')}`);\n return;\n }\n\n const skills = catalog.search({ limit: flags.limit });\n\n if (skills.length === 0) {\n this.log('Registry is empty. Run: rulemetric skills update');\n return;\n }\n\n this.log(`Showing ${skills.length} of ${catalog.size} skills (sorted by popularity):\\n`);\n\n for (const skill of skills) {\n const stars = skill.popularity?.stars ? `${formatStars(skill.popularity.stars)} stars` : '';\n this.log(` ${pad(skill.id, 40)} ${pad(skill.category, 14)} ${stars}`);\n }\n\n this.log(`\\nSearch: rulemetric skills search <query>`);\n this.log(`Install: rulemetric skills install <id>`);\n }\n}\n\nfunction formatStars(n: number): string {\n if (n >= 1000) return `${(n / 1000).toFixed(1)}k`;\n return String(n);\n}\n\nfunction pad(s: string, n: number): string {\n return s.length > n ? s.slice(0, n - 1) + '\u2026' : s.padEnd(n);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAAA,SAAS,aAAa;AAItB,IAAqB,aAArB,MAAqB,oBAAmB,YAAY;AAAA,EAClD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,OAAO,MAAM,QAAQ,EAAE,aAAa,4BAA4B,SAAS,MAAM,CAAC;AAAA,IAChF,OAAO,MAAM,QAAQ,EAAE,aAAa,sBAAsB,SAAS,GAAG,CAAC;AAAA,EACzE;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,IAAI,MAAM,KAAK,MAAM,WAAU;AAE7C,UAAM,UAAU,MAAM,aAAa,IAAI;AAEvC,QAAI,MAAM,OAAO;AACf,WAAK,IAAI;AAAA,CAA8B;AACvC,WAAK,IAAI,mBAAmB,QAAQ,IAAI,EAAE;AAC1C,WAAK,IAAI,iBAAiB,QAAQ,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE;AAC3D,WAAK,IAAI,YAAY,QAAQ,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE;AACjD,WAAK,IAAI,eAAe,QAAQ,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE;AAChE;AAAA,IACF;AAEA,UAAM,SAAS,QAAQ,OAAO,EAAE,OAAO,MAAM,MAAM,CAAC;AAEpD,QAAI,OAAO,WAAW,GAAG;AACvB,WAAK,IAAI,kDAAkD;AAC3D;AAAA,IACF;AAEA,SAAK,IAAI,WAAW,OAAO,MAAM,OAAO,QAAQ,IAAI;AAAA,CAAmC;AAEvF,eAAW,SAAS,QAAQ;AAC1B,YAAM,QAAQ,MAAM,YAAY,QAAQ,GAAG,YAAY,MAAM,WAAW,KAAK,CAAC,WAAW;AACzF,WAAK,IAAI,KAAK,IAAI,MAAM,IAAI,EAAE,CAAC,IAAI,IAAI,MAAM,UAAU,EAAE,CAAC,IAAI,KAAK,EAAE;AAAA,IACvE;AAEA,SAAK,IAAI;AAAA,yCAA4C;AACrD,SAAK,IAAI,yCAAyC;AAAA,EACpD;AACF;AAEA,SAAS,YAAY,GAAmB;AACtC,MAAI,KAAK,IAAM,QAAO,IAAI,IAAI,KAAM,QAAQ,CAAC,CAAC;AAC9C,SAAO,OAAO,CAAC;AACjB;AAEA,SAAS,IAAI,GAAW,GAAmB;AACzC,SAAO,EAAE,SAAS,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,WAAM,EAAE,OAAO,CAAC;AAC5D;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,80 +1,97 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import {
|
|
2
|
+
BaseCommand
|
|
3
|
+
} from "../../chunk-S56LOTGQ.js";
|
|
4
|
+
import "../../chunk-OGVORIFM.js";
|
|
5
|
+
import "../../chunk-2AM54TUK.js";
|
|
6
|
+
import {
|
|
7
|
+
apiPost
|
|
8
|
+
} from "../../chunk-EJOI2ZGU.js";
|
|
9
|
+
import "../../chunk-KZRFUXGF.js";
|
|
10
|
+
import "../../chunk-EKJ2CABV.js";
|
|
11
|
+
import "../../chunk-NSBPE2FW.js";
|
|
12
|
+
|
|
13
|
+
// src/commands/skills/publish.ts
|
|
14
|
+
import * as fs from "node:fs";
|
|
15
|
+
import * as path from "node:path";
|
|
16
|
+
import { Args, Flags } from "@oclif/core";
|
|
17
|
+
var SkillsPublish = class _SkillsPublish extends BaseCommand {
|
|
18
|
+
static description = "Submit a skill file to the RuleMetric skills registry";
|
|
19
|
+
static examples = [
|
|
20
|
+
"<%= config.bin %> skills publish ./my-skill.md",
|
|
21
|
+
"<%= config.bin %> skills publish ./my-skill.md --category workflow --tool claude_code"
|
|
22
|
+
];
|
|
23
|
+
static args = {
|
|
24
|
+
file: Args.string({ description: "Path to skill file (.md)", required: true })
|
|
25
|
+
};
|
|
26
|
+
static flags = {
|
|
27
|
+
name: Flags.string({ description: "Skill name (defaults to filename)" }),
|
|
28
|
+
description: Flags.string({ description: "One-line description" }),
|
|
29
|
+
category: Flags.string({
|
|
30
|
+
description: "Skill category",
|
|
31
|
+
options: [
|
|
32
|
+
"workflow",
|
|
33
|
+
"language",
|
|
34
|
+
"framework",
|
|
35
|
+
"tool",
|
|
36
|
+
"security",
|
|
37
|
+
"testing",
|
|
38
|
+
"architecture",
|
|
39
|
+
"devops",
|
|
40
|
+
"documentation",
|
|
41
|
+
"performance",
|
|
42
|
+
"other"
|
|
43
|
+
],
|
|
44
|
+
default: "other"
|
|
45
|
+
}),
|
|
46
|
+
tool: Flags.string({
|
|
47
|
+
description: "Primary tool this skill targets",
|
|
48
|
+
options: ["claude_code", "cursor", "copilot", "windsurf", "universal"],
|
|
49
|
+
default: "universal"
|
|
50
|
+
}),
|
|
51
|
+
tags: Flags.string({ description: "Comma-separated tags", default: "" })
|
|
52
|
+
};
|
|
53
|
+
async run() {
|
|
54
|
+
const { args, flags } = await this.parse(_SkillsPublish);
|
|
55
|
+
this.requireAuth();
|
|
56
|
+
const filePath = path.resolve(args.file);
|
|
57
|
+
if (!fs.existsSync(filePath)) {
|
|
58
|
+
this.error(`File not found: ${filePath}`);
|
|
59
|
+
}
|
|
60
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
61
|
+
if (content.trim().length < 20) {
|
|
62
|
+
this.error("Skill content is too short (minimum 20 characters)");
|
|
63
|
+
}
|
|
64
|
+
const basename2 = path.basename(filePath, path.extname(filePath));
|
|
65
|
+
const name = flags.name ?? basename2.replace(/[-_]+/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
|
|
66
|
+
const id = basename2.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
67
|
+
const tags = flags.tags ? flags.tags.split(",").map((t) => t.trim()).filter(Boolean) : [];
|
|
68
|
+
this.log(`Publishing skill: ${name} (${id})`);
|
|
69
|
+
this.log(` Category: ${flags.category}`);
|
|
70
|
+
this.log(` Tool: ${flags.tool}`);
|
|
71
|
+
if (tags.length > 0) this.log(` Tags: ${tags.join(", ")}`);
|
|
72
|
+
this.log(` Content: ${content.length} characters
|
|
73
|
+
`);
|
|
74
|
+
const payload = {
|
|
75
|
+
id,
|
|
76
|
+
name,
|
|
77
|
+
description: flags.description ?? `Community skill: ${name}`,
|
|
78
|
+
category: flags.category,
|
|
79
|
+
tools: [flags.tool],
|
|
80
|
+
tags,
|
|
81
|
+
content
|
|
33
82
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (content.trim().length < 20) {
|
|
43
|
-
this.error('Skill content is too short (minimum 20 characters)');
|
|
44
|
-
}
|
|
45
|
-
const basename = path.basename(filePath, path.extname(filePath));
|
|
46
|
-
const name = flags.name ?? basename
|
|
47
|
-
.replace(/[-_]+/g, ' ')
|
|
48
|
-
.replace(/\b\w/g, c => c.toUpperCase());
|
|
49
|
-
const id = basename.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
|
|
50
|
-
const tags = flags.tags
|
|
51
|
-
? flags.tags.split(',').map(t => t.trim()).filter(Boolean)
|
|
52
|
-
: [];
|
|
53
|
-
this.log(`Publishing skill: ${name} (${id})`);
|
|
54
|
-
this.log(` Category: ${flags.category}`);
|
|
55
|
-
this.log(` Tool: ${flags.tool}`);
|
|
56
|
-
if (tags.length > 0)
|
|
57
|
-
this.log(` Tags: ${tags.join(', ')}`);
|
|
58
|
-
this.log(` Content: ${content.length} characters\n`);
|
|
59
|
-
const payload = {
|
|
60
|
-
id,
|
|
61
|
-
name,
|
|
62
|
-
description: flags.description ?? `Community skill: ${name}`,
|
|
63
|
-
category: flags.category,
|
|
64
|
-
tools: [flags.tool],
|
|
65
|
-
tags,
|
|
66
|
-
content,
|
|
67
|
-
};
|
|
68
|
-
try {
|
|
69
|
-
const result = await apiPost('/api/skills/publish', payload);
|
|
70
|
-
this.log(`Published! ${result.message ?? `Skill "${name}" submitted to the registry.`}`);
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
if (err instanceof Error) {
|
|
74
|
-
this.error(`Failed to publish: ${err.message}`);
|
|
75
|
-
}
|
|
76
|
-
throw err;
|
|
77
|
-
}
|
|
83
|
+
try {
|
|
84
|
+
const result = await apiPost("/api/skills/publish", payload);
|
|
85
|
+
this.log(`Published! ${result.message ?? `Skill "${name}" submitted to the registry.`}`);
|
|
86
|
+
} catch (err) {
|
|
87
|
+
if (err instanceof Error) {
|
|
88
|
+
this.error(`Failed to publish: ${err.message}`);
|
|
89
|
+
}
|
|
90
|
+
throw err;
|
|
78
91
|
}
|
|
79
|
-
}
|
|
80
|
-
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
export {
|
|
95
|
+
SkillsPublish as default
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/commands/skills/publish.ts"],
|
|
4
|
+
"sourcesContent": ["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { Args, Flags } from '@oclif/core';\nimport { BaseCommand } from '../../base-command.js';\nimport { apiPost } from '../../lib/api-client.js';\n\nexport default class SkillsPublish extends BaseCommand {\n static override description = 'Submit a skill file to the RuleMetric skills registry';\n\n static override examples = [\n '<%= config.bin %> skills publish ./my-skill.md',\n '<%= config.bin %> skills publish ./my-skill.md --category workflow --tool claude_code',\n ];\n\n static override args = {\n file: Args.string({ description: 'Path to skill file (.md)', required: true }),\n };\n\n static override flags = {\n name: Flags.string({ description: 'Skill name (defaults to filename)' }),\n description: Flags.string({ description: 'One-line description' }),\n category: Flags.string({\n description: 'Skill category',\n options: [\n 'workflow', 'language', 'framework', 'tool', 'security',\n 'testing', 'architecture', 'devops', 'documentation',\n 'performance', 'other',\n ],\n default: 'other',\n }),\n tool: Flags.string({\n description: 'Primary tool this skill targets',\n options: ['claude_code', 'cursor', 'copilot', 'windsurf', 'universal'],\n default: 'universal',\n }),\n tags: Flags.string({ description: 'Comma-separated tags', default: '' }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(SkillsPublish);\n this.requireAuth();\n\n const filePath = path.resolve(args.file);\n if (!fs.existsSync(filePath)) {\n this.error(`File not found: ${filePath}`);\n }\n\n const content = fs.readFileSync(filePath, 'utf-8');\n if (content.trim().length < 20) {\n this.error('Skill content is too short (minimum 20 characters)');\n }\n\n const basename = path.basename(filePath, path.extname(filePath));\n const name = flags.name ?? basename\n .replace(/[-_]+/g, ' ')\n .replace(/\\b\\w/g, c => c.toUpperCase());\n\n const id = basename.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');\n\n const tags = flags.tags\n ? flags.tags.split(',').map(t => t.trim()).filter(Boolean)\n : [];\n\n this.log(`Publishing skill: ${name} (${id})`);\n this.log(` Category: ${flags.category}`);\n this.log(` Tool: ${flags.tool}`);\n if (tags.length > 0) this.log(` Tags: ${tags.join(', ')}`);\n this.log(` Content: ${content.length} characters\\n`);\n\n const payload = {\n id,\n name,\n description: flags.description ?? `Community skill: ${name}`,\n category: flags.category,\n tools: [flags.tool],\n tags,\n content,\n };\n\n try {\n const result = await apiPost<{ id: string; message: string }>('/api/skills/publish', payload);\n this.log(`Published! ${result.message ?? `Skill \"${name}\" submitted to the registry.`}`);\n } catch (err) {\n if (err instanceof Error) {\n this.error(`Failed to publish: ${err.message}`);\n }\n throw err;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAS,MAAM,aAAa;AAI5B,IAAqB,gBAArB,MAAqB,uBAAsB,YAAY;AAAA,EACrD,OAAgB,cAAc;AAAA,EAE9B,OAAgB,WAAW;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,OAAgB,OAAO;AAAA,IACrB,MAAM,KAAK,OAAO,EAAE,aAAa,4BAA4B,UAAU,KAAK,CAAC;AAAA,EAC/E;AAAA,EAEA,OAAgB,QAAQ;AAAA,IACtB,MAAM,MAAM,OAAO,EAAE,aAAa,oCAAoC,CAAC;AAAA,IACvE,aAAa,MAAM,OAAO,EAAE,aAAa,uBAAuB,CAAC;AAAA,IACjE,UAAU,MAAM,OAAO;AAAA,MACrB,aAAa;AAAA,MACb,SAAS;AAAA,QACP;AAAA,QAAY;AAAA,QAAY;AAAA,QAAa;AAAA,QAAQ;AAAA,QAC7C;AAAA,QAAW;AAAA,QAAgB;AAAA,QAAU;AAAA,QACrC;AAAA,QAAe;AAAA,MACjB;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AAAA,IACD,MAAM,MAAM,OAAO;AAAA,MACjB,aAAa;AAAA,MACb,SAAS,CAAC,eAAe,UAAU,WAAW,YAAY,WAAW;AAAA,MACrE,SAAS;AAAA,IACX,CAAC;AAAA,IACD,MAAM,MAAM,OAAO,EAAE,aAAa,wBAAwB,SAAS,GAAG,CAAC;AAAA,EACzE;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,cAAa;AACtD,SAAK,YAAY;AAEjB,UAAM,WAAgB,aAAQ,KAAK,IAAI;AACvC,QAAI,CAAI,cAAW,QAAQ,GAAG;AAC5B,WAAK,MAAM,mBAAmB,QAAQ,EAAE;AAAA,IAC1C;AAEA,UAAM,UAAa,gBAAa,UAAU,OAAO;AACjD,QAAI,QAAQ,KAAK,EAAE,SAAS,IAAI;AAC9B,WAAK,MAAM,oDAAoD;AAAA,IACjE;AAEA,UAAMA,YAAgB,cAAS,UAAe,aAAQ,QAAQ,CAAC;AAC/D,UAAM,OAAO,MAAM,QAAQA,UACxB,QAAQ,UAAU,GAAG,EACrB,QAAQ,SAAS,OAAK,EAAE,YAAY,CAAC;AAExC,UAAM,KAAKA,UAAS,YAAY,EAAE,QAAQ,eAAe,GAAG,EAAE,QAAQ,UAAU,EAAE;AAElF,UAAM,OAAO,MAAM,OACf,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO,IACvD,CAAC;AAEL,SAAK,IAAI,qBAAqB,IAAI,KAAK,EAAE,GAAG;AAC5C,SAAK,IAAI,eAAe,MAAM,QAAQ,EAAE;AACxC,SAAK,IAAI,WAAW,MAAM,IAAI,EAAE;AAChC,QAAI,KAAK,SAAS,EAAG,MAAK,IAAI,WAAW,KAAK,KAAK,IAAI,CAAC,EAAE;AAC1D,SAAK,IAAI,cAAc,QAAQ,MAAM;AAAA,CAAe;AAEpD,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA,aAAa,MAAM,eAAe,oBAAoB,IAAI;AAAA,MAC1D,UAAU,MAAM;AAAA,MAChB,OAAO,CAAC,MAAM,IAAI;AAAA,MAClB;AAAA,MACA;AAAA,IACF;AAEA,QAAI;AACF,YAAM,SAAS,MAAM,QAAyC,uBAAuB,OAAO;AAC5F,WAAK,IAAI,cAAc,OAAO,WAAW,UAAU,IAAI,8BAA8B,EAAE;AAAA,IACzF,SAAS,KAAK;AACZ,UAAI,eAAe,OAAO;AACxB,aAAK,MAAM,sBAAsB,IAAI,OAAO,EAAE;AAAA,MAChD;AACA,YAAM;AAAA,IACR;AAAA,EACF;AACF;",
|
|
6
|
+
"names": ["basename"]
|
|
7
|
+
}
|