🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install github/awesome-copilot/copilot-instructions-blueprint-generator
💡 提示:需要 Node.js 和 NPM
Copilot 指令蓝图生成器
配置变量
${PROJECT_TYPE=”自动检测|.NET|Java|JavaScript|TypeScript|React|Angular|Python|多种|其他”}
${ARCHITECTURE_STYLE=”分层架构|微服务|单体架构|领域驱动|事件驱动|无服务器|混合架构”}
${CODE_QUALITY_FOCUS=”可维护性|性能|安全性|可访问性|可测试性|全部”}
${DOCUMENTATION_LEVEL=”最小化|标准|全面”}
${TESTING_REQUIREMENTS=”单元测试|集成测试|端到端测试|测试驱动开发|行为驱动开发|全部”}
${VERSIONING=”语义化版本|日历化版本|自定义”}
生成的提示词
“生成一份全面的 copilot-instructions.md 文件,该文件将指导 GitHub Copilot 生成符合我们项目标准、架构和技术版本的代码。指令必须严格基于我们代码库中实际的代码模式,并避免做出任何假设。请遵循以下方法:
1. 核心指令结构
# GitHub Copilot 指令
## 优先级指南
为此仓库生成代码时:
1. **版本兼容性**:始终检测并遵守本项目使用的语言、框架和库的确切版本
2. **上下文文件**:优先遵循 .github/copilot 目录中定义的模式和标准
3. **代码库模式**:当上下文文件未提供具体指导时,扫描代码库以查找已建立的模式
4. **架构一致性**:维护我们的 ${ARCHITECTURE_STYLE} 架构风格和已建立的边界
5. **代码质量**:在所有生成的代码中优先考虑 ${CODE_QUALITY_FOCUS == "全部" ? "可维护性、性能、安全性、可访问性和可测试性" : CODE_QUALITY_FOCUS}
## 技术版本检测
在生成代码之前,扫描代码库以识别:
1. **语言版本**:检测使用中的编程语言的确切版本
- 检查项目文件、配置文件和包管理器
- 查找特定于语言的版本指示器(例如,.NET 项目中的 <LangVersion>)
- 切勿使用超出检测到版本的语言功能
2. **框架版本**:识别所有框架的确切版本
- 检查 package.json、.csproj、pom.xml、requirements.txt 等文件
- 生成代码时遵守版本约束
- 切勿建议使用检测到的框架版本中不可用的功能
3. **库版本**:记录关键库和依赖项的确切版本
- 生成与这些特定版本兼容的代码
- 切勿使用检测到的版本中不可用的 API 或功能
## 上下文文件
优先考虑 .github/copilot 目录中的以下文件(如果存在):
- **architecture.md**:系统架构指南
- **tech-stack.md**:技术版本和框架详细信息
- **coding-standards.md**:代码风格和格式化标准
- **folder-structure.md**:项目组织指南
- **exemplars.md**:要遵循的示例性代码模式
## 代码库扫描指令
当上下文文件未提供具体指导时:
1. 识别与正在修改或创建的文件相似的文件
2. 分析以下方面的模式:
- 命名约定
- 代码组织
- 错误处理
- 日志记录方法
- 文档风格
- 测试模式
3. 遵循代码库中找到的最一致的模
4. 当存在冲突模式时,优先考虑较新文件或测试覆盖率较高的文件中的模式
5. 切勿引入现有代码库中不存在的模式
## 代码质量标准
${CODE_QUALITY_FOCUS.includes("可维护性") || CODE_QUALITY_FOCUS == "全部" ? `### 可维护性
- 编写具有清晰命名的自文档化代码
- 遵循代码库中显而易见的命名和组织约定
- 遵循已建立的模式以保持一致性
- 保持函数专注于单一职责
- 限制函数复杂度和长度以匹配现有模式` : ""}
${CODE_QUALITY_FOCUS.includes("性能") || CODE_QUALITY_FOCUS == "全部" ? `### 性能
- 遵循现有的内存和资源管理模式
- 匹配处理计算密集型操作的现有模式
- 遵循已建立的异步操作模式
- 根据现有模式应用缓存
- 根据代码库中显而易见的模式进行优化` : ""}
${CODE_QUALITY_FOCUS.includes("安全性") || CODE_QUALITY_FOCUS == "全部" ? `### 安全性
- 遵循现有的输入验证模式
- 应用代码库中使用的相同清理技术
- 使用与现有模式匹配的参数化查询
- 遵循已建立的身份验证和授权模式
- 根据现有模式处理敏感数据` : ""}
${CODE_QUALITY_FOCUS.includes("可访问性") || CODE_QUALITY_FOCUS == "全部" ? `### 可访问性
- 遵循代码库中现有的可访问性模式
- 使 ARIA 属性用法与现有组件匹配
- 保持与现有代码一致的键盘导航支持
- 遵循已建立的颜色和对比度模式
- 应用与代码库一致的文本替代模式` : ""}
${CODE_QUALITY_FOCUS.includes("可测试性") || CODE_QUALITY_FOCUS == "全部" ? `### 可测试性
- 遵循已建立的可测试代码模式
- 匹配代码库中使用的依赖注入方法
- 应用相同的模式来管理依赖项
- 遵循已建立的模拟和测试替身模式
- 匹配现有测试中使用的测试风格` : ""}
## 文档要求
${DOCUMENTATION_LEVEL == "最小化" ?
`- 匹配现有代码中注释的级别和风格
- 根据代码库中观察到的模式进行文档记录
- 遵循现有模式记录非显而易见的行为
- 使用与现有代码相同的参数描述格式` : ""}
${DOCUMENTATION_LEVEL == "标准" ?
`- 遵循代码库中存在的确切文档格式
- 匹配现有注释的 XML/JSDoc 风格和完整性
- 以相同的风格记录参数、返回值和异常
- 遵循现有模式的用法示例
- 匹配类级别文档的风格和内容` : ""}
${DOCUMENTATION_LEVEL == "全面" ?
`- 遵循代码库中发现的最详细的文档模式
- 匹配文档最完善的代码的风格和完整性
- 完全按照文档最全面的文件进行记录
- 遵循链接文档的现有模式
- 匹配设计决策解释的详细程度` : ""}
## 测试方法
${TESTING_REQUIREMENTS.includes("单元测试") || TESTING_REQUIREMENTS == "全部" ?
`### 单元测试
- 匹配现有单元测试的确切结构和风格
- 遵循相同的测试类和测试方法命名约定
- 使用现有测试中发现的相同断言模式
- 应用代码库中使用的相同模拟方法
- 遵循现有的测试隔离模式` : ""}
${TESTING_REQUIREMENTS.includes("集成测试") || TESTING_REQUIREMENTS == "全部" ?
`### 集成测试
- 遵循代码库中发现的相同集成测试模式
- 匹配现有的测试数据设置和清理模式
- 使用相同的方法测试组件交互
- 遵循现有模式来验证系统行为` : ""}
${TESTING_REQUIREMENTS.includes("端到端测试") || TESTING_REQUIREMENTS == "全部" ?
`### 端到端测试
- 匹配现有的 E2E 测试结构和模式
- 遵循已建立的 UI 测试模式
- 应用相同的方法来验证用户旅程` : ""}
${TESTING_REQUIREMENTS.includes("测试驱动开发") || TESTING_REQUIREMENTS == "全部" ?
`### 测试驱动开发
- 遵循代码库中显而易见的 TDD 模式
- 匹配现有代码中看到的测试用例演进
- 测试通过后应用相同的重构模式` : ""}
${TESTING_REQUIREMENTS.includes("行为驱动开发") || TESTING_REQUIREMENTS == "全部" ?
`### 行为驱动开发
- 匹配测试中现有的 Given-When-Then 结构
- 遵循相同的行为描述模式
- 在测试用例中应用相同级别的业务关注点` : ""}
## 特定技术指南
${PROJECT_TYPE == ".NET" || PROJECT_TYPE == "自动检测" || PROJECT_TYPE == "多种" ? `### .NET 指南
- 检测并严格遵守使用的特定 .NET 版本
- 仅使用与检测到的版本兼容的 C# 语言功能
- 完全按照代码库中出现的方式遵循 LINQ 使用模式
- 匹配现有代码中的 async/await 使用模式
- 应用代码库中使用的相同依赖注入方法
- 使用现有代码中发现的相同集合类型和模式` : ""}
${PROJECT_TYPE == "Java" || PROJECT_TYPE == "自动检测" || PROJECT_TYPE == "多种" ? `### Java 指南
- 检测并遵守使用的特定 Java 版本
- 遵循代码库中发现的确切设计模式
- 匹配现有代码中的异常处理模式
- 使用代码库中发现的相同集合类型和方法
- 应用现有代码中显而易见的依赖注入模式` : ""}
${PROJECT_TYPE == "JavaScript" || PROJECT_TYPE == "TypeScript" || PROJECT_TYPE == "自动检测" || PROJECT_TYPE == "多种" ? `### JavaScript/TypeScript 指南
- 检测并遵守使用的特定 ECMAScript/TypeScript 版本
- 遵循代码库中发现的相同模块导入/导出模式
- 使 TypeScript 类型定义与现有模式匹配
- 使用与现有代码相同的异步模式(promises、async/await)
- 遵循类似文件中的错误处理模式` : ""}
${PROJECT_TYPE == "React" || PROJECT_TYPE == "自动检测" || PROJECT_TYPE == "多种" ? `### React 指南
- 检测并遵守使用的特定 React 版本
- 匹配现有组件中的组件结构模式
- 遵循代码库中发现的相同钩子和生命周期模式
- 应用现有组件中使用的相同状态管理方法
- 匹配现有代码中的属性类型和验证模式` : ""}
${PROJECT_TYPE == "Angular" || PROJECT_TYPE == "自动检测" || PROJECT_TYPE == "多种" ? `### Angular 指南
- 检测并遵守使用的特定 Angular 版本
- 遵循代码库中发现的相同组件和模块模式
- 使装饰器用法与现有代码中的完全一致
- 应用代码库中发现的相同 RxJS 模式
- 遵循现有的组件通信模式` : ""}
${PROJECT_TYPE == "Python" || PROJECT_TYPE == "自动检测" || PROJECT_TYPE == "多种" ? `### Python 指南
- 检测并遵守使用的特定 Python 版本
- 遵循现有模块中发现的相同导入组织方式
- 如果在代码库中使用,则匹配类型提示方法
- 应用现有代码中发现的相同错误处理模式
- 遵循相同的模块组织模式` : ""}
## 版本控制指南
${VERSIONING == "语义化版本" ?
`- 遵循代码库中应用的语义化版本控制模式
- 匹配记录重大变更的现有模式
- 遵循相同的弃用通知方法` : ""}
${VERSIONING == "日历化版本" ?
`- 遵循代码库中应用的日历化版本控制模式
- 匹配记录变更的现有模式
- 遵循相同的方法来突出显示重要变更` : ""}
${VERSIONING == "自定义" ?
`- 匹配代码库中观察到的确切版本控制模式
- 遵循现有文档中使用的相同变更日志格式
- 应用项目中使用的相同标签约定` : ""}
## 通用最佳实践
- 完全按照现有代码中的命名约定进行命名
- 匹配类似文件的代码组织模式
- 应用与现有模式一致的错误处理
- 遵循代码库中看到的相同测试方法
- 匹配现有代码中的日志记录模式
- 使用代码库中看到的相同配置方法
## 项目特定指南
- 在生成任何代码之前彻底扫描代码库
- 毫无例外地尊重现有的架构边界
- 匹配周围代码的风格和模式
- 如有疑问,优先考虑与现有代码的一致性,而非外部最佳实践
2. 代码库分析指令
为了创建 copilot-instructions.md 文件,首先分析代码库以:
- 识别确切的技术版本:
- ${PROJECT_TYPE == “自动检测” ? “通过扫描文件扩展名和配置文件来检测所有编程语言、框架和库” :
专注于 ${PROJECT_TYPE} 技术} - 从项目文件、package.json、.csproj 等中提取精确的版本信息
- 记录版本约束和兼容性要求
- ${PROJECT_TYPE == “自动检测” ? “通过扫描文件扩展名和配置文件来检测所有编程语言、框架和库” :
- 理解架构:
- 分析文件夹结构和模块组织
- 识别清晰的层边界和组件关系
- 记录组件间的通信模式
- 记录代码模式:
- 编录不同代码元素的命名约定
- 注意文档风格和完整性
- 记录错误处理模式
- 映射测试方法和覆盖率
- 记录质量标准:
- 识别实际使用的性能优化技术
- 记录代码中实现的安全实践
- 注意存在的可访问性功能(如适用)
- 记录代码库中显而易见的代码质量模式
3. 实现说明
最终的 copilot-instructions.md 应该:
- 放置在 .github/copilot 目录中
- 仅引用代码库中存在的模式和标准
- 包含明确的版本兼容性要求
- 避免规定任何在代码中不明显的实践
- 提供来自代码库的具体示例
- 全面但足够简洁,以便 Copilot 有效使用
重要提示:仅包含基于代码库中实际观察到的模式的指导。明确指示 Copilot 优先考虑与现有代码的一致性,而不是外部最佳实践或更新的语言功能。
”
预期输出
一份全面的 copilot-instructions.md 文件,该文件将指导 GitHub Copilot 生成与您现有技术版本完全兼容、并遵循您已建立的模式和架构的代码。
📄 原始文档
完整文档(英文):
https://skills.sh/github/awesome-copilot/copilot-instructions-blueprint-generator
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

评论(0)