UNPKG

vibe-rules

Version:

A utility for managing Cursor rules, Windsurf rules, and other AI prompts

49 lines (48 loc) 2.29 kB
import { RuleType } from "../types.js"; export declare const RULES_BASE_DIR: string; export declare const CLAUDE_HOME_DIR: string; export declare const GEMINI_HOME_DIR: string; export declare const CODEX_HOME_DIR: string; export declare const ZED_RULES_FILE = ".rules"; /** * Get the common rules directory path */ export declare function getCommonRulesDir(): string; /** * Get path to store internal rule definitions based on rule type * (Not the actual target paths for IDEs) */ export declare function getInternalRuleStoragePath(ruleType: RuleType, ruleName: string): string; /** * Get the expected file path for a rule based on its type and context (local/global). * This now returns the actual path where the rule should exist for the IDE/tool. * The 'isGlobal' flag determines if we should use the home directory path. */ export declare function getRulePath(ruleType: RuleType, ruleName: string, // ruleName might not be relevant for some types like Claude/Codex global isGlobal?: boolean, projectRoot?: string): string; /** * Get the default target path (directory or file) where a rule type is typically applied. * This is used by commands like 'apply' if no specific target is given. * Note: This might overlap with getRulePath for some types. * Returns potential paths based on convention. */ export declare function getDefaultTargetPath(ruleType: RuleType, isGlobalHint?: boolean): string; /** * Ensures that a specific directory exists, creating it if necessary. * * @param dirPath The absolute or relative path to the directory to ensure. */ export declare function ensureDirectoryExists(dirPath: string): void; /** * Checks if the configuration for a given editor type exists. * This is used to prevent the 'install' command from creating config files/dirs. * @param ruleType The editor type to check. * @param isGlobal Whether to check the global or local path. * @param projectRoot The root directory of the project. * @returns A promise that resolves to true if the configuration exists, false otherwise. */ export declare function editorConfigExists(ruleType: RuleType, isGlobal: boolean, projectRoot?: string): Promise<boolean>; /** * Convert a rule name to a filename-safe slug. */ export declare function slugifyRuleName(name: string): string;