@rely-ai/caliber 1.24.0 → 1.24.1-dev.1773872765

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 (2) hide show
  1. package/README.md +167 -64
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -6,56 +6,93 @@
6
6
  <a href="https://www.npmjs.com/package/@rely-ai/caliber"><img src="https://img.shields.io/npm/v/@rely-ai/caliber" alt="npm version"></a>
7
7
  <a href="./LICENSE"><img src="https://img.shields.io/npm/l/@rely-ai/caliber" alt="license"></a>
8
8
  <a href="https://nodejs.org"><img src="https://img.shields.io/node/v/@rely-ai/caliber" alt="node"></a>
9
+ <img src="https://img.shields.io/badge/caliber-89%2F100-green" alt="Caliber Score">
10
+ <img src="https://img.shields.io/badge/Claude_Code-supported-blue" alt="Claude Code">
11
+ <img src="https://img.shields.io/badge/Cursor-supported-blue" alt="Cursor">
12
+ <img src="https://img.shields.io/badge/Codex-supported-blue" alt="Codex">
9
13
  </p>
10
14
 
15
+ ---
16
+
17
+ ### Try it — zero install, zero commitment
18
+
19
+ ```bash
20
+ npx @rely-ai/caliber score
21
+ ```
22
+
23
+ Score your AI agent config in 3 seconds. No API key. No changes to your code. Just a score.
24
+
25
+ > **Your code stays on your machine.** Scoring is 100% local — no LLM calls, no code sent anywhere. Generation uses your own AI subscription (Claude Code, Cursor) or your own API key (Anthropic, OpenAI, Vertex AI). Caliber never sees your code.
26
+
27
+ ---
28
+
29
+ Caliber scores, generates, and keeps your AI agent configs in sync with your codebase. It fingerprints your project — languages, frameworks, dependencies, architecture — and produces tailored configs for **Claude Code**, **Cursor**, and **OpenAI Codex**. When your code evolves, Caliber detects the drift and updates your configs to match.
30
+
11
31
  <p align="center">
12
32
  <img src="assets/demo.gif" alt="Caliber demo" width="640">
13
33
  </p>
14
34
 
15
- ---
35
+ ## Before / After
36
+
37
+ Most repos start with a hand-written `CLAUDE.md` and nothing else. Here's what Caliber finds — and fixes:
38
+
39
+ ```
40
+ Before After caliber init
41
+ ────────────────────────────── ──────────────────────────────
42
+
43
+ Agent Config Score 35 / 100 Agent Config Score 94 / 100
44
+ Grade D Grade A
45
+
46
+ FILES & SETUP 6 / 25 FILES & SETUP 24 / 25
47
+ QUALITY 12 / 25 QUALITY 22 / 25
48
+ GROUNDING 7 / 20 GROUNDING 19 / 20
49
+ ACCURACY 5 / 15 ACCURACY 13 / 15
50
+ FRESHNESS 5 / 10 FRESHNESS 10 / 10
51
+ BONUS 0 / 5 BONUS 5 / 5
52
+ ```
16
53
 
17
- Caliber analyzes your codebase languages, frameworks, dependencies, architecture and generates tailored, high-quality configs for **Claude Code**, **Cursor**, and **OpenAI Codex**. If configs already exist, it scores them, fixes what's stale, and keeps everything in sync as your code evolves.
54
+ Scoring is deterministicno LLM, no API calls. It cross-references your config files against your actual project filesystem: do referenced paths exist? Are code blocks present? Is there config drift since your last commit?
18
55
 
19
56
  ```bash
20
- npm install -g @rely-ai/caliber
21
- caliber init
57
+ caliber score --compare main # See how your branch changed the score
22
58
  ```
23
59
 
24
- No API key required — works with your existing **Claude Code** or **Cursor** subscription. Or bring your own key (Anthropic, OpenAI, Vertex AI, any OpenAI-compatible endpoint).
60
+ ## Audits first, writes second
25
61
 
26
- ## 💡 What Caliber Does
62
+ Caliber never overwrites your existing configs without asking. The workflow mirrors code review:
27
63
 
