| 8 | import { renderPayload } from "./renderers/index.js"; |
| 9 | |
| 10 | function usage() { |
| 11 | return `Plugin Eval helps first-time skill authors start from chat and keep the workflow local-first. |
| 12 | |
| 13 | Start here: |
| 14 | plugin-eval start <path> [--request "<chat request>"] [--goal evaluate|budget|measure|benchmark|next] [--format json|markdown|html] [--output <file>] |
| 15 | |
| 16 | Core workflows: |
| 17 | plugin-eval analyze <path> [--format json|markdown|html] [--output <file>] [--metric-pack <manifest.json>] [--observed-usage <file>] [--brief-out <file>] |
| 18 | plugin-eval explain-budget <path> [--format json|markdown] [--output <file>] |
| 19 | plugin-eval measurement-plan <path> [--format json|markdown] [--observed-usage <file>] [--output <file>] |
| 20 | plugin-eval init-benchmark <path> [--output <benchmark.json>] [--model <model>] [--format json|markdown] |
| 21 | plugin-eval benchmark <path> [--config <benchmark.json>] [--usage-out <usage.jsonl>] [--result-out <result.json>] [--model <model>] [--format json|markdown|html] [--output <file>] |
| 22 | |
| 23 | Reports: |
| 24 | plugin-eval report <result.json> [--format json|markdown|html] [--output <file>] |
| 25 | plugin-eval compare <before.json> <after.json> [--format json|markdown|html] [--output <file>] |
| 26 | |
| 27 | Chat-first examples: |
| 28 | plugin-eval start ./skills/my-skill --request "evaluate this skill" --format markdown |
| 29 | plugin-eval start ./skills/my-skill --request "measure the real token usage of this skill" --format markdown |
| 30 | plugin-eval start ./plugins/my-plugin --request "help me benchmark this plugin" --format markdown |
| 31 | plugin-eval start ./skills/my-skill --request "what should I run next?" --format markdown |
| 32 | |
| 33 | Compatibility aliases: |
| 34 | guide -> start |
| 35 | recommend-measures -> measurement-plan |
| 36 | `; |
| 37 | } |
| 38 | |
| 39 | function parseOptions(argv) { |
| 40 | const positional = []; |