autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
73 lines (72 loc) • 2.42 kB
TypeScript
/**
* SkillsSyncer — AutoSnippet Skills to .cursor/skills/ 同步器
*
* Channel C: 将内置 Skills 和项目级 Skills 统一同步到
* .cursor/skills/ 目录,适配 Cursor Agent Skills 标准格式。
*
* - 内置 Skills:从 AutoSnippet 包 skills/ 目录直接复制(autosnippet-create 等)
* - 项目级 Skills:从 AutoSnippet/skills/ 转换格式后写入(project-* → autosnippet-*)
* - 同时为项目级 Skill 生成 references/RECIPES.md(相关 Recipe 摘要)
*/
export declare class SkillsSyncer {
knowledgeService: {
list: (filter: Record<string, unknown>, pagination: {
page: number;
pageSize: number;
}) => Promise<unknown>;
} | null;
projectName: string;
projectRoot: string;
sourceDir: string;
targetDir: string;
/**
* @param projectRoot 用户项目根目录
* @param projectName 项目名称
* @param [knowledgeService] 可选,用于生成 references/RECIPES.md
*/
constructor(projectRoot: string, projectName?: string, knowledgeService?: {
list: (filter: Record<string, unknown>, pagination: {
page: number;
pageSize: number;
}) => Promise<unknown>;
} | null);
/**
* 执行完整同步流程
* @returns >}
*/
sync(): Promise<{
synced: string[];
skipped: string[];
errors: string[];
builtinSynced: string[];
}>;
/**
* 同步内置 Skills:从 AutoSnippet 包 skills/ 目录直接复制到 .cursor/skills/
*/
_syncBuiltinSkills(result: {
builtinSynced: string[];
errors: string[];
}): void;
/**
* 同步项目级 Skills:从 AutoSnippet/skills/ 转换格式后写入 .cursor/skills/
*/
_syncProjectSkills(result: {
synced: string[];
skipped: string[];
errors: string[];
}): Promise<void>;
/**
* 转换 SKILL.md 格式 — 从 AutoSnippet 格式到 Cursor Agent Skills 标准
*/
_convertSkillMd(source: string, targetName: string, sourceDirName: string): string;
/**
* 生成 references/RECIPES.md
*/
_generateRecipes(targetSkillDir: string, sourceDirName: string): Promise<void>;
/**
* 生成使用场景列表
*/
_generateUseCases(sourceDirName: string): string[];
_capitalizeWords(str: string): string;
}
export default SkillsSyncer;