@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.
- package/README.md +167 -64
- 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
|
-
|
|
54
|
+
Scoring is deterministic — no 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
|
-
|
|
21
|
-
caliber init
|
|
57
|
+
caliber score --compare main # See how your branch changed the score
|
|
22
58
|
```
|
|
23
59
|
|
|
24
|
-
|
|
60
|
+
## Audits first, writes second
|
|
25
61
|
|
|
26
|
-
|
|
62
|
+
Caliber never overwrites your existing configs without asking. The workflow mirrors code review:
|
|
27
63
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
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
|
|
41
|
-
│
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
│
|
|
45
|
-
|
|
46
|
-
│
|
|
47
|
-
│
|
|
48
|
-
│
|
|
49
|
-
|
|
50
|
-
│
|
|
51
|
-
│
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
93
|
+
Auto-refresh hooks run this loop automatically — on every commit or at the end of each AI coding session.
|
|
57
94
|
|
|
58
|
-
###
|
|
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
|
-
|
|
113
|
+
## Key Features
|
|
77
114
|
|
|
78
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
100
|
-
|
|
143
|
+
<details>
|
|
144
|
+
<summary><strong>MCP Server Discovery</strong></summary>
|
|
101
145
|
|
|
102
|
-
|
|
103
|
-
|
|
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
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
+

|
|
274
|
+
|
|
275
|
+
Copy this markdown and replace `94` with your actual score:
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+

|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
360
|
+
## License
|
|
258
361
|
|
|
259
362
|
MIT
|
package/package.json
CHANGED