@rely-ai/caliber 1.35.1 → 1.37.0-dev.1774891449

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 (3) hide show
  1. package/README.md +82 -56
  2. package/dist/bin.js +490 -143
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ # Caliber
2
+
3
+ **Hand-written `CLAUDE.md` files go stale the moment you refactor.** Your AI agent hallucinates paths that no longer exist, misses new dependencies, and gives advice based on yesterday's architecture. Caliber generates and maintains your AI context files (`CLAUDE.md`, `.cursor/rules/`, `AGENTS.md`) so they stay accurate as your code evolves — and keeps every agent on your team in sync, whether they use Claude Code, Cursor, Codex, or OpenCode.
4
+
1
5
  <p align="center">
2
6
  <img src="assets/demo-header.gif" alt="Caliber product demo" width="900">
3
7
  </p>
@@ -10,30 +14,15 @@
10
14
  <img src="https://img.shields.io/badge/Claude_Code-supported-blue" alt="Claude Code">
11
15
  <img src="https://img.shields.io/badge/Cursor-supported-blue" alt="Cursor">
12
16
  <img src="https://img.shields.io/badge/Codex-supported-blue" alt="Codex">
17
+ <img src="https://img.shields.io/badge/OpenCode-supported-blue" alt="OpenCode">
13
18
  </p>
14
19
 
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
-
31
20
  ## Before / After
32
21
 
33
22
  Most repos start with a hand-written `CLAUDE.md` and nothing else. Here's what Caliber finds — and fixes:
34
23
 
35
24
  ```
36
- Before After caliber init
25
+ Before After /setup-caliber
37
26
  ────────────────────────────── ──────────────────────────────
38
27
 
39
28
  Agent Config Score 35 / 100 Agent Config Score 94 / 100
@@ -53,6 +42,24 @@ Scoring is deterministic — no LLM, no API calls. It cross-references your conf
53
42
  caliber score --compare main # See how your branch changed the score
54
43
  ```
55
44
 
45
+ ## Get Started
46
+
47
+ Requires **Node.js >= 20**.
48
+
49
+ ```bash
50
+ npx @rely-ai/caliber bootstrap
51
+ ```
52
+
53
+ Then, in your next Claude Code or Cursor chat session, type:
54
+
55
+ > **/setup-caliber**
56
+
57
+ Your agent detects your stack, generates tailored configs for every platform your team uses, sets up pre-commit hooks, and enables continuous sync — all from inside your normal workflow.
58
+
59
+ **Don't use Claude Code or Cursor?** Run `caliber init` instead — it's the same setup as a CLI wizard. Works with any LLM provider: bring your own Anthropic, OpenAI, or Vertex AI key.
60
+
61
+ > **Your code stays on your machine.** Bootstrap is 100% local — no LLM calls, no code sent anywhere. Generation uses your own AI subscription or API key. Caliber never sees your code.
62
+
56
63
  ## Audits first, writes second
57
64
 
58
65
  Caliber never overwrites your existing configs without asking. The workflow mirrors code review:
@@ -67,26 +74,28 @@ If your existing config scores **95+**, Caliber skips full regeneration and appl
67
74
 
68
75
  ## How It Works
69
76
 
70
- Caliber is not a one-time setup tool. It's a loop:
77
+ Bootstrap gives your agent the `/setup-caliber` skill. Your agent analyzes your project — languages, frameworks, dependencies, architecture — generates configs, and installs hooks. From there, it's a loop:
71
78
 
72
79
  ```
73
- caliber score
80
+ npx @rely-ai/caliber bootstrap ← one-time, 2 seconds
74
81
 
75
82
 
76
- ┌──── caliber init ◄────────────────┐
77
- │ (generate / fix)
78
- │ │ │
79
- │ ▼ │
80
- your code evolves
81
- (new deps, renamed files,
82
- changed architecture)
83
-
84
-
85
- └──► caliber refresh ──────────────►┘
86
- (detect drift, update configs)
83
+ agent runs /setup-caliber agent handles everything
84
+
85
+
86
+ ┌──── configs generated ◄────────────┐
87
+
88
+
89
+ your code evolves
90
+ (new deps, renamed files,
91
+ changed architecture)
92
+ │ │ │
93
+ │ ▼ │
94
+ └──► caliber refresh ──────────────►─┘
95
+ (auto, on every commit)
87
96
  ```