28
- | Without Caliber | With Caliber |
29
- |---|---|
30
- | Hand-write CLAUDE.md, Cursor rules, AGENTS.md separately | One command generates all three, tuned to your actual codebase |
31
- | Configs reference files that no longer exist | Deterministic scoring catches stale references and drift |
32
- | New team members start with no AI context | `caliber init` gives any contributor a complete setup in seconds |
33
- | Configs diverge across AI tools | Cross-platform parity — Claude, Cursor, and Codex stay consistent |
34
- | No idea if your config is actually helping | Score your setup (A–F grade) and see exactly what to improve |
35
- | AI keeps making the same mistakes | Session learning captures patterns and corrections automatically |
64
+ 1. **Score** read-only audit of your current setup
65
+ 2. **Propose** — generate or improve configs, shown as a diff
66
+ 3. **Review** accept, refine via chat, or decline each change
67
+ 4. **Backup** originals saved to `.caliber/backups/` before every write
68
+ 5. **Undo** `caliber undo` restores everything to its previous state
36
69
 
37
- ## ⚙️ How It Works
70
+ If your existing config scores **95+**, Caliber skips full regeneration and applies targeted fixes to the specific checks that are failing.
71
+
72
+ ## How It Works
73
+
74
+ Caliber is not a one-time setup tool. It's a loop:
38
75
 
39
76
  ```
40
- caliber init
41
-
42
- ├─ 1. 🔌 Setup Choose your LLM provider — Claude Code seat, Cursor seat,
43
- │ or an API key (Anthropic, OpenAI, Vertex AI)
44
-
45
- ├─ 2. 🛠️ Engine Fingerprint your project, generate configs in parallel,
46
- search community skills, and auto-refine against
47
- deterministic scoring checks (up to 2 iterations)
48
-
49
- ├─ 3. 👀 Review See a diff of every proposed change — accept, refine
50
- via chat, or decline. All originals are backed up
51
-
52
- └─ 4. ✅ Finalize Write files, install auto-refresh hooks, and set up
53
- session learning for continuous improvement
77
+ caliber score
78
+
79
+
80
+ ┌──── caliber init ◄────────────────┐
81
+ (generate / fix) │
82
+ │ │ │
83
+ ▼ │
84
+ your code evolves │
85
+ (new deps, renamed files, │
86
+ │ changed architecture) │
87
+ │ │
88
+ ▼ │
89
+ └──► caliber refresh ──────────────►┘
90
+ (detect drift, update configs)
54
91
  ```
55
92
 
56
- Already have a setup? If your existing config scores **95+**, Caliber skips full regeneration and applies targeted fixes to the specific checks that are failing.
93
+ Auto-refresh hooks run this loop automatically on every commit or at the end of each AI coding session.
57
94
 
58
- ### 📦 What It Generates
95
+ ### What It Generates
59
96
 
60
97
  **Claude Code**
61
98
  - `CLAUDE.md` — Project context, build/test commands, architecture, conventions
@@ -73,14 +110,18 @@ Already have a setup? If your existing config scores **95+**, Caliber skips full
73
110
  - `AGENTS.md` — Project context for Codex
74
111
  - `.agents/skills/*/SKILL.md` — Skills for Codex
75
112
 
76
- If these files already exist, Caliber audits them and suggests improvements — keeping what works, fixing what's stale, adding what's missing.
113
+ ## Key Features
77
114
 
78
- ## ✨ Key Features
115
+ <details>
116
+ <summary><strong>Any Codebase</strong></summary>
79
117
 
80
- ### 🌍 Any Codebase
81
118
  TypeScript, Python, Go, Rust, Java, Ruby, Terraform, and more. Language and framework detection is fully LLM-driven — no hardcoded mappings. Caliber works on any project.
82
119
 
83
- ### 🔀 Any AI Tool
120
+ </details>
121
+
122
+ <details>
123
+ <summary><strong>Any AI Tool</strong></summary>
124
+
84
125
  Target a single platform or all three at once:
85
126
  ```bash
86
127
  caliber init --agent claude # Claude Code only
@@ -90,28 +131,26 @@ caliber init --agent all # All three
90
131
  caliber init --agent claude,cursor # Comma-separated
91
132
  ```
92
133
 
93
- ### 💬 Chat-Based Refinement
134
+ </details>
135
+
136
+ <details>
137
+ <summary><strong>Chat-Based Refinement</strong></summary>
138
+
94
139
  Not happy with the generated output? During review, refine via natural language — describe what you want changed and Caliber iterates until you're satisfied.
