/** * v1.3.2 §10.1 — multi-asset Discover. Walks a registered repo and detects the * four first-class assets by convention. Read-only: produces an inventory the * adoption report (§10.5 dry-run) and validators consume; it never writes. * * Distinct from `scanner.ts` (skill-only `.claude/skills` ledger) — that one * stays for the existing `analyze` flow. This is the generalized scanner. * * Detection (by path convention): * skill — `.../.claude/skills//SKILL.md` or `.../skills//SKILL.md` * agent — `.../.claude/agents/.md` or `.../agents/(main|specialists)//SKILL.md` * workflow — any `workflow.yaml` / `workflow.yml` * cron — `.../crons/.yaml|.yml` */ export type AssetKind = "skill" | "agent" | "workflow" | "cron"; export interface ScannedAsset { kind: AssetKind; /** Repo-relative POSIX path. */ path: string; /** Derived id (directory name or filename stem). */ id: string; /** SHA256 hex, first 12 chars — for dedup / change detection. */ hash: string; size_bytes: number; } export interface ScanAssetsOptions { /** Directory names to skip while walking. */ ignoreDirs?: ReadonlySet; /** Safety cap on files visited (pathological repos). */ maxFiles?: number; } /** Classify one file by its repo-relative POSIX path. Returns null if not an asset. */ export declare function classifyAssetPath(rel: string): { kind: AssetKind; id: string; } | null; export declare function scanRepoAssets(repoRoot: string, opts?: ScanAssetsOptions): ScannedAsset[];