/** * Phase 2C (0.12.12+) — `.brewing/patterns/` directory. * * Patterns are short markdown recipes hand-written by the project * team that describe project-specific conventions: "how cursor * pagination works in this codebase", "the standard handler shape * with auth + RLS", "how to write a tier-1 test against * mockSupabase". They live at `.brewing/patterns/*.md` and are NOT * auto-generated by slowcook — the team owns them. * * Selective loading: brew injects only the *index* (title + one-line * summary per pattern) into its cached prefix. The agent decides * which patterns are relevant to the current target and reads the * full markdown via the existing `read_file` tool. Index-only is * cheap (~50 tokens per pattern); the full body only enters context * when the agent asks for it. * * Pattern file convention: * * # * * > <One-line summary, used as the index entry.> * * ## When to use * ... * ## Example * ```ts * ... * ``` * * The `# Title` and `> Summary` lines are the parts the index needs; * everything else is for the agent's eyes once it `read_file`s the * pattern. */ export declare const PATTERNS_DIR = ".brewing/patterns"; export interface PatternEntry { slug: string; title: string; summary: string | null; path: string; } /** * Walk `.brewing/patterns/*.md` and return one entry per file. * Returns an empty array when the directory doesn't exist (the * common case on greenfield projects). */ export declare function gatherPatternIndex(repoRoot: string): PatternEntry[]; /** * Render the pattern index as a markdown block for the brew system / * cached prefix. Returns an empty string when no patterns exist — * caller can drop the block entirely. */ export declare function renderPatternIndexBlock(patterns: PatternEntry[]): string; //# sourceMappingURL=patterns.d.ts.map