95
140
 
96
- ### 🔗 MCP Server Discovery
97
- Caliber detects the tools your project uses (databases, APIs, services) and auto-configures matching MCP servers for Claude Code and Cursor.
141
+ </details>
98
142
 
99
- ### 📊 Deterministic Scoring
100
- `caliber score` evaluates your config quality without any LLM calls — purely by cross-referencing config files against your actual project filesystem.
143
+ <details>
144
+ <summary><strong>MCP Server Discovery</strong></summary>
101
145
 
102
- ```
103
- Agent Config Score 88 / 100 Grade A
104
-
105
- FILES & SETUP 17 / 17
106
- QUALITY 21 / 23
107
- GROUNDING 20 / 20
108
- ACCURACY 10 / 15
109
- FRESHNESS & SAFETY 10 / 10
110
- BONUS 5 / 5
111
- ```
146
+ Caliber detects the tools your project uses (databases, APIs, services) and auto-configures matching MCP servers for Claude Code and Cursor.
147
+
148
+ </details>
112
149
 
113
150
  <details>
114
- <summary>Scoring breakdown</summary>
151
+ <summary><strong>Deterministic Scoring</strong></summary>
152
+
153
+ `caliber score` evaluates your config quality without any LLM calls — purely by cross-referencing config files against your actual project filesystem.
115
154
 
116
155
  | Category | Points | What it checks |
117
156
  |---|---|---|
@@ -126,7 +165,9 @@ Every failing check includes structured fix data — when `caliber init` runs, t
126
165
 
127
166
  </details>
128
167
 
129
- ### 🧠 Session Learning
168
+ <details>
169
+ <summary><strong>Session Learning</strong></summary>
170
+
130
171
  Caliber watches your AI coding sessions and learns from them. Hooks capture tool usage, failures, and your corrections — then an LLM distills operational patterns into `CALIBER_LEARNINGS.md`.
131
172
 
132
173
  ```bash
@@ -136,9 +177,13 @@ caliber learn finalize # Manually trigger analysis (auto-runs on session end
136
177
  caliber learn remove # Remove hooks
137
178
  ```
138
179
 
139
- Learned items are categorized by type — **[correction]**, **[gotcha]**, **[fix]**, **[pattern]**, **[env]**, **[convention]** — and automatically deduplicated. ROI tracking shows how much time and tokens the learnings save across sessions.
180
+ Learned items are categorized by type — **[correction]**, **[gotcha]**, **[fix]**, **[pattern]**, **[env]**, **[convention]** — and automatically deduplicated.
181
+
182
+ </details>
183
+
184
+ <details>
185
+ <summary><strong>Auto-Refresh</strong></summary>
140
186
 
141
- ### 🔄 Auto-Refresh
142
187
  Keep configs in sync with your codebase automatically:
143
188
 
144
189
  | Hook | Trigger | What it does |
@@ -150,24 +195,29 @@ Keep configs in sync with your codebase automatically:
150
195
  ```bash
151
196
  caliber hooks --install # Enable refresh hooks
152
197
  caliber hooks --remove # Disable refresh hooks
153
- caliber learn install # Enable learning hooks
154
198
  ```
155
199
 
156
- The `refresh` command analyzes your git diff (committed, staged, and unstaged changes) and updates config files to reflect what changed. Works across multiple repos when run from a parent directory.
200
+ The `refresh` command analyzes your git diff (committed, staged, and unstaged changes) and updates config files to reflect what changed.
201
+
202
+ </details>
203
+
204
+ <details>
205
+ <summary><strong>Fully Reversible</strong></summary>
157
206
 
158
- ### 🛡️ Fully Reversible
159
- Every change Caliber makes can be undone:
160
207
  - **Automatic backups** — originals saved to `.caliber/backups/` before every write
161
208
  - **Score regression guard** — if a regeneration produces a lower score, changes are auto-reverted
162
209
  - **Full undo** — `caliber undo` restores everything to its previous state
163
210
  - **Dry run** — preview changes with `--dry-run` before applying
164
211
 
165
- ## 📋 Commands
212
+ </details>
213
+
214
+ ## Commands
166
215
 
167
216
  | Command | Description |
168
217
  |---|---|
