import type { Profile } from '../profiles/index.js'; /** Returns the Risk Scale section as an array of lines, for embedding in any tool's guidelines. */ export declare function riskScaleLines(): string[]; /** * Returns the Behavioral Guidelines section as an array of lines, for embedding in any tool's * guidelines. Condenses the four working principles that shape how the agent reasons and edits. * These reinforce the Plugin Workflow CONTRACT (task-first, disclose deviations) — they govern * coding behavior within a task, not the workflow lifecycle, so the two do not overlap. */ export declare function behavioralGuidelinesLines(): string[]; /** Returns the Plugin Workflow section as an array of lines, for embedding in any tool's guidelines. */ export declare function pluginWorkflowLines(): string[]; /** Generates `setup-agents-autonomous.mdc` — short, directive pre-flight rule that Cursor follows reliably. */ export declare function generateAutonomousPreFlight(version: string): string; /** Generates `agent-guidelines.mdc` content. */ export declare function generateBaseGuidelines(version: string): string; /** Generates `salesforce-standards.mdc` content. */ export declare function generateSfStandards(version: string): string; /** * Controls how the Handover Checklist embeds each profile's "Sub-agent Handover" detail. * `inline` (default) inlines the full handover block from every profile's rule content; it is used * by Cursor's `.mdc`, which has no per-file size limit. `compact` emits one reference line per * profile pointing at its own rule file, used by Claude/Codex `.md` rules, which Claude Code rejects * above a 40,000-char ceiling — with many profiles the inlined variant balloons past that (GH-SA-393b). */ export type HandoverMode = 'inline' | 'compact'; export type SubAgentProtocolOptions = { /** Handover embedding strategy. Defaults to `inline` to preserve Cursor's output verbatim. */ handover?: HandoverMode; /** Rule directory the compact references point at (e.g. `.claude/rules`, `.codex`). */ ruleDir?: string; /** * Rule directory the compact references point at for on-demand profiles. * For the Claude target these on-demand rules live OUTSIDE `.claude/rules/` so Claude Code does * not auto-load them into base context (GH-373); always-loaded profiles stay in `ruleDir`. * Defaults to `ruleDir`, preserving the single-dir behavior used by Cursor and Codex. */ onDemandRuleDir?: string; /** * Profile ids that landed in `ruleDir` (auto-loaded). For the Claude target this is the * token-budget-selected always-load set, NOT `claudeAlwaysImport` (GH-373 follow-up): the * handover references must point each profile at the directory where its file was actually * written. When omitted, the split falls back to the `claudeAlwaysImport` flag, preserving the * single-dir behavior for Cursor/Codex (where it is unused because `onDemandRuleDir === ruleDir`). */ alwaysLoadIds?: ReadonlySet; }; /** Generates `sub-agent-protocol.mdc` content. */ export declare function generateSubAgentProtocol(profiles: Profile[], version: string, options?: SubAgentProtocolOptions): string; /** * Returns delegation guidance lines for runtimes that cannot programmatically spawn an isolated * subagent process (JetBrains AI Assistant's `.idea/ai-prompts/` integration today). Unlike * `pluginWorkflowLines`/`generateSubAgentProtocol` — which direct the parent to spawn a native * subagent — this states the "cannot spawn" limitation explicitly and defines inline adoption of * the matching profile's prompt file as the governed, disclosed fallback (GH-707 criterion 4/8), * rather than silently omitting delegation semantics. */ export declare function jetbrainsDelegationLines(profiles: Profile[]): string[]; export type DescriptionLintResult = { file: string; description: string; length: number; }; export declare function lintDescriptionLengths(profiles: Profile[]): DescriptionLintResult[];