rubric-chat 0.1.0 → 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.
package/README.md ADDED
@@ -0,0 +1,64 @@
1
+ # rubric-chat
2
+
3
+ A strict 0–100 score for AI conversations.
4
+
5
+ Auto-discover terminal-agent sessions on disk or upload an export — Rubric grades the prompting craft on six dimensions (specificity, context, structure, iteration, scope, meta-prompting), names an archetype, and gives you a public score card you can share.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm i -g rubric-chat
11
+ ```
12
+
13
+ Requires Node ≥ 18.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ # Interactive wizard — auto-login, picks a session, scores it, opens the report.
19
+ rubric-chat
20
+
21
+ # Common subcommands
22
+ rubric-chat status # who am I, what plan, where are the URLs pointed
23
+ rubric-chat login # browser-callback login (or --no-browser to paste a token)
24
+ rubric-chat logout
25
+ rubric-chat list # show discovered local sessions
26
+ rubric-chat rate <id> # score a specific session id
27
+ rubric-chat rate --file path # score a JSON file (ChatGPT or Claude.ai export)
28
+
29
+ # Output modes
30
+ rubric-chat rate <id> --json # machine-readable
31
+ rubric-chat rate <id> --quiet # exit code + URL only
32
+ ```
33
+
34
+ ## Supported sources
35
+
36
+ | Source | How it's discovered | Status |
37
+ | --- | --- | --- |
38
+ | **Claude Code** | `~/.claude/projects/**/*.jsonl` | ✅ |
39
+ | **Codex CLI** | `~/.codex/sessions/**/*.jsonl` | ✅ |
40
+ | **Cursor** | local SQLite (`composerData`) | 🟡 next |
41
+ | **Cline / Roo / Aider / Continue** | per-tool storage | ⏳ planned |
42
+ | **ChatGPT export** | upload `conversations.json` via `--file` | ✅ |
43
+ | **Claude.ai export** | upload Anthropic data export JSON via `--file` | ✅ |
44
+
45
+ ## What gets graded
46
+
47
+ The whole session as one artifact, on six weighted dimensions, with a strict curve so a competent median lands near 50 (not 85). Full rubric, weights, and the strictness formula are at <https://rubric.chat/methodology>.
48
+
49
+ ## What we look at
50
+
51
+ Only your turns. The CLI strips assistant text locally before any payload leaves your machine — see the `apps/cli/src/sources/*.test.ts` files in the repo, which assert this at the wire level. User turns are also PII-redacted on the server before they reach the scoring model.
52
+
53
+ ## Configuration
54
+
55
+ | Env var | Default | What it does |
56
+ | --- | --- | --- |
57
+ | `RUBRIC_API_BASE_URL` | `https://api.rubric.chat` | Override for local dev |
58
+ | `RUBRIC_WEB_BASE_URL` | `https://rubric.chat` | Override for local dev |
59
+
60
+ Credentials are stored in the OS keychain (macOS Keychain, libsecret on Linux). Fallback: `~/.rubric/credentials` (chmod 600).
61
+
62
+ ## License
63
+
64
+ MIT
package/dist/index.js CHANGED
@@ -11,8 +11,10 @@ import { CLI_VERSION } from "./lib/config.js";
11
11
  const program = new Command();
12
12
  program
13
13
  .name("rubric-chat")
14
- .description("Score full AI chat sessions with Rubric.")
15
- .version(CLI_VERSION);
14
+ .description("Score full AI chat sessions with Rubric. Run with no arguments for an interactive wizard.")
15
+ .version(CLI_VERSION)
16
+ .showHelpAfterError("(run `rubric-chat --help` for usage)")
17
+ .addHelpCommand("help [command]", "Show help for a command");
16
18
  program
17
19
  .command("login")
18
20
  .description("Sign in via magic link (opens browser by default).")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rubric-chat",
3
- "version": "0.1.0",
4
- "description": "Score your AI chat sessions on a strict 0–100 rubric Claude Code, Codex CLI, ChatGPT and Claude.ai exports.",
3
+ "version": "0.1.1",
4
+ "description": "A strict 0–100 score for AI conversations. Auto-discovers Claude Code and Codex CLI sessions (Cursor next); also accepts ChatGPT and Claude.ai exports. Six dimensions, eight archetypes, shareable score card.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "homepage": "https://rubric.chat",
@@ -18,12 +18,15 @@
18
18
  "prompt",
19
19
  "prompting",
20
20
  "score",
21
- "claude",
22
- "chatgpt",
21
+ "grading",
23
22
  "ai",
24
23
  "llm",
24
+ "chatgpt",
25
+ "claude",
25
26
  "claude-code",
26
27
  "codex",
28
+ "cursor",
29
+ "coding-agent",
27
30
  "cli"
28
31
  ],
29
32
  "bin": {