/** * `aidlc update` command — update the CLI and refresh project skills. * * Behavior: * 1. Self-update: detect the package manager that installed AIDLC globally, * check the npm registry for the latest version, and update if needed. * 2. Project refresh: if inside a project with `.aidlc/config.yaml`, re-run * `init` for each configured platform to refresh skill shims and steering. * 3. Optionally re-run discovery to regenerate context docs (--rediscover). * * Options: * --self-only Only update the CLI, skip project refresh * --project-only Only refresh project files from the current CLI * --rediscover Also regenerate context docs (.aidlc/context/) * --dry-run Show what would change without writing * * Requirements: 17.1 * * @module */ import { Command } from 'commander'; import { type FileChange } from '../compile/install-plan.js'; interface ProjectRefreshResult { /** Deduplicated per-file records from the platform plans (AC-7, AC-8). */ changes: FileChange[]; /** * Paths written by the two installers that do not go through an install plan — * bundled guidance and the roadmap authoring skill. They report paths only, so * they carry no line counts and are printed without them rather than with * invented zeroes. Neither is per-platform, so neither can double-count. */ otherWritten: string[]; filesWritten: string[]; filesSkipped: string[]; warnings: string[]; platforms: string[]; } /** * Print what the refresh changed, in enough detail to judge whether prose died. * * The old output was one `+` per path, with `+` used for create and for * overwrite-with-loss alike, no legend, and no counts. A careful operator who * dry-ran first still could not see that text was about to be deleted — which is * the whole defect this instance was filed for. Three things changed: * * - `new` and `~` distinguish a created file from a replaced one (AC-3). * - `+N/-M` gives the size of the replacement (AC-3). Whole-file counts, not a * diff stat, which is why the legend says so (R4). * - a legend precedes the list, because a marker nobody can look up is not a * signal (AC-3). * * Exported for the tests, which assert on the rendered lines rather than * re-deriving them. */ export declare function formatRefresh(result: ProjectRefreshResult, dryRun: boolean): string; /** * Register the `aidlc update` command on the given commander program. */ export declare function registerUpdate(program: Command): void; export {}; //# sourceMappingURL=update.d.ts.map