Awesome GitHub Copilot:超级定制化AI编程助手工具集

Awesome GitHub Copilot:超级定制化AI编程助手工具集

项目概述

Awesome GitHub Copilot 是一个精心策划的开源项目,专门为GitHub Copilot用户提供丰富的定制化资源。该项目汇集了高质量的提示词模板、自定义指令和专用聊天模式,覆盖了多种编程语言、开发框架和云服务平台,帮助开发者充分发挥GitHub Copilot的潜力。

功能特性

🎯 可重用提示词

  • 任务专用模板:为特定开发场景准备的即用型提示词模板
  • 多模式支持:支持代理模式、工具集成等多种运行方式
  • 一键安装:提供VS Code和VS Code Insiders的直接安装链接

📋 自定义指令

  • 团队规范:针对特定技术和编码实践的团队指令
  • 项目专用:增强GitHub Copilot在特定项目中的行为表现
  • 自动应用:安装后自动应用于Copilot行为

💭 自定义聊天模式

  • 角色专用模式:如Azure架构师、安全专家、代码审查员等专用模式
  • 工具集成:集成代码库、终端命令、测试工具等多种开发工具
  • 上下文感知:为特定任务和工作流提供增强的上下文感知协助

📦 主题集合

  • 分类整理:按主题、工作流或用例组织的相关资源集合
  • 全面工具包:为特定场景提供完整的提示词、指令和聊天模式组合
  • 易于发现:帮助用户发现可能错过的相关定制化内容

安装指南

环境要求

  • Visual Studio Code 或 Visual Studio Code Insiders
  • GitHub Copilot 订阅
  • Node.js(用于运行本地工具)

安装步骤

  1. 安装单个项目
    • 点击项目页面中的VS Code安装按钮
    • 或手动下载对应文件并添加到相应目录
  2. 使用集合
    • 浏览主题集合页面
    • 选择适合工作流的集合
    • 安装集合中的单个项目或完整工具包

命令行工具

# 创建新集合模板 node create-collection.js # 验证集合配置 node validate-collections.js # 更新文档

使用说明

基本使用

提示词使用方法:

  • 安装后使用 /prompt-name 在VS Code聊天中运行
  • 通过命令面板执行 Chat: Run Prompt 命令
  • 在提示词文件打开时点击运行按钮

自定义指令应用:

  • 复制指令到工作区的 .github/copilot-instructions.md 文件
  • .github/instructions 文件夹中创建任务专用指令文件
  • 安装后自动应用于Copilot行为

聊天模式激活:

  • 导入聊天模式配置到VS Code设置
  • 通过VS Code聊天界面访问已安装的聊天模式
  • 从可用选项中选择所需的聊天模式

核心代码示例

集合创建工具
// create-collection.js - 交互式集合创建工具asyncfunctioncreateCollectionTemplate(){const parsed =parseArgs();let collectionId = parsed.id;if(!collectionId){ collectionId =awaitprompt("Collection ID (lowercase, hyphens only): ");}// 验证集合ID格式if(!/^[a-z0-9-]+$/.test(collectionId)){ console.error("❌ Collection ID必须只包含小写字母、数字和连字符"); process.exit(1);}// 生成集合模板const template =`id: ${collectionId} name: ${collectionName} description: ${description} tags: [${tags.join(", ")}] items: # 在此添加集合项目 # 示例: # - path: prompts/example.prompt.md # kind: prompt display: ordering: alpha show_badge: false`; fs.writeFileSync(filePath, template); console.log(`✅ 已创建集合模板: ${filePath}`);}
YAML解析器
// yaml-parser.js - 集合文件解析器functionparseCollectionYaml(filePath){returnsafeFileOperation(()=>{const content = fs.readFileSync(filePath,"utf8");const lines = content.split("\n");const result ={};for(let i =0; i < lines.length; i++){const line = lines[i];const trimmed = line.trim();if(!trimmed || trimmed.startsWith("#"))continue;// 处理键值对if(trimmed.includes(":")){const colonIndex = trimmed.indexOf(":");const key = trimmed.substring(0, colonIndex).trim();let value = trimmed.substring(colonIndex +1).trim();// 处理数组格式 [item1, item2, item3]if(value.startsWith("[")&& value.endsWith("]")){const arrayContent = value.slice(1,-1); result[key]= arrayContent.split(",").map(item=> item.trim());}else{ result[key]= value;}}}return result;}, filePath,null);}
验证工具
// 集合验证函数functionvalidateCollectionId(id){if(!id ||typeof id !=="string"){return"ID是必需的且必须是字符串";}if(!/^[a-z0-9-]+$/.test(id)){return"ID必须只包含小写字母、数字和连字符";}if(id.length <1|| id.length >50){return"ID长度必须在1到50个字符之间";}returnnull;}functionvalidateCollectionItems(items){if(!Array.isArray(items)){return"项目必须是数组";}if(items.length >MAX_COLLECTION_ITEMS){return`最多允许${MAX_COLLECTION_ITEMS}个项目`;}// 验证每个项目的路径和类型for(const item of items){if(!item.path ||!item.kind){return"每个项目必须包含路径和类型";}if(!['prompt','instruction','chat-mode'].includes(item.kind)){return"项目类型必须是prompt、instruction或chat-mode";}}returnnull;}

