(language: string, config: ShittyCodeConfig)
| 29 | * @returns .cursorrules 文件内容 |
| 30 | */ |
| 31 | export function generateCursorRules(language: string, config: ShittyCodeConfig): string { |
| 32 | // 替换模板中的变量 |
| 33 | let cursorRules = cursorRulesTemplate; |
| 34 | |
| 35 | // 替换变量命名技巧 |
| 36 | cursorRules = cursorRules.replace('{{variable_naming_techniques}}', getVariableNamingTechniques(config.shitty_code_settings.variable_naming_style)); |
| 37 | |
| 38 | // 替换注释技巧 |
| 39 | cursorRules = cursorRules.replace('{{comment_techniques}}', getCommentTechniques(config.shitty_code_settings.comment_style)); |
| 40 | |
| 41 | // 替换语言特定技巧 |
| 42 | const languageStrategy = getLanguageStrategy(language); |
| 43 | cursorRules = cursorRules.replace('{{language_specific_techniques}}', |
| 44 | languageStrategy ? ` \n - 针对 ${language} 的特定技巧: \n${languageStrategy}` : ''); |
| 45 | |
| 46 | // 替换框架特定技巧 |
| 47 | let frameworkTechniques = ''; |
| 48 | if (config.shitty_code_settings.framework) { |
| 49 | const frameworkStrategy = getFrameworkStrategy(config.shitty_code_settings.framework); |
| 50 | if (frameworkStrategy) { |
| 51 | frameworkTechniques = `\n\n### 框架特定技巧\n${frameworkStrategy}\n\n`; |
| 52 | } |
| 53 | } |
| 54 | cursorRules = cursorRules.replace('{{framework_specific_techniques}}', frameworkTechniques); |
| 55 | |
| 56 | // 替换转换级别 |
| 57 | cursorRules = cursorRules.replace('{{transformation_level}}', getTransformationLevelDescription(config.shitty_code_settings.transformation_level)); |
| 58 | |
| 59 | return cursorRules; |
| 60 | } |
nothing calls this directly
no test coverage detected