88
97
 
89
- Auto-refresh hooks run this loop automatically on every commit or at the end of each AI coding session.
98
+ Pre-commit hooks run the refresh loop automatically. New team members get nudged to bootstrap on their first session.
90
99
 
91
100
  ### What It Generates
92
101
 
@@ -106,6 +115,10 @@ Auto-refresh hooks run this loop automatically — on every commit or at the end
106
115
  - `AGENTS.md` — Project context for Codex
107
116
  - `.agents/skills/*/SKILL.md` — Skills for Codex
108
117
 
118
+ **OpenCode**
119
+ - `AGENTS.md` — Project context (shared with Codex when both are targeted)
120
+ - `.opencode/skills/*/SKILL.md` — Skills for OpenCode
121
+
109
122
  ## Key Features
110
123
 
111
124
  <details>
@@ -118,12 +131,13 @@ TypeScript, Python, Go, Rust, Java, Ruby, Terraform, and more. Language and fram
118
131
  <details>
119
132
  <summary><strong>Any AI Tool</strong></summary>
120
133
 
121
- Target a single platform or all three at once:
134
+ `caliber bootstrap` auto-detects which agents you have installed. For manual control:
122
135
  ```bash
123
136
  caliber init --agent claude # Claude Code only
124
137
  caliber init --agent cursor # Cursor only
125
138
  caliber init --agent codex # Codex only
126
- caliber init --agent all # All three
139
+ caliber init --agent opencode # OpenCode only
140
+ caliber init --agent all # All platforms
127
141
  caliber init --agent claude,cursor # Comma-separated
128
142
  ```
129
143
 
