import type { ProjectScripts } from './project-scripts.js'; import type { StandardsLanguage } from './project-standards-service.js'; /** The shared, cross-tool instruction body. */ export declare const AGENTS_MD_FILENAME = "AGENTS.md"; /** The IDE-native file that imports the body. */ export declare const CLAUDE_MD_FILENAME = "CLAUDE.md"; /** * The Claude Code import line — `@AGENTS.md`, on a line of its own. * * It is declared here, next to the renderer that prints it, because the line * is a SYNTAX CONTRACT and not prose: the writer that adds it and the planner * that looks for it must agree on its exact spelling, and one declaration is * the only way they can. `standards-pointer.ts` owns the rules around it. */ export declare const CLAUDE_MD_POINTER_LINE = "@AGENTS.md"; /** * The AGENTS.md body. * * Kept short on purpose: the whole file is loaded on every turn, and a * research finding behind this layout says an LLM-generated instruction file * that is padded with derivable facts lowers task success and raises * reasoning cost. Facts the agent can read off `package.json` (the build * tool, the dependency list) are therefore NOT repeated here — they live in * the standards files this body points at. */ export declare function renderAgentsMd(language: StandardsLanguage, scripts: ProjectScripts, rulesRoot: string): string; /** * The CLAUDE.md pointer. * * `@AGENTS.md` is the import. It must stay unbackticked and unquoted — Claude * Code skips code spans and does not import a quoted path — and it must be the * only such occurrence in the file, or the body is loaded twice. */ export declare function renderClaudeMdPointer(): string;