@rely-ai/caliber 0.7.0 → 0.8.0

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/dist/bin.js +27 -4
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -3756,6 +3756,29 @@ function displayScore(result) {
3756
3756
  console.log("");
3757
3757
  }
3758
3758
  }
3759
+ function displayScoreSummary(result) {
3760
+ const gc = gradeColor(result.grade);
3761
+ const agentLabel = result.targetAgent === "both" ? "Claude Code + Cursor" : result.targetAgent === "claude" ? "Claude Code" : "Cursor";
3762
+ console.log("");
3763
+ console.log(
3764
+ chalk3.gray(" ") + gc(`${result.score}/${result.maxScore}`) + chalk3.gray(` (Grade ${result.grade})`) + chalk3.gray(` \xB7 ${agentLabel}`) + chalk3.gray(` \xB7 ${progressBar(result.score, result.maxScore, 20)}`)
3765
+ );
3766
+ const failing = result.checks.filter((c) => !c.passed && c.suggestion);
3767
+ if (failing.length > 0) {
3768
+ const shown = failing.slice(0, 4);
3769
+ for (const check of shown) {
3770
+ console.log(chalk3.gray(` \u2717 ${check.name}`) + chalk3.dim(` \u2014 ${check.suggestion.slice(0, 60)}`));
3771
+ }
3772
+ if (failing.length > shown.length) {
3773
+ console.log(chalk3.dim(` \u2026 and ${failing.length - shown.length} more \u2014 run ${chalk3.reset("caliber score")} for details`));
3774
+ }
3775
+ }
3776
+ if (failing.length > 0) {
3777
+ console.log(chalk3.dim(`
3778
+ Run ${chalk3.reset("caliber score")} for the full breakdown.`));
3779
+ }
3780
+ console.log("");
3781
+ }
3759
3782
  function displayScoreDelta(before, after) {
3760
3783
  const delta = after.score - before.score;
3761
3784
  const deltaStr = delta >= 0 ? `+${delta}` : `${delta}`;
@@ -3843,8 +3866,9 @@ async function initCommand(options) {
3843
3866
  console.log(chalk4.green(" \u2713 Provider saved. Continuing with init.\n"));
3844
3867
  }
3845
3868
  const displayModel = config.model === "default" && config.provider === "claude-cli" ? process.env.ANTHROPIC_MODEL || "default (inherited from Claude Code)" : config.model;
3846
- console.log(chalk4.dim(` Provider: ${config.provider} | Model: ${displayModel}
3847
- `));
3869
+ const fastModel = process.env.ANTHROPIC_SMALL_FAST_MODEL;
3870
+ const modelLine = fastModel ? ` Provider: ${config.provider} | Model: ${displayModel} | Scan: ${fastModel}` : ` Provider: ${config.provider} | Model: ${displayModel}`;
3871
+ console.log(chalk4.dim(modelLine + "\n"));
3848
3872
  console.log(title.bold(" Step 2/4 \u2014 Scan project\n"));
3849
3873
  console.log(chalk4.dim(" Detecting languages, dependencies, file structure, and existing configs.\n"));
3850
3874
  const spinner = ora("Analyzing project...").start();
@@ -3856,8 +3880,7 @@ async function initCommand(options) {
3856
3880
  `));
3857
3881
  const targetAgent = options.agent || await promptAgent();
3858
3882
  const baselineScore = computeLocalScore(process.cwd(), targetAgent);
3859
- console.log(title.bold(" Current project score\n"));
3860
- displayScore(baselineScore);
3883
+ displayScoreSummary(baselineScore);
3861
3884
  const hasExistingConfig = !!(fingerprint.existingConfigs.claudeMd || fingerprint.existingConfigs.claudeSettings || fingerprint.existingConfigs.claudeSkills?.length || fingerprint.existingConfigs.cursorrules || fingerprint.existingConfigs.cursorRules?.length);
3862
3885
  if (hasExistingConfig && baselineScore.score === 100) {
3863
3886
  console.log(chalk4.bold.green(" Your setup is already optimal \u2014 nothing to change.\n"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rely-ai/caliber",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
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": {