import * as fs from 'fs/promises'; import { SkillInfo } from '../types'; import type { IAgent } from '../agents/IAgent'; /** * Discovers skills in the project's .ruler/skills directory. * Returns discovered skills and any validation warnings. */ export declare function discoverSkills(projectRoot: string): Promise<{ skills: SkillInfo[]; warnings: string[]; }>; /** * Gets the paths that skills will generate, for gitignore purposes. * Returns empty array if skills directory doesn't exist. */ export declare function getSkillsGitignorePaths(projectRoot: string, agents: IAgent[]): Promise; type ReplaceSkillsFsOps = Pick; export declare function replaceSkillsDirectory(tempDir: string, targetDir: string, fsOps?: ReplaceSkillsFsOps, containmentRoot?: string): Promise; /** * Propagates skills for agents that need them. */ export declare function propagateSkills(projectRoot: string, agents: IAgent[], skillsEnabled: boolean, verbose: boolean, dryRun: boolean): Promise; /** * Propagates skills for Claude Code by copying .ruler/skills to .claude/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForClaude(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for OpenAI Codex CLI by copying .ruler/skills to .agents/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForCodex(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for OpenCode by copying .ruler/skills to .opencode/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForOpenCode(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Pi Coding Agent by copying .ruler/skills to .pi/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForPi(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Goose by copying .ruler/skills to .agents/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForGoose(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Mistral Vibe by copying .ruler/skills to .vibe/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForVibe(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Roo Code by copying .ruler/skills to .roo/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForRoo(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Gemini CLI by copying .ruler/skills to .gemini/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForGemini(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Junie by copying .ruler/skills to .junie/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForJunie(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Cursor by copying .ruler/skills to .cursor/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForCursor(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Windsurf by copying .ruler/skills to .windsurf/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForWindsurf(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Factory Droid by copying .ruler/skills to .factory/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForFactory(projectRoot: string, options: { dryRun: boolean; }): Promise; /** * Propagates skills for Antigravity by copying .ruler/skills to .agent/skills. * Uses atomic replace to ensure safe overwriting of existing skills. * Returns dry-run steps if dryRun is true, otherwise returns empty array. */ export declare function propagateSkillsForAntigravity(projectRoot: string, options: { dryRun: boolean; }): Promise; export {};