@rely-ai/caliber 1.24.0 → 1.24.1-dev.1773872531
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 +162 -64
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,56 +6,92 @@
|
|
|
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/Claude_Code-supported-blue" alt="Claude Code">
|
|
10
|
+
<img src="https://img.shields.io/badge/Cursor-supported-blue" alt="Cursor">
|
|
11
|
+
<img src="https://img.shields.io/badge/Codex-supported-blue" alt="Codex">
|
|
9
12
|
</p>
|
|
10
13
|
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### Try it — zero install, zero commitment
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx @rely-ai/caliber score
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Score your AI agent config in 3 seconds. No API key. No changes to your code. Just a score.
|
|
23
|
+
|
|
24
|
+
> **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.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
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.
|
|
29
|
+
|
|
11
30
|
<p align="center">
|
|
12
31
|
<img src="assets/demo.gif" alt="Caliber demo" width="640">
|
|
13
32
|
</p>
|
|
14
33
|
|
|
15
|
-
|
|
34
|
+
## Before / After
|
|
35
|
+
|
|
36
|
+
Most repos start with a hand-written `CLAUDE.md` and nothing else. Here's what Caliber finds — and fixes:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Before After caliber init
|
|
40
|
+
────────────────────────────── ──────────────────────────────
|
|
41
|
+
|
|
42
|
+
Agent Config Score 35 / 100 Agent Config Score 94 / 100
|
|
43
|
+
Grade D Grade A
|
|
44
|
+
|
|
45
|
+
FILES & SETUP 6 / 25 FILES & SETUP 24 / 25
|
|
46
|
+
QUALITY 12 / 25 QUALITY 22 / 25
|
|
47
|
+
GROUNDING 7 / 20 GROUNDING 19 / 20
|
|
48
|
+
ACCURACY 5 / 15 ACCURACY 13 / 15
|
|
49
|
+
FRESHNESS 5 / 10 FRESHNESS 10 / 10
|
|
50
|
+
BONUS 0 / 5 BONUS 5 / 5
|
|
51
|
+
```
|
|
16
52
|
|
|
17
|
-
|
|
53
|
+
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
54
|
|
|
19
55
|
```bash
|
|
20
|
-
|
|
21
|
-
caliber init
|
|
56
|
+
caliber score --compare main # See how your branch changed the score
|
|
22
57
|
```
|
|
23
58
|
|
|
24
|
-
|
|
59
|
+
## Audits first, writes second
|
|
25
60
|
|
|
26
|
-
|
|
61
|
+
Caliber never overwrites your existing configs without asking. The workflow mirrors code review:
|
|
27
62
|
|
|
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 |
|
|
63
|
+
1. **Score** — read-only audit of your current setup
|
|
64
|
+
2. **Propose** — generate or improve configs, shown as a diff
|
|
65
|
+
3. **Review** — accept, refine via chat, or decline each change
|
|
66
|
+
4. **Backup** — originals saved to `.caliber/backups/` before every write
|
|
67
|
+
5. **Undo** — `caliber undo` restores everything to its previous state
|
|
36
68
|
|
|
37
|
-
|
|
69
|
+
If your existing config scores **95+**, Caliber skips full regeneration and applies targeted fixes to the specific checks that are failing.
|
|
70
|
+
|
|
71
|
+
## How It Works
|
|
72
|
+
|
|
73
|
+
Caliber is not a one-time setup tool. It's a loop:
|
|
38
74
|
|
|
39
75
|
```
|
|
40
|
-
caliber
|
|
41
|
-
│
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
│
|
|
45
|
-
|
|
46
|
-
│
|
|
47
|
-
│
|
|
48
|
-
│
|
|
49
|
-
|
|
50
|
-
│
|
|
51
|
-
│
|
|
52
|
-
|
|
53
|
-
|
|
76
|
+
caliber score
|
|
77
|
+
│
|
|
78
|
+
▼
|
|
79
|
+
┌──── caliber init ◄────────────────┐
|
|
80
|
+
│ (generate / fix) │
|
|
81
|
+
│ │ │
|
|
82
|
+
│ ▼ │
|
|
83
|
+
│ your code evolves │
|
|
84
|
+
│ (new deps, renamed files, │
|
|
85
|
+
│ changed architecture) │
|
|
86
|
+
│ │ │
|
|
87
|
+
│ ▼ │
|
|
88
|
+
└──► caliber refresh ──────────────►┘
|
|
89
|
+
(detect drift, update configs)
|
|
54
90
|
```
|
|
55
91
|
|
|
56
|
-
|
|
92
|
+
Auto-refresh hooks run this loop automatically — on every commit or at the end of each AI coding session.
|
|
57
93
|
|
|
58
|
-
###
|
|
94
|
+
### What It Generates
|
|
59
95
|
|
|
60
96
|
**Claude Code**
|
|
61
97
|
- `CLAUDE.md` — Project context, build/test commands, architecture, conventions
|
|
@@ -73,14 +109,18 @@ Already have a setup? If your existing config scores **95+**, Caliber skips full
|
|
|
73
109
|
- `AGENTS.md` — Project context for Codex
|
|
74
110
|
- `.agents/skills/*/SKILL.md` — Skills for Codex
|
|
75
111
|
|
|
76
|
-
|
|
112
|
+
## Key Features
|
|
77
113
|
|
|
78
|
-
|
|
114
|
+
<details>
|
|
115
|
+
<summary><strong>Any Codebase</strong></summary>
|
|
79
116
|
|
|
80
|
-
### 🌍 Any Codebase
|
|
81
117
|
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
118
|
|
|
83
|
-
|
|
119
|
+
</details>
|
|
120
|
+
|
|
121
|
+
<details>
|
|
122
|
+
<summary><strong>Any AI Tool</strong></summary>
|
|
123
|
+
|
|
84
124
|
Target a single platform or all three at once:
|
|
85
125
|
```bash
|
|
86
126
|
caliber init --agent claude # Claude Code only
|
|
@@ -90,28 +130,26 @@ caliber init --agent all # All three
|
|
|
90
130
|
caliber init --agent claude,cursor # Comma-separated
|
|
91
131
|
```
|
|
92
132
|
|
|
93
|
-
|
|
133
|
+
</details>
|
|
134
|
+
|
|
135
|
+
<details>
|
|
136
|
+
<summary><strong>Chat-Based Refinement</strong></summary>
|
|
137
|
+
|
|
94
138
|
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
139
|
|
|
96
|
-
|
|
97
|
-
Caliber detects the tools your project uses (databases, APIs, services) and auto-configures matching MCP servers for Claude Code and Cursor.
|
|
140
|
+
</details>
|
|
98
141
|
|
|
99
|
-
|
|
100
|
-
|
|
142
|
+
<details>
|
|
143
|
+
<summary><strong>MCP Server Discovery</strong></summary>
|
|
101
144
|
|
|
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
|
-
```
|
|
145
|
+
Caliber detects the tools your project uses (databases, APIs, services) and auto-configures matching MCP servers for Claude Code and Cursor.
|
|
146
|
+
|
|
147
|
+
</details>
|
|
112
148
|
|
|
113
149
|
<details>
|
|
114
|
-
<summary>Scoring
|
|
150
|
+
<summary><strong>Deterministic Scoring</strong></summary>
|
|
151
|
+
|
|
152
|
+
`caliber score` evaluates your config quality without any LLM calls — purely by cross-referencing config files against your actual project filesystem.
|
|
115
153
|
|
|
116
154
|
| Category | Points | What it checks |
|
|
117
155
|
|---|---|---|
|
|
@@ -126,7 +164,9 @@ Every failing check includes structured fix data — when `caliber init` runs, t
|
|
|
126
164
|
|
|
127
165
|
</details>
|
|
128
166
|
|
|
129
|
-
|
|
167
|
+
<details>
|
|
168
|
+
<summary><strong>Session Learning</strong></summary>
|
|
169
|
+
|
|
130
170
|
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
171
|
|
|
132
172
|
```bash
|
|
@@ -136,9 +176,13 @@ caliber learn finalize # Manually trigger analysis (auto-runs on session end
|
|
|
136
176
|
caliber learn remove # Remove hooks
|
|
137
177
|
```
|
|
138
178
|
|
|
139
|
-
Learned items are categorized by type — **[correction]**, **[gotcha]**, **[fix]**, **[pattern]**, **[env]**, **[convention]** — and automatically deduplicated.
|
|
179
|
+
Learned items are categorized by type — **[correction]**, **[gotcha]**, **[fix]**, **[pattern]**, **[env]**, **[convention]** — and automatically deduplicated.
|
|
180
|
+
|
|
181
|
+
</details>
|
|
182
|
+
|
|
183
|
+
<details>
|
|
184
|
+
<summary><strong>Auto-Refresh</strong></summary>
|
|
140
185
|
|
|
141
|
-
### 🔄 Auto-Refresh
|
|
142
186
|
Keep configs in sync with your codebase automatically:
|
|
143
187
|
|
|
144
188
|
| Hook | Trigger | What it does |
|
|
@@ -150,24 +194,29 @@ Keep configs in sync with your codebase automatically:
|
|
|
150
194
|
```bash
|
|
151
195
|
caliber hooks --install # Enable refresh hooks
|
|
152
196
|
caliber hooks --remove # Disable refresh hooks
|
|
153
|
-
caliber learn install # Enable learning hooks
|
|
154
197
|
```
|
|
155
198
|
|
|
156
|
-
The `refresh` command analyzes your git diff (committed, staged, and unstaged changes) and updates config files to reflect what changed.
|
|
199
|
+
The `refresh` command analyzes your git diff (committed, staged, and unstaged changes) and updates config files to reflect what changed.
|
|
200
|
+
|
|
201
|
+
</details>
|
|
202
|
+
|
|
203
|
+
<details>
|
|
204
|
+
<summary><strong>Fully Reversible</strong></summary>
|
|
157
205
|
|
|
158
|
-
### 🛡️ Fully Reversible
|
|
159
|
-
Every change Caliber makes can be undone:
|
|
160
206
|
- **Automatic backups** — originals saved to `.caliber/backups/` before every write
|
|
161
207
|
- **Score regression guard** — if a regeneration produces a lower score, changes are auto-reverted
|
|
162
208
|
- **Full undo** — `caliber undo` restores everything to its previous state
|
|
163
209
|
- **Dry run** — preview changes with `--dry-run` before applying
|
|
164
210
|
|
|
165
|
-
|
|
211
|
+
</details>
|
|
212
|
+
|
|
213
|
+
## Commands
|
|
166
214
|
|
|
167
215
|
| Command | Description |
|
|
168
216
|
|---|---|
|
|
169
|
-
| `caliber init` | Full setup wizard — analyze, generate, review, install hooks |
|
|
170
217
|
| `caliber score` | Score config quality (deterministic, no LLM) |
|
|
218
|
+
| `caliber score --compare <ref>` | Compare current score against a git ref |
|
|
219
|
+
| `caliber init` | Full setup wizard — analyze, generate, review, install hooks |
|
|
171
220
|
| `caliber regenerate` | Re-analyze and regenerate configs (aliases: `regen`, `re`) |
|
|
172
221
|
| `caliber refresh` | Update docs based on recent code changes |
|
|
173
222
|
| `caliber skills` | Discover and install community skills |
|
|
@@ -177,7 +226,56 @@ Every change Caliber makes can be undone:
|
|
|
177
226
|
| `caliber status` | Show current setup status |
|
|
178
227
|
| `caliber undo` | Revert all changes made by Caliber |
|
|
179
228
|
|
|
180
|
-
##
|
|
229
|
+
## FAQ
|
|
230
|
+
|
|
231
|
+
<details>
|
|
232
|
+
<summary><strong>Does it overwrite my existing configs?</strong></summary>
|
|
233
|
+
|
|
234
|
+
No. Caliber shows you a diff of every proposed change. You accept, refine, or decline each one. Originals are backed up automatically.
|
|
235
|
+
|
|
236
|
+
</details>
|
|
237
|
+
|
|
238
|
+
<details>
|
|
239
|
+
<summary><strong>Does it need an API key?</strong></summary>
|
|
240
|
+
|
|
241
|
+
**Scoring:** No. `caliber score` runs 100% locally with no LLM.
|
|
242
|
+
|
|
243
|
+
**Generation:** Uses your existing Claude Code or Cursor subscription (no API key needed), or bring your own key for Anthropic, OpenAI, or Vertex AI.
|
|
244
|
+
|
|
245
|
+
</details>
|
|
246
|
+
|
|
247
|
+
<details>
|
|
248
|
+
<summary><strong>What if I don't like what it generates?</strong></summary>
|
|
249
|
+
|
|
250
|
+
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`.
|
|
251
|
+
|
|
252
|
+
</details>
|
|
253
|
+
|
|
254
|
+
<details>
|
|
255
|
+
<summary><strong>Does it work with monorepos?</strong></summary>
|
|
256
|
+
|
|
257
|
+
Yes. Run `caliber init` from any directory. `caliber refresh` can update configs across multiple repos when run from a parent directory.
|
|
258
|
+
|
|
259
|
+
</details>
|
|
260
|
+
|
|
261
|
+
<details>
|
|
262
|
+
<summary><strong>Does it send my code anywhere?</strong></summary>
|
|
263
|
+
|
|
264
|
+
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`.
|
|
265
|
+
|
|
266
|
+
</details>
|
|
267
|
+
|
|
268
|
+
## Add a Caliber badge to your repo
|
|
269
|
+
|
|
270
|
+
After scoring your project, add a badge to your README:
|
|
271
|
+
|
|
272
|
+
```markdown
|
|
273
|
+

|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Replace `94` with your actual score. Color guide: `brightgreen` (90+), `green` (70-89), `yellow` (40-69), `red` (<40).
|
|
277
|
+
|
|
278
|
+
## LLM Providers
|
|
181
279
|
|
|
182
280
|
No API key? No problem. Caliber works with your existing AI tool subscription:
|
|
183
281
|
|
|
@@ -234,12 +332,12 @@ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
|
|
234
332
|
|
|
235
333
|
</details>
|
|
236
334
|
|
|
237
|
-
##
|
|
335
|
+
## Requirements
|
|
238
336
|
|
|
239
337
|
- **Node.js** >= 20
|
|
240
338
|
- **One LLM provider:** your **Claude Code** or **Cursor** subscription (no API key), or an API key for Anthropic / OpenAI / Vertex AI
|
|
241
339
|
|
|
242
|
-
##
|
|
340
|
+
## Contributing
|
|
243
341
|
|
|
244
342
|
See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.
|
|
245
343
|
|
|
@@ -254,6 +352,6 @@ npm run build # Compile
|
|
|
254
352
|
|
|
255
353
|
Uses [conventional commits](https://www.conventionalcommits.org/) — `feat:` for features, `fix:` for bug fixes.
|
|
256
354
|
|
|
257
|
-
##
|
|
355
|
+
## License
|
|
258
356
|
|
|
259
357
|
MIT
|
package/package.json
CHANGED