@@ -197,12 +211,20 @@ The `refresh` command analyzes your git diff (committed, staged, and unstaged ch
197
211
 
198
212
  </details>
199
213
 
214
+ <details>
215
+ <summary><strong>Team Onboarding</strong></summary>
216
+
217
+ When Caliber is set up in a repo, it automatically nudges new team members to configure it on their machine. A lightweight session hook checks whether the pre-commit hook is installed and prompts setup if not — no manual coordination needed.
218
+
219
+ </details>
220
+
200
221
  <details>
201
222
  <summary><strong>Fully Reversible</strong></summary>
202
223
 
203
224
  - **Automatic backups** — originals saved to `.caliber/backups/` before every write
204
225
  - **Score regression guard** — if a regeneration produces a lower score, changes are auto-reverted
205
226
  - **Full undo** — `caliber undo` restores everything to its previous state
227
+ - **Clean uninstall** — `caliber uninstall` removes everything Caliber added (hooks, generated sections, skills, learnings) while preserving your own content
206
228
  - **Dry run** — preview changes with `--dry-run` before applying
207
229
 
208
230
  </details>
@@ -211,9 +233,10 @@ The `refresh` command analyzes your git diff (committed, staged, and unstaged ch
211
233
 
212
234
  | Command | Description |
213
235
  |---|---|
236
+ | `caliber bootstrap` | Install agent skills — the fastest way to get started |
237
+ | `caliber init` | Full setup wizard — analyze, generate, review, install hooks |
214
238
  | `caliber score` | Score config quality (deterministic, no LLM) |
215
239
  | `caliber score --compare <ref>` | Compare current score against a git ref |
216
- | `caliber init` | Full setup wizard — analyze, generate, review, install hooks |
217
240
  | `caliber regenerate` | Re-analyze and regenerate configs (aliases: `regen`, `re`) |
218
241
  | `caliber refresh` | Update docs based on recent code changes |
219
242
  | `caliber skills` | Discover and install community skills |
@@ -221,6 +244,7 @@ The `refresh` command analyzes your git diff (committed, staged, and unstaged ch
221
244
  | `caliber hooks` | Manage auto-refresh hooks |
222
245
  | `caliber config` | Configure LLM provider, API key, and model |
223
246
  | `caliber status` | Show current setup status |
247
+ | `caliber uninstall` | Remove all Caliber resources from a project |
224
248
  | `caliber undo` | Revert all changes made by Caliber |
225
249
 
226
250
  ## FAQ
@@ -235,9 +259,16 @@ No. Caliber shows you a diff of every proposed change. You accept, refine, or de
235
259
  <details>
236
260
  <summary><strong>Does it need an API key?</strong></summary>
237
261
 
238
- **Scoring:** No. `caliber score` runs 100% locally with no LLM.
262
+ **Bootstrap & scoring:** No. Both run 100% locally with no LLM.
263
+
264
+ **Generation** (via `/setup-caliber` or `caliber init`): Uses your existing Claude Code or Cursor subscription (no API key needed), or bring your own key for Anthropic, OpenAI, or Vertex AI.
265
+
266
+ </details>
267
+
268
+ <details>
269
+ <summary><strong>What's the difference between bootstrap and init?</strong></summary>
239
270
 
240
- **Generation:** Uses your existing Claude Code or Cursor subscription (no API key needed), or bring your own key for Anthropic, OpenAI, or Vertex AI.
271
+ `caliber bootstrap` installs agent skills in 2 seconds your agent then runs `/setup-caliber` to handle the rest from inside your session. `caliber init` is the full interactive wizard for users who prefer a CLI-driven setup. Both end up in the same place.
241
272
 
242
273
  </details>
243
274
 
@@ -258,24 +289,10 @@ Yes. Run `caliber init` from any directory. `caliber refresh` can update configs
258
289
  <details>
259
290
  <summary><strong>Does it send my code anywhere?</strong></summary>
260
291
 
261
- 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`.
292
+ Scoring is fully local. Generation sends a project summary (languages, structure, dependencies — 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`.
262
293
 
263
294
  </details>
264
295
 
265
- ## Add a Caliber badge to your repo
266
-
267
- After scoring your project, add a badge to your README:
268
-
269
- ![Caliber Score](https://img.shields.io/badge/caliber-94%2F100-brightgreen)
270
-
271
- Copy this markdown and replace `94` with your actual score:
272
-
273
- ```
274
- ![Caliber Score](https://img.shields.io/badge/caliber-SCORE%2F100-COLOR)
275
- ```
276
-
277
- Color guide: `brightgreen` (90+), `green` (70-89), `yellow` (40-69), `red` (<40).
278
-
279
296
  ## LLM Providers
280
297
 
281
298
  No API key? No problem. Caliber works with your existing AI tool subscription:
@@ -333,11 +350,6 @@ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
333
350
 
334
351
  </details>
335
352
 
336
- ## Requirements
337
-
338
- - **Node.js** >= 20
339
- - **One LLM provider:** your **Claude Code** or **Cursor** subscription (no API key), or an API key for Anthropic / OpenAI / Vertex AI
340
-
341
353
  ## Contributing
342
354
 
343
355
  See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.
@@ -353,6 +365,20 @@ npm run build # Compile
353
365
 
354
366
  Uses [conventional commits](https://www.conventionalcommits.org/) — `feat:` for features, `fix:` for bug fixes.
355
367
 
368
+ ## Add a Caliber badge to your repo
369
+
370
+ After scoring your project, add a badge to your README:
371
+
372
+ ![Caliber Score](https://img.shields.io/badge/caliber-94%2F100-brightgreen)
373
+
374
+ Copy this markdown and replace `94` with your actual score:
375
+
376
+ ```
377
+ ![Caliber Score](https://img.shields.io/badge/caliber-SCORE%2F100-COLOR)
378
+ ```
379
+
380
+ Color guide: `brightgreen` (90+), `green` (70-89), `yellow` (40-69), `red` (<40).
381
+
356
382
  ## License
357
383
 
358
384
  MIT