UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

60 lines (59 loc) 2.02 kB
/** * RulesGenerator — .mdc 文件生成器 * * 生成 Cursor Rules 格式的 .mdc 文件到 .cursor/rules/ 目录: * - Channel A: autosnippet-project-rules.mdc (alwaysApply: true) * - Channel B: autosnippet-patterns-{topic}.mdc (alwaysApply: false) */ export declare class RulesGenerator { projectName: string; projectRoot: string; rulesDir: string; /** * @param projectRoot 用户项目根目录 * @param projectName 项目名称(用于 description/标题) */ constructor(projectRoot: string, projectName?: string); /** * Channel A — 写入 Always-On Rules 文件 * * @param ruleLines 一行式规则列表 (来自 KnowledgeCompressor.compressToRuleLine) * @returns } */ writeAlwaysOnRules(ruleLines: string[]): { filePath: string; tokensUsed: number; rulesCount: number; }; /** * Channel B — 写入 Smart Rules 文件(按主题) * * @param topic 主题名 (networking, ui, data, architecture, conventions, general) * @param compressedContent 格式化后的 When/Do/Don't Markdown 内容 * @param description Agent 关联性判断用 description * @returns } */ writeSmartRules(topic: string, compressedContent: string, description: string): { filePath: string; tokensUsed: number; }; /** * 清理旧的动态生成文件 * 保留静态模板文件(autosnippet-conventions.mdc, autosnippet-skills.mdc) */ cleanDynamicFiles(): void; _renderChannelA(ruleLines: string[]): string; _renderChannelB(topic: string, body: string, description: string): string; /** * Baseline Rules — 零知识库时写入基础引导文件 * 告知 Agent 可用的 MCP 工具和推荐工作流 */ writeBaselineRules(): { filePath: string; tokensUsed: number; rulesCount: number; }; _renderBaseline(): string; _ensureDir(): void; } export default RulesGenerator;