aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
40 lines • 1.8 kB
TypeScript
/**
* Project-Local Doctor Section
*
* Builds the "Project-local artifacts" section for `aiwg doctor` output
* per the spec at @.aiwg/architecture/design-doctor-log-promote.md (#1049).
*
* Pure function over (projectDir, frameworkRoot) — returns a string. The
* doctor handler in src/cli/handlers/utilities.ts is responsible for
* printing it. Section is fully suppressed when no project-local dirs
* are present.
*
* @design @.aiwg/architecture/design-doctor-log-promote.md
* @implements #1037
*/
import type { AiwgConfig } from '../config/aiwg-config.js';
export interface DoctorSectionResult {
/** Pre-formatted multi-line section (empty string when no project-local content). */
output: string;
/** Count of validation errors found. */
validationErrors: number;
/** Count of denylist violations (refuse-unsafe / refuse-phantom / refuse-duplicate). */
denylistViolations: number;
/** Count of artifacts whose deployed file hash differs from the registered hash. */
driftCount: number;
/** True when the section had failing content (validation, denylist, drift). */
hasFailures: boolean;
}
interface BuildOptions {
projectDir: string;
frameworkRoot: string;
/** Optional pre-loaded config; if null/undefined we skip drift detection. */
config: AiwgConfig | null;
/** Suppress informational subsections (counts, shadows). */
quiet?: boolean;
}
export declare function buildProjectLocalDoctorSection(opts: BuildOptions): Promise<DoctorSectionResult>;
/** Convenience accessor: just the section text. */
export declare function projectLocalDoctorSection(projectDir: string, frameworkRoot: string, config: AiwgConfig | null, quiet?: boolean): Promise<string>;
export {};
//# sourceMappingURL=project-local-doctor.d.ts.map