@rely-ai/caliber 1.11.1 → 1.12.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 +18 -7
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -1554,7 +1554,7 @@ SCORING CRITERIA \u2014 your output is scored deterministically. Optimize for 10
1554
1554
  Existence (25 pts):
1555
1555
  - CLAUDE.md exists (6 pts) \u2014 always generate for claude/both targets
1556
1556
  - AGENTS.md exists (6 pts) \u2014 always generate for codex target (serves as primary instructions file)
1557
- - Skills configured (8 pts) \u2014 generate exactly 3 focused skills for full points (6 base + 1 per extra, cap 2). Two skills = 7 pts, three = 8 pts.
1557
+ - Skills configured (8 pts) \u2014 generate at least 3 skills for full points. Generate more if the project has multiple distinct tools, frameworks, or workflows that benefit from dedicated skills.
1558
1558
  - MCP servers mentioned (3 pts) \u2014 reference detected MCP integrations
1559
1559
  - For "both" target: .cursorrules/.cursor/rules/ exist (3+3 pts), cross-platform parity (2 pts)
1560
1560
 
@@ -1588,7 +1588,7 @@ Bonus (5 pts):
1588
1588
 
1589
1589
  OUTPUT SIZE CONSTRAINTS \u2014 these are critical:
1590
1590
  - CLAUDE.md / AGENTS.md: MUST be under 100 lines for maximum score. Aim for 70-90 lines. Be extremely concise \u2014 only commands, architecture overview, and key conventions. Use bullet points and tables, not prose.
1591
- - Skills: generate exactly 3 skills per target platform. Only go above 3 for large multi-framework projects.
1591
+ - Skills: generate 3-6 skills per target platform based on project complexity. Each skill should cover a distinct tool, workflow, or domain \u2014 don't pad with generic skills.
1592
1592
  - Each skill content: max 150 lines. Focus on patterns and examples, not exhaustive docs.
1593
1593
  - Cursor rules: max 5 .mdc files.
1594
1594
  - If the project is large, prioritize depth on the 3-4 most critical tools over breadth across everything.`;
@@ -1646,7 +1646,7 @@ CoreSetup schema:
1646
1646
  }
1647
1647
 
1648
1648
  IMPORTANT: Do NOT generate full skill content. Only output skill topic names and descriptions.
1649
- Skills will be generated separately. Generate exactly 3 skill topics per target platform.
1649
+ Skills will be generated separately. Generate 3-6 skill topics per target platform based on project complexity. Each topic should cover a distinct tool, workflow, or domain.
1650
1650
 
1651
1651
  Skill topic description MUST include WHAT it does + WHEN to use it with specific trigger phrases.
1652
1652
  Example: "Manages database migrations. Use when user says 'run migration', 'create migration', 'db schema change', or modifies files in db/migrations/."
@@ -1687,7 +1687,7 @@ Bonus (5 pts): Hooks (2 pts), AGENTS.md (1 pt), OpenSkills format (2 pts) \u2014
1687
1687
  OUTPUT SIZE CONSTRAINTS:
1688
1688
  - CLAUDE.md / AGENTS.md: MUST be under 100 lines. Aim for 70-90 lines.
1689
1689
  - Cursor rules: max 5 .mdc files.
1690
- - Skill topics: exactly 3 per platform (name + description only, no content).`;
1690
+ - Skill topics: 3-6 per platform based on project complexity (name + description only, no content).`;
1691
1691
  var SKILL_GENERATION_PROMPT = `You generate a single skill file for a coding agent (Claude Code, Cursor, or Codex).
1692
1692
 
1693
1693
  Given project context and a skill topic, produce a focused SKILL.md body.
@@ -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.1",
3
+ "version": "1.12.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": {