@root-signals/scorable-cli 0.4.0 → 0.4.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.
package/README.md
CHANGED
|
@@ -24,6 +24,10 @@
|
|
|
24
24
|
</a>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
|
+
<p align="center">
|
|
28
|
+
<video src="https://github.com/user-attachments/assets/3475573e-b20c-405b-acc6-ee48709998fa" width="800" autoplay loop muted></video>
|
|
29
|
+
</p>
|
|
30
|
+
|
|
27
31
|
The `scorable` CLI is a command-line tool for interacting with the Scorable API. It lets you manage and execute Judges and Evaluators, view execution logs, and run prompt testing experiments directly from the terminal.
|
|
28
32
|
|
|
29
33
|
Requires **Node.js 20 or higher**.
|
|
@@ -74,6 +78,18 @@ export SCORABLE_API_KEY="sk-your-api-key"
|
|
|
74
78
|
|
|
75
79
|
The key lookup order is: `SCORABLE_API_KEY` env var → `api_key` in `~/.scorable/settings.json` → `temporary_api_key` in `~/.scorable/settings.json`.
|
|
76
80
|
|
|
81
|
+
## Scorable Skills for AI Coding Agents
|
|
82
|
+
|
|
83
|
+
Install Scorable skills into your project so your AI coding agent (Claude Code, Cursor, etc.) can integrate evaluators automatically:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
scorable skills-add
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Once installed, open your coding agent in your AI powered project and use the prompt:
|
|
90
|
+
|
|
91
|
+
> "Integrate scorable evaluators"
|
|
92
|
+
|
|
77
93
|
## Judge Management
|
|
78
94
|
|
|
79
95
|
### List judges
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-add.d.ts","sourceRoot":"","sources":["../../src/commands/skills-add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B/D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { CliError } from "../types.js";
|
|
3
|
+
import { printSuccess, printInfo } from "../output.js";
|
|
4
|
+
export function registerSkillsAddCommand(program) {
|
|
5
|
+
program
|
|
6
|
+
.command("skills-add")
|
|
7
|
+
.description("Install Scorable Skills for coding agents")
|
|
8
|
+
.action(async () => {
|
|
9
|
+
await new Promise((resolve, reject) => {
|
|
10
|
+
const child = spawn("npx", ["skills", "add", "root-signals/scorable-skills"], {
|
|
11
|
+
stdio: "inherit",
|
|
12
|
+
});
|
|
13
|
+
child.on("close", (code) => {
|
|
14
|
+
if (code !== 0) {
|
|
15
|
+
reject(new CliError(code ?? 1, `skills add exited with code ${code}`));
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
resolve();
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
child.on("error", (err) => {
|
|
22
|
+
reject(new CliError(1, `Failed to run npx skills: ${err.message}`));
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
console.log();
|
|
26
|
+
printSuccess("Scorable skills installed.");
|
|
27
|
+
printInfo('Open your coding agent in your AI powered project and use the prompt: "Integrate scorable evaluators"');
|
|
28
|
+
});
|
|
29
|
+
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDpC,wBAAgB,SAAS,IAAI,OAAO,CAoBnC"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { registerPromptTestCommands } from "./commands/prompt-test/index.js";
|
|
|
9
9
|
import { registerEvaluatorCommands } from "./commands/evaluator/index.js";
|
|
10
10
|
import { registerExecutionLogCommands } from "./commands/execution-log/index.js";
|
|
11
11
|
import { registerAuthCommands } from "./commands/auth/index.js";
|
|
12
|
+
import { registerSkillsAddCommand } from "./commands/skills-add.js";
|
|
12
13
|
const { version } = createRequire(import.meta.url)("../package.json");
|
|
13
14
|
function buildBanner(ver) {
|
|
14
15
|
const logo = chalk.hex("#4D9FFF");
|
|
@@ -35,7 +36,9 @@ function buildGettingStarted() {
|
|
|
35
36
|
` ${num("1")} Authenticate ${chalk.dim("(pick one)")}:`,
|
|
36
37
|
` ${cmd("$ scorable auth demo-key")} ${chalk.dim("# for quick testing")}`,
|
|
37
38
|
` ${cmd("$ scorable auth set-key <api-key>")} ${chalk.dim("# permanent key")}`,
|
|
38
|
-
` ${num("2")}
|
|
39
|
+
` ${num("2")} Install skills for your AI coding agent:`,
|
|
40
|
+
` ${cmd("$ scorable skills-add")}`,
|
|
41
|
+
` ${num("3")} Explore resources:`,
|
|
39
42
|
` ${cmd("$ scorable judge list")}`,
|
|
40
43
|
` ${cmd("$ scorable evaluator list")}`,
|
|
41
44
|
"",
|
|
@@ -57,6 +60,7 @@ export function createCli() {
|
|
|
57
60
|
registerEvaluatorCommands(program);
|
|
58
61
|
registerExecutionLogCommands(program);
|
|
59
62
|
registerAuthCommands(program);
|
|
63
|
+
registerSkillsAddCommand(program);
|
|
60
64
|
return program;
|
|
61
65
|
}
|
|
62
66
|
if (realpathSync(fileURLToPath(import.meta.url)) === realpathSync(process.argv[1])) {
|