@rely-ai/caliber 1.11.0 → 1.11.2

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 +17 -6
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -3751,7 +3751,7 @@ var CONTRADICTION_PAIRS = [
3751
3751
  { a: /\buse\s+npm\b/i, b: /\buse\s+(?:pnpm|yarn|bun)\b/i },
3752
3752
  { a: /\buse\s+pnpm\b/i, b: /\buse\s+(?:npm|yarn|bun)\b/i },
3753
3753
  { a: /\buse\s+yarn\b/i, b: /\buse\s+(?:npm|pnpm|bun)\b/i },
3754
- { a: /\btabs\b/i, b: /\bspaces\b/i },
3754
+ { a: /\buse\s+tabs\b/i, b: /\buse\s+spaces\b/i },
3755
3755
  { a: /\bsemicolons?\b.*\balways\b/i, b: /\bno\s+semicolons?\b/i }
3756
3756
  ];
3757
3757
  var CURSOR_ONLY_CHECKS = /* @__PURE__ */ new Set([
@@ -4141,7 +4141,7 @@ function checkQuality(dir) {
4141
4141
  earnedPoints: bloatPoints,
4142
4142
  passed: bloatPoints >= 6,
4143
4143
  detail: primaryName ? `${primaryName}: ${lineCount} lines` : "No context files to measure",
4144
- suggestion: bloatPoints < 4 && primaryName ? `${primaryName} is ${lineCount} lines \u2014 consider trimming. Research shows bloated context reduces accuracy by 3%.` : void 0
4144
+ suggestion: bloatPoints < POINTS_NOT_BLOATED && primaryName ? `${primaryName} is ${lineCount} lines \u2014 must be \u2264120 lines for full points (currently losing ${POINTS_NOT_BLOATED - bloatPoints} pts)` : void 0
4145
4145
  });
4146
4146
  const vagueMatches = [];
4147
4147
  if (combinedContent) {
@@ -4236,7 +4236,7 @@ function checkQuality(dir) {
4236
4236
  earnedPoints: hasContradictions ? 0 : POINTS_NO_CONTRADICTIONS,
4237
4237
  passed: !hasContradictions,
4238
4238
  detail: hasContradictions ? `${contradictions.length} contradiction${contradictions.length === 1 ? "" : "s"} found` : "No conflicting instructions detected",
4239
- suggestion: hasContradictions ? `Contradiction: ${contradictions[0]}` : void 0
4239
+ suggestion: hasContradictions ? `Contradiction: ${contradictions[0]}. Remove or rephrase one of the conflicting statements.` : void 0
4240
4240
  });
4241
4241
  return checks;
4242
4242
  }
@@ -6398,21 +6398,32 @@ async function evaluateDismissals(failingChecks, fingerprint) {
6398
6398
  name: c.name,
6399
6399
  suggestion: c.suggestion
6400
6400
  }));
6401
+ const hasBuildFiles = fingerprint.fileTree.some(
6402
+ (f) => /^(package\.json|Makefile|Cargo\.toml|go\.mod|pyproject\.toml|requirements\.txt|build\.gradle|pom\.xml)$/i.test(f.split("/").pop() || "")
6403
+ );
6404
+ const topFiles = fingerprint.fileTree.slice(0, 30).join(", ");
6401
6405
  try {
6402
6406
  const result = await llmJsonCall({
6403
6407
  system: `You evaluate whether scoring checks are applicable to a project.
6404
- Given the project's languages/frameworks and a list of failing checks, return which checks are NOT applicable.
6408
+ Given the project context and a list of failing checks, return which checks are NOT applicable.
6409
+
6410
+ Only dismiss checks that truly don't apply. Examples:
6411
+ - "Build/test/lint commands" for a GitOps/Helm/Terraform/config repo with no build system
6412
+ - "Build/test/lint commands" for a repo with only YAML, HCL, or config files and no package.json/Makefile
6413
+ - "Dependency coverage" for a repo with no package manager
6405
6414
 
6406
- Only dismiss checks that truly don't apply \u2014 e.g. "Build/test/lint commands" for a pure Terraform/HCL repo with no build system.
6407
6415
  Do NOT dismiss checks that could reasonably apply even if the project doesn't use them yet.
6408
6416
 
6409
6417
  Return {"dismissed": [{"id": "check_id", "reason": "brief reason"}]} or {"dismissed": []} if all apply.`,
6410
6418
  prompt: `Languages: ${fingerprint.languages.join(", ") || "none"}
6411
6419
  Frameworks: ${fingerprint.frameworks.join(", ") || "none"}
6420
+ Tools: ${fingerprint.tools.join(", ") || "none"}
6421
+ Has build files (package.json, Makefile, etc.): ${hasBuildFiles ? "yes" : "no"}
6422
+ Top files: ${topFiles}
6412
6423
 
6413
6424
  Failing checks:
6414
6425
  ${JSON.stringify(checkList, null, 2)}`,
6415
- maxTokens: 200,
6426
+ maxTokens: 300,
6416
6427
  ...fastModel ? { model: fastModel } : {}
6417
6428
  });
6418
6429
  if (!Array.isArray(result.dismissed)) return [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rely-ai/caliber",
3
- "version": "1.11.0",
3
+ "version": "1.11.2",
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": {