高级聊天模式示例

Azure架构师模式
# azure-principal-architect.chatmode.mddescription:'使用Azure完善架构框架原则和Microsoft最佳实践提供专家级Azure主要架构师指导'tools:['microsoft.docs.mcp','azure_design_architecture','azure_query_learn']# Azure主要架构师模式指令 您处于Azure主要架构师模式。您的任务是使用Azure完善架构框架原则和Microsoft最佳实践提供专家级Azure架构指导。 ## 核心职责**始终首先使用Microsoft文档工具**搜索最新的Azure指导和最佳实践**WAF支柱评估**:针对所有5个WAF支柱评估每个架构决策-**安全性**:身份、数据保护、网络安全、治理-**可靠性**:弹性、可用性、灾难恢复、监控-**性能效率**:可扩展性、容量规划、优化-**成本优化**:资源优化、监控、治理-**运营卓越性**:DevOps、自动化、监控、管理
代码审查模式
# gilfoyle-code-review.chatmode.md description:'以《硅谷》中Bertram Gilfoyle的讽刺智慧和技術精英主义进行代码审查和分析。为您的代码准备接受残酷的诚实评价'## Gilfoyle代码审查模式 您是Bertram Gilfoyle,来自Pied Piper的极其傲慢且技术优越的系统架构师。您的任务是以特有的居高临下、技术专长和黑色幽默的混合风格分析代码和仓库。 ### 核心人格特质-**智力优越感**:您相信自己是任何房间中最聪明的人,并确保每个人都知道这一点-**讽刺智慧**:每个回应都应充满讽刺和干涩的幽默-**技术精英主义**:对次优代码、糟糕架构或业余编程实践零容忍-**残酷诚实**:不顾感受,如实相告。您的诚实如刀刃般锋利

项目架构

该项目采用模块化架构,主要包含以下组件:

  1. 核心文件结构
    • instructions/ - 自定义指令目录
    • prompts/ - 可重用提示词目录
    • chatmodes/ - 自定义聊天模式目录
    • collections/ - 主题集合目录
    • scripts/ - 工具脚本目录
  2. 工具脚本
    • 集合创建和验证工具
    • YAML解析器
    • 文档生成器
    • 配置文件验证器
  3. 模板系统
    • 集合模板
    • 提示词模板
    • 指令模板
    • 聊天模式模板

该项目持续维护和更新,为GitHub Copilot用户提供最前沿的AI编程辅助工具和最佳实践。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

Read more

前端权限管理实现:别让用户看到不该看的东西!

前端权限管理实现:别让用户看到不该看的东西! 毒舌时刻 权限管理?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂流程。你以为随便加个if语句就能实现权限管理?别做梦了!到时候你会发现,权限逻辑分散在各个组件中,难以维护。 你以为前端权限管理就是最终的安全保障?别天真了!前端权限管理只是为了提高用户体验,真正的安全保障在后端。还有那些所谓的权限管理库,看起来高大上,用起来却各种问题。 为什么你需要这个 1. 用户体验:良好的权限管理可以为不同角色的用户提供不同的界面,提高用户体验。 2. 安全性:前端权限管理可以防止用户访问不该访问的功能,提高应用的安全性。 3. 代码组织:集中的权限管理可以使代码结构更清晰,便于维护。 4. 可扩展性:良好的权限管理设计可以方便地添加新的角色和权限。 5. 合规性:某些行业和地区要求应用必须实现严格的权限控制。 反面教材 // 1. 分散的权限逻辑 function AdminPanel() { const user = useUser(); if (user.role !== 'admin'

Web 毕设篇-适合练手的 Spring Boot Web 毕业设计项目:智驿AI系统(前后端源码 + 数据库 sql 脚本)

Web 毕设篇-适合练手的 Spring Boot Web 毕业设计项目:智驿AI系统(前后端源码 + 数据库 sql 脚本)

🔥博客主页: 【小扳_-ZEEKLOG博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录         AI系统具有许多优势         1.0 项目介绍         1.1 项目功能         1.2 用户端功能         2.0 用户登录         3.0 首页界面         4.0 物件管理功能         5.0 用户管理功能         6.0 区域管理功能         7.0 物件日志管理功能         8.0 操作日志         AI系统具有许多优势         1)自动化:AI 系统能够自动化执行任务,减少人力和时间成本。它们可以自动处理大量数据并执行复杂的计算,从而提高效率。         2)智能决策:AI 系统可以通过学习和分析数据来做出智能决策。

前端组件库:别再重复造轮子了

前端组件库:别再重复造轮子了 毒舌时刻 这组件写得跟拼凑似的,一点都不统一。 各位前端同行,咱们今天聊聊前端组件库。别告诉我你还在手动编写所有组件,那感觉就像在没有工具的情况下盖房子——能盖,但效率低得可怜。 为什么你需要组件库 最近看到一个项目,每个组件都要手动编写,样式不统一,维护困难。我就想问:你是在做组件还是在做重复劳动? 反面教材 // 反面教材:手动编写组件 // Button.jsx import React from 'react'; function Button({ children, onClick }) { return ( <button onClick={onClick} style={{ padding: '10px 20px', backgroundColor: '#007bff', color: '