UNPKG

vibe-rules

Version:

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

45 lines (44 loc) 2.16 kB
import { RuleConfig, RuleProvider, RuleGeneratorOptions } from "../types.js"; export declare class AmpRuleProvider implements RuleProvider { private readonly ruleType; /** * Generates formatted content for Amp including metadata. */ generateRuleContent(config: RuleConfig, options?: RuleGeneratorOptions): string; /** * Saves a rule definition to internal storage for later use. * @param config - The rule configuration. * @returns Path where the rule definition was saved internally. */ saveRule(config: RuleConfig): Promise<string>; /** * Loads a rule definition from internal storage. * @param name - The name of the rule to load. * @returns The RuleConfig if found, otherwise null. */ loadRule(name: string): Promise<RuleConfig | null>; /** * Lists rule definitions available in internal storage. * @returns An array of rule names. */ listRules(): Promise<string[]>; /** * Appends a rule loaded from internal storage to the target Amp file. * @param name - The name of the rule in internal storage. * @param targetPath - Optional explicit target file path. * @param isGlobal - Not supported for Amp (always local project files). * @param options - Additional generation options. * @returns True on success, false on failure. */ appendRule(name: string, targetPath?: string, isGlobal?: boolean, options?: RuleGeneratorOptions): Promise<boolean>; /** * Formats and applies a rule directly from a RuleConfig object using XML-like tags. * If a rule with the same name (tag) already exists, its content is updated. * @param config - The rule configuration to apply. * @param targetPath - The target file path (e.g., ./AGENT.md). * @param isGlobal - Not supported for Amp (always false). * @param options - Additional options like description, alwaysApply, globs. * @returns True on success, false on failure. */ appendFormattedRule(config: RuleConfig, targetPath: string, isGlobal?: boolean | undefined, options?: RuleGeneratorOptions | undefined): Promise<boolean>; }