vibe-rules
Version:
A utility for managing Cursor rules, Windsurf rules, and other AI prompts
49 lines (48 loc) • 2.29 kB
TypeScript
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;