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

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

项目概述

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

功能特性

:bullseye: 可重用提示词

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

📋 自定义指令

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

💭 自定义聊天模式

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

📦 主题集合

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

安装指南

环境要求

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

安装步骤

  1. 安装单个项目

    • 点击项目页面中的VS Code安装按钮
    • 或手动下载对应文件并添加到相应目录
  2. 使用集合

    • 浏览主题集合页面
    • 选择适合工作流的集合
    • 安装集合中的单个项目或完整工具包
  3. 命令行工具

    # 创建新集合模板
    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 - 交互式集合创建工具
async function createCollectionTemplate() {
  const parsed = parseArgs();
  let collectionId = parsed.id;
  
  if (!collectionId) {
    collectionId = await prompt("Collection ID (lowercase, hyphens only): ");
  }

  // 验证集合ID格式
  if (!/^[a-z0-9-]+$/.test(collectionId)) {
    console.error(":cross_mark: 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(`:check_mark_button: 已创建集合模板: ${filePath}`);
}

YAML解析器

// yaml-parser.js - 集合文件解析器
function parseCollectionYaml(filePath) {
  return safeFileOperation(() => {
    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);
}

验证工具

// 集合验证函数
function validateCollectionId(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个字符之间";
  }
  return null;
}

function validateCollectionItems(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";
    }
  }
  return null;
}

高级聊天模式示例

Azure架构师模式

# azure-principal-architect.chatmode.md
description: '使用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智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2025-10-29 17:18  qife  阅读(5)  评论(0)    收藏  举报