/** * System prompt construction and project context loading */ import { type Skill } from "./skills.js"; export interface BuildSystemPromptOptions { /** Custom system prompt (replaces default). */ customPrompt?: string; /** Tools to include in prompt. Default: [read, bash, edit, write] */ selectedTools?: string[]; /** Optional one-line tool snippets keyed by tool name. */ toolSnippets?: Record; /** Additional guideline bullets appended to the default system prompt guidelines. */ promptGuidelines?: string[]; /** Text to append to system prompt. */ appendSystemPrompt?: string; /** Working directory. */ cwd: string; /** Pre-loaded context files. */ contextFiles?: Array<{ path: string; content: string; }>; /** Pre-loaded skills. */ skills?: Skill[]; /** Persistent codebase memory from previous sessions. */ memoryContent?: string; /** Digest of active architecture decisions from the project decision log. */ decisionsDigest?: string; /** Detected technology stack summary (from stack-detector). */ stackInfo?: string; /** Detected frameworks (from stack-detector), used to surface stack-relevant skills first. */ stackFrameworks?: readonly { name: string; }[]; } /** * Working-method rules: how to approach a task, not which tool does what. * Kept deliberately short - every line here is read on every turn. Rules * that depend on a tool are only emitted when that tool is available so the * prompt never tells the model to do something it cannot. */ export declare function buildWorkingMethod(tools: readonly string[]): string; /** Build the system prompt with tools, guidelines, and context */ export declare function buildSystemPrompt(options: BuildSystemPromptOptions): string; //# sourceMappingURL=system-prompt.d.ts.map