/** * Platform registry for SKILL.md install paths across AI coding agents. * * Each registry entry describes how to install a SKILL.md for one platform: * - paths: candidate directories where the skill will be written. The first * entry is the primary path; later entries are fallbacks for legacy / per- * workspace setups. * - format: file format we emit (currently 'md' for all, kept for forward * compatibility with platforms that prefer JSON/YAML rule manifests). * - detect: returns true if this platform is "installed" on the current * machine, typically by probing for its config dir. * * Where a path is best-effort (the platform's docs do not authoritatively * specify a skills directory), it's marked with a "best-effort" comment. */ export type KnownTarget = "claude-code" | "cursor" | "windsurf" | "cline" | "codex" | "copilot" | "opencode" | "gemini" | "roo" | "aide" | "augment" | "zed" | "continue" | "kiro" | "junie"; export type Target = KnownTarget | "unknown"; export type SkillFileFormat = "md" | "json" | "yaml"; export interface PlatformRegistryEntry { /** Stable platform identifier, use this for --target=. */ id: KnownTarget; /** Human-readable display name. */ label: string; /** Candidate skill directories, in priority order. */ paths: string[]; /** Output file format for the skill. */ format: SkillFileFormat; /** Returns true if the platform appears to be installed on this machine. */ detect: () => boolean; } export interface InstallTarget { type: Target; path: string; } /** * The single source of truth for supported install targets. * * Adding a new platform: append an entry below. Tests, the install command, * `list-platforms`, and the docs page all read from this registry. */ export declare const PLATFORM_REGISTRY: PlatformRegistryEntry[]; export declare const ALL_TARGETS: KnownTarget[]; export declare function getPlatform(id: string): PlatformRegistryEntry | undefined; /** Map a target name to its primary skills path. */ export declare function targetToPath(target: Target): string; /** * Auto-detect the highest-priority installed platform. Order matches * registry order, so Claude Code wins ties (matches historical behavior). */ export declare function detectInstallTarget(): InstallTarget; /** Detect every installed platform on this machine. */ export declare function detectAllTargets(): InstallTarget[]; /** * Resolve the install path for a given target option, falling back to * auto-detection when the target is missing or unknown. */ export declare function resolveInstallPath(target?: string): InstallTarget; /** * Parse a comma-separated --target value into known target ids. * Unknown ids are filtered out (caller can inspect what was dropped). */ export declare function parseTargets(value?: string): { known: KnownTarget[]; unknown: string[]; }; //# sourceMappingURL=install-path.d.ts.map