/** * Bundled guidance layer installation. * * The content package ships guidance layers (security defaults, accessibility, * API conventions) but nothing ever copied them into a project's * `.aidlc/guidance/`. `buildProjectContext` guards on the directory existing and * silently yields an empty layer map when it does not, so every * `{{guidance:}}` placeholder had nothing to resolve against — the failure * was silent by construction. * * Installation is deliberately non-destructive: a layer whose on-disk body has * been edited is left alone, and the project's `index.yaml` is merged rather than * replaced so registrations the project owns (notably the retrospective-fed * `lessons` layer) survive. * * The mechanics now live in `./layer-install.ts`, which takes an explicit entry * list. This module is the framework's caller of it: it passes the content * package's whole guidance index and the bundled-body comparison. Compliance * packs deliberately do **not** come through here — a pack layer registered in * the content guidance index would be installed by every caller of this function, * and one of those callers is a `safe`-tier doctor migration that auto-applies * without prompting (compliance-packs/AC-53, AC-54). * * Requirements: guidance-layers-never-resolve/AC-1, AC-3, AC-4 */ import { type LayerInstallReport } from './layer-install.js'; /** * Outcome of an installation pass. * * Structurally identical to `LayerInstallReport`; kept as a named alias because * `init`, `update` and the doctor migration all import this name. */ export type GuidanceInstallReport = LayerInstallReport; /** * Install every guidance layer registered in the content package into a project. * * @param projectRoot - Absolute project root. * @param contentRoot - Absolute root of the `@rasensio/aidlc-content` package. * @param opts.dryRun - Compute the report without writing anything. */ export declare function installBundledGuidance(projectRoot: string, contentRoot: string, opts?: { dryRun?: boolean; }): GuidanceInstallReport; /** * Render a one-line summary of an installation pass, or null when nothing happened. */ export declare function summarizeGuidanceInstall(report: GuidanceInstallReport): string | null; //# sourceMappingURL=guidance-install.d.ts.map