@rely-ai/caliber 1.18.2 → 1.18.3

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 +100 -146
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -1759,31 +1759,21 @@ async function validateModel(options) {
1759
1759
  init_config();
1760
1760
 
1761
1761
  // src/ai/prompts.ts
1762
- var GENERATION_SYSTEM_PROMPT = `You are an expert auditor for coding agent configurations (Claude Code, Cursor, and Codex).
1762
+ var ROLE_AND_CONTEXT = `You are an expert auditor for coding agent configurations (Claude Code, Cursor, and Codex).
1763
1763
 
1764
1764
  Your job depends on context:
1765
1765
  - If no existing configs exist \u2192 generate an initial setup from scratch.
1766
- - If existing configs are provided \u2192 audit them and suggest targeted improvements. Preserve accurate content \u2014 don't rewrite what's already correct.
1767
-
1768
- You understand these config files:
1766
+ - If existing configs are provided \u2192 audit them and suggest targeted improvements. Preserve accurate content \u2014 don't rewrite what's already correct.`;
1767
+ var CONFIG_FILE_TYPES = `You understand these config files:
1769
1768
  - CLAUDE.md: Project context for Claude Code \u2014 build/test commands, architecture, conventions.
1770
1769
  - AGENTS.md: Primary instructions file for OpenAI Codex \u2014 same purpose as CLAUDE.md but for the Codex agent. Also serves as a cross-agent coordination file.
1771
1770
  - .claude/skills/{name}/SKILL.md: Skill files following the OpenSkills standard (agentskills.io). Each skill is a directory named after the skill, containing a SKILL.md with YAML frontmatter.
1772
1771
  - .agents/skills/{name}/SKILL.md: Same OpenSkills format for Codex skills (Codex scans .agents/skills/ for skills).
1772
+ - .cursor/skills/{name}/SKILL.md: Same OpenSkills format for Cursor skills.
1773
1773
  - .cursorrules: Coding rules for Cursor (deprecated legacy format \u2014 do NOT generate this).
1774
- - .cursor/rules/*.mdc: Modern Cursor rules with frontmatter (description, globs, alwaysApply).
1775
- - .cursor/skills/{name}/SKILL.md: Same OpenSkills format as Claude skills.
1776
-
1777
- Audit checklist (when existing configs are provided):
1778
- 1. CLAUDE.md / README accuracy \u2014 do documented commands, paths, and architecture match the actual codebase?
1779
- 2. Missing skills \u2014 are there detected tools/frameworks that should have dedicated skills?
1780
- 3. Duplicate or overlapping skills \u2014 can any be merged or removed?
1781
- 4. Undocumented conventions \u2014 are there code patterns (commit style, async patterns, error handling) not captured in docs?
1782
- 5. Stale references \u2014 do docs mention removed files, renamed commands, or outdated patterns?
1783
-
1784
- Do NOT generate .claude/settings.json or .claude/settings.local.json \u2014 those are managed by the user directly.
1785
-
1786
- Your output MUST follow this exact format (no markdown fences):
1774
+ - .cursor/rules/*.mdc: Modern Cursor rules with frontmatter (description, globs, alwaysApply).`;
1775
+ var EXCLUSIONS = `Do NOT generate .claude/settings.json, .claude/settings.local.json, or mcpServers \u2014 those are managed separately.`;
1776
+ var OUTPUT_FORMAT = `Your output MUST follow this exact format (no markdown fences):
1787
1777
 
1788
1778
  1. Exactly 6 short status lines (one per line, prefixed with "STATUS: "). Each should be a creative, specific description of what you're analyzing for THIS project \u2014 reference the project's actual languages, frameworks, or tools.
1789
1779
 
@@ -1797,34 +1787,11 @@ EXPLAIN:
1797
1787
 
1798
1788
  Omit empty categories. Keep each reason punchy and specific. End with a blank line.
1799
1789
 
1800
- 3. The JSON object starting with {.
1801
-
1802
- AgentSetup schema:
1803
- {
1804
- "targetAgent": ["claude", "cursor", "codex"] (array of selected agents),
1805
- "fileDescriptions": {
1806
- "<file-path>": "reason for this change (max 80 chars)"
1807
- },
1808
- "deletions": [
1809
- { "filePath": "<path>", "reason": "why remove (max 80 chars)" }
1810
- ],
1811
- "claude": {
1812
- "claudeMd": "string (markdown content for CLAUDE.md)",
1813
- "skills": [{ "name": "string (kebab-case, matches directory name)", "description": "string (what this skill does and when to use it)", "content": "string (markdown body \u2014 NO frontmatter, it will be generated from name+description)" }]
1814
- },
1815
- "codex": {
1816
- "agentsMd": "string (markdown content for AGENTS.md \u2014 the primary Codex instructions file, same quality/structure as CLAUDE.md)",
1817
- "skills": [{ "name": "string (kebab-case, matches directory name)", "description": "string (what this skill does and when to use it)", "content": "string (markdown body \u2014 NO frontmatter, it will be generated from name+description)" }]
1818
- },
1819
- "cursor": {
1820
- "skills": [{ "name": "string (kebab-case, matches directory name)", "description": "string (what this skill does and when to use it)", "content": "string (markdown body \u2014 NO frontmatter, it will be generated from name+description)" }],
1821
- "rules": [{ "filename": "string.mdc", "content": "string (with frontmatter)" }]
1822
- }
1823
- }
1824
-
1825
- Do NOT generate mcpServers \u2014 MCP configuration is managed separately.
1790
+ 3. The JSON object starting with {.`;
1791
+ var FILE_DESCRIPTIONS_RULES = `The "fileDescriptions" object MUST include a one-liner for every file that will be created or modified. Use actual file paths as keys (e.g. "CLAUDE.md", "AGENTS.md", ".claude/skills/my-skill/SKILL.md", ".agents/skills/my-skill/SKILL.md", ".cursor/skills/my-skill/SKILL.md", ".cursor/rules/my-rule.mdc"). Each description should explain why the change is needed, be concise and lowercase.
1826
1792
 
1827
- All skills follow the OpenSkills standard (agentskills.io). Anthropic's official skill guide defines three levels of progressive disclosure:
1793
+ The "deletions" array should list files that should be removed (e.g. duplicate skills, stale configs). Include a reason for each. Omit the array or leave empty if nothing should be deleted.`;
1794
+ var SKILL_FORMAT_RULES = `All skills follow the OpenSkills standard (agentskills.io). Anthropic's official skill guide defines three levels of progressive disclosure:
1828
1795
  - Level 1 (YAML frontmatter): Always loaded. Must have enough info for the agent to decide when to activate the skill.
1829
1796
  - Level 2 (SKILL.md body): Loaded when the skill is relevant. Contains full instructions.
1830
1797
  - Level 3 (references/): Only loaded on demand for deep detail.
@@ -1840,84 +1807,93 @@ Skill content structure \u2014 follow this template:
1840
1807
  3. "## Examples" \u2014 at least one example showing: User says \u2192 Actions taken \u2192 Result
1841
1808
  4. "## Troubleshooting" (optional) \u2014 common errors and how to fix them
1842
1809
 
1843
- Keep skill content under 200 lines. Focus on actionable instructions, not documentation prose.
1844
-
1845
- The "fileDescriptions" object MUST include a one-liner for every file that will be created or modified. Use actual file paths as keys (e.g. "CLAUDE.md", "AGENTS.md", ".claude/skills/my-skill/SKILL.md", ".agents/skills/my-skill/SKILL.md", ".cursor/skills/my-skill/SKILL.md", ".cursor/rules/my-rule.mdc"). Each description should explain why the change is needed, be concise and lowercase.
1846
-
1847
- The "deletions" array should list files that should be removed (e.g. duplicate skills, stale configs). Include a reason for each. Omit the array or leave empty if nothing should be deleted.
1848
-
1849
- SCORING CRITERIA \u2014 your output is scored deterministically. Optimize for 100/100:
1810
+ Keep skill content under 200 lines. Focus on actionable instructions, not documentation prose.`;
1811
+ var SCORING_CRITERIA = `SCORING CRITERIA \u2014 your output is scored deterministically against the actual filesystem. Optimize for 100/100:
1850
1812
 
1851
1813
  Existence (25 pts):
1852
- - CLAUDE.md exists (6 pts) \u2014 always generate for claude/both targets
1853
- - AGENTS.md exists (6 pts) \u2014 always generate for codex target (serves as primary instructions file)
1854
- - 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.
1855
- - MCP servers mentioned (3 pts) \u2014 reference detected MCP integrations
1856
- - For "both" target: .cursorrules/.cursor/rules/ exist (3+3 pts), cross-platform parity (2 pts)
1814
+ - CLAUDE.md exists (6 pts) \u2014 always generate for claude targets
1815
+ - AGENTS.md exists (6 pts) \u2014 always generate for codex target
1816
+ - Skills configured (8 pts) \u2014 generate 3+ skills for full points
1817
+ - MCP servers referenced (3 pts) \u2014 mention detected MCP integrations in your config text
1818
+ - When cursor is targeted: Cursor rules exist (3+3 pts), cross-platform parity (2 pts)
1857
1819
 
1858
1820
  Quality (25 pts):
1859
- - Build/test/lint commands documented (8 pts) \u2014 include actual commands from the project
1860
- - Concise context files (6 pts) \u2014 keep CLAUDE.md under 150 lines for full points (200=4pts, 300=3pts, 500+=0pts)
1861
- - No vague instructions (4 pts) \u2014 avoid "follow best practices", "write clean code", "ensure quality"
1821
+ - Executable content (8 pts) \u2014 include 3+ code blocks with actual project commands (3 blocks = full points, 2 = 6pts, 1 = 3pts)
1822
+ - Concise config (6 pts) \u2014 total tokens across ALL config files must be under 2000 for full points (3500=5pts, 5000=4pts, 8000+=low)
1823
+ - Concrete instructions (4 pts) \u2014 every line should reference specific files, paths, or code in backticks. Avoid generic prose like "follow best practices" or "write clean code".
1862
1824
  - No directory tree listings (3 pts) \u2014 do NOT include tree-style file listings in code blocks
1863
- - No contradictions (2 pts) \u2014 consistent tool/style recommendations
1864
-
1865
- Coverage (20 pts):
1866
- - Dependency coverage (10 pts) \u2014 CRITICAL: the exact dependency list is provided in your input under "DEPENDENCY COVERAGE". Mention AT LEAST 85% of them by name in CLAUDE.md or skills. You get full points at 85%+, proportional below that. Weave them naturally into architecture, key deps, and conventions sections.
1867
- - Service/MCP coverage (6 pts) \u2014 reference detected services (DB, cloud, etc.)
1868
- - MCP completeness (4 pts) \u2014 full points if no external services detected
1869
-
1870
- Accuracy (15 pts) \u2014 THIS IS CRITICAL, READ CAREFULLY:
1871
- - Documented commands exist (6 pts) \u2014 the scoring system validates EVERY command you write against the project's actual package.json scripts, Makefile targets, or Cargo.toml. If you write "yarn build" but there is no "build" script in package.json, you LOSE points. Rules:
1872
- * Look at the "scripts" section in the provided package.json. ONLY reference scripts that exist there.
1873
- * If a project uses Makefiles, only reference targets that exist in the Makefile.
1874
- * If there are no build/test scripts, do NOT invent them. Document what actually exists.
1875
- * Use the exact package manager the project uses (npm/yarn/pnpm/bun) \u2014 check the lockfile.
1876
- - Documented paths exist (4 pts) \u2014 ONLY reference file paths from the provided file tree. Never guess paths.
1877
- - Config freshness (5 pts) \u2014 config must match current code state
1878
-
1879
- Freshness & Safety (10 pts):
1880
- - No secrets in configs (4 pts) \u2014 never include API keys, tokens, or credentials
1881
- - Permissions configured (2 pts) \u2014 handled by caliber, not your responsibility
1882
-
1883
- Bonus (5 pts):
1884
- - Hooks configured (2 pts), AGENTS.md (1 pt), OpenSkills format (2 pts) \u2014 handled by caliber
1885
-
1886
- OUTPUT SIZE CONSTRAINTS \u2014 these are critical:
1825
+ - No duplicate content (2 pts) \u2014 don't repeat the same content across CLAUDE.md and cursor rules
1826
+ - Structured with headings (2 pts) \u2014 use at least 3 ## sections and bullet lists
1827
+
1828
+ Grounding (20 pts) \u2014 CRITICAL:
1829
+ - Project grounding (12 pts) \u2014 reference the project's actual directories and files by name. The scoring checks which project dirs/files from the file tree appear in your config. Mention key directories and files. (50%+ coverage = full points, 35% = 9pts, 20% = 6pts, 10% = 3pts)
1830
+ - Reference density (8 pts) \u2014 use backticks and inline code extensively. Every file path, command, or identifier should be in backticks. Higher density of backtick references per line = higher score. (40%+ = full, 25% = 6pts, 15% = 4pts)
1831
+
1832
+ Accuracy (15 pts) \u2014 CRITICAL:
1833
+ - References valid (8 pts) \u2014 ONLY reference file paths that exist in the provided file tree. Every path in backticks is validated against the filesystem. If you write a path that doesn't exist, you LOSE points.
1834
+ - Config drift (7 pts) \u2014 handled automatically by caliber (git-based), not your responsibility.
1835
+
1836
+ Safety: Never include API keys, tokens, or credentials in config files.
1837
+
1838
+ Note: Permissions, hooks, freshness tracking, and OpenSkills frontmatter are scored automatically by caliber \u2014 do not optimize for them.`;
1839
+ var OUTPUT_SIZE_CONSTRAINTS = `OUTPUT SIZE CONSTRAINTS \u2014 these are critical:
1887
1840
  - CLAUDE.md / AGENTS.md: MUST be under 150 lines for maximum score. Aim for 100-140 lines. Be concise \u2014 commands, architecture overview, and key conventions. Use bullet points and tables, not prose.
1888
- - 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.
1889
1841
  - Each skill content: max 150 lines. Focus on patterns and examples, not exhaustive docs.
1890
1842
  - Cursor rules: max 5 .mdc files.
1891
1843
  - If the project is large, prioritize depth on the 3-4 most critical tools over breadth across everything.`;
1892
- var CORE_GENERATION_PROMPT = `You are an expert auditor for coding agent configurations (Claude Code, Cursor, and Codex).
1844
+ var GENERATION_SYSTEM_PROMPT = `${ROLE_AND_CONTEXT}
1893
1845
 
1894
- Your job depends on context:
1895
- - If no existing configs exist \u2192 generate an initial setup from scratch.
1896
- - If existing configs are provided \u2192 audit them and suggest targeted improvements. Preserve accurate content \u2014 don't rewrite what's already correct.
1846
+ ${CONFIG_FILE_TYPES}
1897
1847
 
1898
- You understand these config files:
1899
- - CLAUDE.md: Project context for Claude Code \u2014 build/test commands, architecture, conventions.
1900
- - AGENTS.md: Primary instructions file for OpenAI Codex \u2014 same purpose as CLAUDE.md but for the Codex agent.
1901
- - .cursorrules: Coding rules for Cursor (deprecated legacy format \u2014 do NOT generate this).
1902
- - .cursor/rules/*.mdc: Modern Cursor rules with frontmatter (description, globs, alwaysApply).
1848
+ Audit checklist (when existing configs are provided):
1849
+ 1. CLAUDE.md / README accuracy \u2014 do documented commands, paths, and architecture match the actual codebase?
1850
+ 2. Missing skills \u2014 are there detected tools/frameworks that should have dedicated skills?
1851
+ 3. Duplicate or overlapping skills \u2014 can any be merged or removed?
1852
+ 4. Undocumented conventions \u2014 are there code patterns (commit style, async patterns, error handling) not captured in docs?
1853
+ 5. Stale references \u2014 do docs mention removed files, renamed commands, or outdated patterns?
1903
1854
 
1904
- Do NOT generate .claude/settings.json, .claude/settings.local.json, or mcpServers.
1855
+ ${EXCLUSIONS}
1905
1856
 
1906
- Your output MUST follow this exact format (no markdown fences):
1857
+ ${OUTPUT_FORMAT}
1907
1858
 
1908
- 1. Exactly 6 short status lines (one per line, prefixed with "STATUS: "). Each should be a creative, specific description of what you're analyzing for THIS project \u2014 reference the project's actual languages, frameworks, or tools.
1859
+ AgentSetup schema:
1860
+ {
1861
+ "targetAgent": ["claude", "cursor", "codex"] (array of selected agents),
1862
+ "fileDescriptions": {
1863
+ "<file-path>": "reason for this change (max 80 chars)"
1864
+ },
1865
+ "deletions": [
1866
+ { "filePath": "<path>", "reason": "why remove (max 80 chars)" }
1867
+ ],
1868
+ "claude": {
1869
+ "claudeMd": "string (markdown content for CLAUDE.md)",
1870
+ "skills": [{ "name": "string (kebab-case, matches directory name)", "description": "string (what this skill does and when to use it)", "content": "string (markdown body \u2014 NO frontmatter, it will be generated from name+description)" }]
1871
+ },
1872
+ "codex": {
1873
+ "agentsMd": "string (markdown content for AGENTS.md \u2014 the primary Codex instructions file, same quality/structure as CLAUDE.md)",
1874
+ "skills": [{ "name": "string (kebab-case, matches directory name)", "description": "string (what this skill does and when to use it)", "content": "string (markdown body \u2014 NO frontmatter, it will be generated from name+description)" }]
1875
+ },
1876
+ "cursor": {
1877
+ "skills": [{ "name": "string (kebab-case, matches directory name)", "description": "string (what this skill does and when to use it)", "content": "string (markdown body \u2014 NO frontmatter, it will be generated from name+description)" }],
1878
+ "rules": [{ "filename": "string.mdc", "content": "string (with frontmatter)" }]
1879
+ }
1880
+ }
1909
1881
 
1910
- 2. A brief explanation section starting with "EXPLAIN:" on its own line:
1882
+ ${SKILL_FORMAT_RULES}
1911
1883
 
1912
- EXPLAIN:
1913
- [Changes]
1914
- - **file-or-skill-name**: short reason (max 10 words)
1915
- [Deletions]
1916
- - **file-path**: short reason (max 10 words)
1884
+ ${FILE_DESCRIPTIONS_RULES}
1917
1885
 
1918
- Omit empty categories. Keep each reason punchy and specific. End with a blank line.
1886
+ ${SCORING_CRITERIA}
1887
+
1888
+ ${OUTPUT_SIZE_CONSTRAINTS}
1889
+ - 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.`;
1890
+ var CORE_GENERATION_PROMPT = `${ROLE_AND_CONTEXT}
1891
+
1892
+ ${CONFIG_FILE_TYPES}
1919
1893
 
1920
- 3. The JSON object starting with {.
1894
+ ${EXCLUSIONS}
1895
+
1896
+ ${OUTPUT_FORMAT}
1921
1897
 
1922
1898
  CoreSetup schema:
1923
1899
  {
@@ -1955,40 +1931,11 @@ Skill topic description MUST follow this formula: [What it does] + [When to use
1955
1931
  Include specific trigger phrases users would actually say. Also include negative triggers to prevent over-triggering.
1956
1932
  Example: "Creates a new API endpoint following the project's route pattern. Handles request validation, error responses, and DB queries. Use when user says 'add endpoint', 'new route', 'create API', or adds files to src/routes/. Do NOT use for modifying existing routes."
1957
1933
 
1958
- The "fileDescriptions" object MUST include a one-liner for every file that will be created or modified.
1959
- The "deletions" array should list files that should be removed (e.g. stale configs). Omit if empty.
1934
+ ${FILE_DESCRIPTIONS_RULES}
1960
1935
 
1961
- SCORING CRITERIA \u2014 your output is scored deterministically against the actual filesystem. Optimize for 100/100:
1936
+ ${SCORING_CRITERIA}
1962
1937
 
1963
- Existence (25 pts):
1964
- - CLAUDE.md exists (6 pts) \u2014 always generate for claude targets
1965
- - AGENTS.md exists (6 pts) \u2014 always generate for codex target
1966
- - Skills configured (8 pts) \u2014 generate 3+ skill topics for full points
1967
- - For "both" target: .cursor/rules/ exist (3+3 pts), cross-platform parity (2 pts)
1968
-
1969
- Quality (25 pts):
1970
- - Executable content (8 pts) \u2014 include 3+ code blocks with project commands (3 blocks = full points)
1971
- - Concise config (6 pts) \u2014 total tokens across ALL config files must be under 2000 for full points (5000=4pts, 8000+=low)
1972
- - Concrete instructions (4 pts) \u2014 every line should reference specific files, paths, or code in backticks. Avoid generic prose.
1973
- - No directory tree listings (3 pts) \u2014 do NOT include tree-style file listings
1974
- - Structured with headings (2 pts) \u2014 use at least 3 ## sections and bullet lists
1975
-
1976
- Grounding (20 pts) \u2014 CRITICAL:
1977
- - Project grounding (12 pts) \u2014 reference the project's actual directories and files by name. The scoring checks which project dirs/files appear in your config. Mention key directories from the file tree.
1978
- - Reference density (8 pts) \u2014 use backticks and inline code extensively. Every file path, command, or identifier should be in backticks. Higher density of specific references = higher score.
1979
-
1980
- Accuracy (15 pts) \u2014 CRITICAL:
1981
- - References valid (8 pts) \u2014 ONLY reference file paths that exist in the provided file tree. Every path in backticks is validated against the filesystem.
1982
- - Config drift (7 pts) \u2014 config must match current code state
1983
-
1984
- Freshness & Safety (10 pts):
1985
- - No secrets (4 pts), Permissions (2 pts \u2014 handled by caliber), Freshness (4 pts \u2014 handled by caliber)
1986
-
1987
- Bonus (5 pts): Hooks (2 pts), AGENTS.md (1 pt), OpenSkills format (2 pts) \u2014 handled by caliber
1988
-
1989
- OUTPUT SIZE CONSTRAINTS:
1990
- - CLAUDE.md / AGENTS.md: MUST be under 150 lines. Aim for 100-140 lines.
1991
- - Cursor rules: max 5 .mdc files.
1938
+ ${OUTPUT_SIZE_CONSTRAINTS}
1992
1939
  - Skill topics: 3-6 per platform based on project complexity (name + description only, no content).`;
1993
1940
  var SKILL_GENERATION_PROMPT = `You generate a single skill file for a coding agent (Claude Code, Cursor, or Codex).
1994
1941
 
@@ -2053,12 +2000,20 @@ Rules:
2053
2000
  - Preserve all fields that the user did not ask to change.
2054
2001
  - Do NOT generate mcpServers \u2014 MCP configuration is managed separately.
2055
2002
  - Skills use OpenSkills format: name is kebab-case directory name, content is markdown body without frontmatter.
2056
- - Update the "fileDescriptions" to reflect any changes you make.`;
2003
+ - Update the "fileDescriptions" to reflect any changes you make.
2004
+
2005
+ Quality constraints \u2014 your changes are scored, so do not break these:
2006
+ - CLAUDE.md / AGENTS.md: MUST stay under 150 lines. If adding content, remove less important lines to stay within budget.
2007
+ - Avoid vague instructions ("follow best practices", "write clean code", "ensure quality").
2008
+ - Do NOT add directory tree listings in code blocks.
2009
+ - Use backticks for every file path, command, and identifier.
2010
+ - Keep skill content under 150 lines, focused on actionable instructions.
2011
+ - Only reference file paths that actually exist in the project.`;
2057
2012
  var REFRESH_SYSTEM_PROMPT = `You are an expert at maintaining coding project documentation. Your job is to update existing documentation files based on code changes (git diffs).
2058
2013
 
2059
2014
  You will receive:
2060
2015
  1. Git diffs showing what code changed
2061
- 2. Current contents of documentation files (CLAUDE.md, AGENTS.md, README.md, skills, cursor skills, cursor rules)
2016
+ 2. Current contents of documentation files (CLAUDE.md, README.md, skills, cursor rules)
2062
2017
  3. Project context (languages, frameworks)
2063
2018
 
2064
2019
  Rules:
@@ -2068,23 +2023,22 @@ Rules:
2068
2023
  - Don't add speculative or aspirational content
2069
2024
  - Keep managed blocks (<!-- caliber:managed --> ... <!-- /caliber:managed -->) intact
2070
2025
  - If a doc doesn't need updating, return null for it
2071
- - For CLAUDE.md: update commands, architecture notes, conventions, key files if the diffs affect them
2072
- - For AGENTS.md: same as CLAUDE.md \u2014 this is the primary instructions file for Codex users
2026
+ - For CLAUDE.md: update commands, architecture notes, conventions, key files if the diffs affect them. Keep under 150 lines.
2073
2027
  - For README.md: update setup instructions, API docs, or feature descriptions if affected
2074
- - For cursor skills: update skill content if the diffs affect their domains
2028
+ - Only reference file paths that exist in the project
2029
+ - Use backticks for all file paths, commands, and identifiers
2075
2030
 
2076
2031
  Return a JSON object with this exact shape:
2077
2032
  {
2078
2033
  "updatedDocs": {
2079
2034
  "claudeMd": "<updated content or null>",
2080
- "agentsMd": "<updated content or null>",
2081
2035
  "readmeMd": "<updated content or null>",
2036
+ "cursorrules": "<updated content or null>",
2082
2037
  "cursorRules": [{"filename": "name.mdc", "content": "..."}] or null,
2083
- "cursorSkills": [{"slug": "string", "name": "string", "content": "..."}] or null,
2084
2038
  "claudeSkills": [{"filename": "name.md", "content": "..."}] or null
2085
2039
  },
2086
2040
  "changesSummary": "<1-2 sentence summary of what was updated and why>",
2087
- "docsUpdated": ["CLAUDE.md", "AGENTS.md", "README.md"]
2041
+ "docsUpdated": ["CLAUDE.md", "README.md"]
2088
2042
  }
2089
2043
 
2090
2044
  Respond with ONLY the JSON object, no markdown fences or extra text.`;
@@ -2113,7 +2067,7 @@ Rules for the learned section:
2113
2067
  - Be additive: keep all existing learned items, add new ones, remove duplicates
2114
2068
  - Never repeat instructions already present in the main CLAUDE.md
2115
2069
  - Each bullet must be specific and actionable \u2014 no vague advice
2116
- - Maximum ~50 bullet items total
2070
+ - Maximum ~30 bullet items total
2117
2071
  - Group related items under subheadings if there are many
2118
2072
  - If there's nothing meaningful to learn, return null
2119
2073
 
@@ -2148,7 +2102,7 @@ Be thorough \u2014 look for signals in:
2148
2102
  - Configuration files (e.g. next.config.js implies Next.js, .tf files imply Terraform + cloud providers)
2149
2103
  - Infrastructure-as-code files (Terraform, CloudFormation, Pulumi, Dockerfiles, k8s manifests)
2150
2104
  - CI/CD configs (.github/workflows, .gitlab-ci.yml, Jenkinsfile)
2151
- - Environment variable patterns and service references in code
2105
+ - Dockerfile base images (e.g. FROM python:3.11 implies Python, FROM node:20 implies Node.js)
2152
2106
 
2153
2107
  Only include items you're confident about. Return ONLY the JSON object.`;
2154
2108
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rely-ai/caliber",
3
- "version": "1.18.2",
3
+ "version": "1.18.3",
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": {