import { type InstallScope, type SkillTarget } from "./skill-roots.js"; export { ALL_TARGETS, DEFAULT_TARGETS, detectTargets, overrideEnvName, parseRootOverrides, parseTargets, type DetectedTarget, type InstallScope, type RootSource, type SkillTarget, } from "./skill-roots.js"; /** * The skills that ship. Two are human-judgment steps that sit outside the * automated loop: deciding what to build, and deciding how the project is * set up. The third, `run-program`, is the opposite of judgment — a watcher * that starts `run`, resumes it through recoverable stops, and routes the * pipeline's human gates to the user without answering them. Everything * else became a CLI command that composes its own brief. */ export declare const WORKFLOWS: readonly ["init-project", "plan-program", "run-program"]; /** * Skills this package used to install and now removes. * * Their work moved into `author`, `converge`, `review`, `build`, and * `as-built`, which compose their own briefs and spawn clean agents. A stale * copy left in a skills directory keeps instructing an agent to do that work * inside its own session instead — which is precisely the behavior those * commands exist to replace — so leaving them installed would quietly undo * the change. Unmodified copies are deleted; edited ones are reported and * left for a human. */ export declare const RETIRED_WORKFLOWS: readonly ["author-workstreams", "validate-workstreams", "review-program", "build-program", "update-as-built"]; export type Workflow = (typeof WORKFLOWS)[number]; export type RetiredWorkflow = (typeof RETIRED_WORKFLOWS)[number]; export type KnownWorkflow = Workflow | RetiredWorkflow; export interface InstallSkillsOptions { cwd: string; targets: SkillTarget[]; force?: boolean; home?: string; /** * Where the skills land. Defaults to project scope so existing programmatic * callers keep their behavior; the CLI chooses user scope explicitly. */ scopes?: InstallScope[]; /** * Remove project-scope copies that this package generated and the user has * not edited. Project skills shadow user skills in most harnesses, so a * user-scope install is silently ineffective until the stale copies go. */ pruneProject?: boolean; /** Per-target root overrides, from `--root =`. */ roots?: Partial>; env?: NodeJS.ProcessEnv; } export interface DefinitionWarning { workflow: KnownWorkflow; kind: "command" | "skill"; scope: InstallScope; target: SkillTarget; path: string; packageManaged: boolean; } export interface InstallSkillsResult { installed: string[]; updated: string[]; skipped: string[]; conflicts: string[]; warnings: DefinitionWarning[]; /** Project-scope copies removed because their marker proved them unmodified. */ pruned: string[]; /** Project-scope copies left alone because the user had edited them. */ pruneSkipped: string[]; /** Retired skills removed because their marker proved them unmodified. */ retired: string[]; /** Retired skills left in place because the user had edited them. */ retiredKept: string[]; aborted: boolean; } export interface ProjectCopies { /** Generated by this package and unmodified — safe to remove. */ managed: string[]; /** Edited since generation, or never ours — only a human should touch these. */ modified: string[]; } /** * Project-scope skill files for the given targets. Project skills shadow * user-scope ones, so the caller needs this before a user-scope install to * know whether the install would actually take effect. */ export declare function findProjectCopies(cwd: string, targets: SkillTarget[], options?: { home?: string; env?: NodeJS.ProcessEnv; roots?: Partial>; }): Promise; export declare function installSkills(input: InstallSkillsOptions): Promise; export declare function doctor(): Promise; //# sourceMappingURL=install-skills.d.ts.map