169
- | `caliber init` | Full setup wizard — analyze, generate, review, install hooks |
170
218
  | `caliber score` | Score config quality (deterministic, no LLM) |
219
+ | `caliber score --compare <ref>` | Compare current score against a git ref |
220
+ | `caliber init` | Full setup wizard — analyze, generate, review, install hooks |
171
221
  | `caliber regenerate` | Re-analyze and regenerate configs (aliases: `regen`, `re`) |
172
222
  | `caliber refresh` | Update docs based on recent code changes |
173
223
  | `caliber skills` | Discover and install community skills |
@@ -177,7 +227,60 @@ Every change Caliber makes can be undone:
177
227
  | `caliber status` | Show current setup status |
178
228
  | `caliber undo` | Revert all changes made by Caliber |
179
229
 
180
- ## 🔌 LLM Providers
230
+ ## FAQ
231
+
232
+ <details>
233
+ <summary><strong>Does it overwrite my existing configs?</strong></summary>
234
+
235
+ No. Caliber shows you a diff of every proposed change. You accept, refine, or decline each one. Originals are backed up automatically.
236
+
237
+ </details>
238
+
239
+ <details>
240
+ <summary><strong>Does it need an API key?</strong></summary>
241
+
242
+ **Scoring:** No. `caliber score` runs 100% locally with no LLM.
243
+
244
+ **Generation:** Uses your existing Claude Code or Cursor subscription (no API key needed), or bring your own key for Anthropic, OpenAI, or Vertex AI.
245
+
246
+ </details>
247
+
248
+ <details>
249
+ <summary><strong>What if I don't like what it generates?</strong></summary>
250
+
251
+ Refine it via chat during review, or decline the changes entirely. If you already accepted, `caliber undo` restores everything. You can also preview with `--dry-run`.
252
+
253
+ </details>
254
+
255
+ <details>
256
+ <summary><strong>Does it work with monorepos?</strong></summary>
257
+
258
+ Yes. Run `caliber init` from any directory. `caliber refresh` can update configs across multiple repos when run from a parent directory.
259
+
260
+ </details>
261
+
262
+ <details>
263
+ <summary><strong>Does it send my code anywhere?</strong></summary>
264
+
265
+ Scoring is fully local. Generation sends your project fingerprint (not source code) to whatever LLM provider you configure — the same provider your AI editor already uses. Anonymous usage analytics (no code, no file contents) can be disabled via `caliber config`.
266
+
267
+ </details>
268
+
269
+ ## Add a Caliber badge to your repo
270
+
271
+ After scoring your project, add a badge to your README:
272
+
273
+ ![Caliber Score](https://img.shields.io/badge/caliber-94%2F100-brightgreen)
274
+
275
+ Copy this markdown and replace `94` with your actual score:
276
+
277
+ ```
278
+ ![Caliber Score](https://img.shields.io/badge/caliber-SCORE%2F100-COLOR)
279
+ ```
280
+
281
+ Color guide: `brightgreen` (90+), `green` (70-89), `yellow` (40-69), `red` (<40).
282
+
283
+ ## LLM Providers
181
284
 
182
285
  No API key? No problem. Caliber works with your existing AI tool subscription:
183
286
 
@@ -234,12 +337,12 @@ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
234
337
 
235
338
  </details>
236
339
 
237
- ## 📋 Requirements
340
+ ## Requirements
238
341
 
239
342
  - **Node.js** >= 20
240
343
  - **One LLM provider:** your **Claude Code** or **Cursor** subscription (no API key), or an API key for Anthropic / OpenAI / Vertex AI
241
344
 
242
- ## 🤝 Contributing
345
+ ## Contributing
243
346
 
244
347
  See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.
245
348
 
@@ -254,6 +357,6 @@ npm run build # Compile
254
357
 
255
358
  Uses [conventional commits](https://www.conventionalcommits.org/) — `feat:` for features, `fix:` for bug fixes.
256
359
 
257
- ## 📄 License
360
+ ## License
258
361
 
259
362
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rely-ai/caliber",
3
- "version": "1.24.0",
3
+ "version": "1.24.1-dev.1773872765",
4
4
  "description": "Analyze your codebase and generate optimized AI agent configs (CLAUDE.md, .cursorrules, skills) — no API key needed",
5
5
  "type": "module",
6
6
  "bin": {