🤖 Awesome GitHub Copilot Customizations
A curated collection of prompts, instructions, and chat modes to supercharge your GitHub Copilot experience across different domains, languages, and use cases.
🚀 What is Awesome GitHub Copilot?
This repository provides a comprehensive toolkit for enhancing GitHub Copilot with specialized:
- Focused, task-specific prompts for generating code, documentation, and solving specific problems
- Comprehensive coding standards and best practices that apply to specific file patterns or entire projects
- Specialized AI personas and conversation modes for different roles and contexts
- Curated collections of related prompts, instructions, and chat modes organized around specific themes and workflows
MCP Server
To make it easy to add these customizations to your editor, we have created a MCP Server that provides a prompt for searching and installing prompts, instructions, and chat modes directly from this repository. You'll need to have Docker installed and running to run the server.
Show MCP Server JSON configuration
{
"servers": {
"awesome-copilot": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/microsoft/mcp-dotnet-samples/awesome-copilot:latest"
]
}
}
}
🔧 How to Use
There are two ways to use awesome-copilot customizations in your project:
🎛️ Configuration File Approach (Recommended)
Use our configuration system to manage all customizations in one place:
- Clone the repository to your local machine and install dependencies:
git clone https://github.com/AstroSteveo/awesome-copilot cd awesome-copilot npm install - Navigate to your project directory where you want to add awesome-copilot customizations
- Generate a configuration file with all available options:
node /path/to/awesome-copilot/awesome-copilot.js init - Edit the configuration to enable the items you want (or use the new CLI helpers):
collections: frontend-web-dev: true # Enable entire collection prompts: create-readme: true # Enable specific prompts instructions: typescript-best-practices: true# List what is currently enabled node /path/to/awesome-copilot/awesome-copilot.js list instructions # Enable or disable individual items without editing YAML by hand node /path/to/awesome-copilot/awesome-copilot.js toggle prompts create-readme on node /path/to/awesome-copilot/awesome-copilot.js toggle instructions all off - Apply the configuration to copy files to your project:
node /path/to/awesome-copilot/awesome-copilot.js apply
See CONFIG.md for detailed configuration documentation.
⚖️ Configuration Precedence Rules
Awesome Copilot uses an effective state system that respects explicit overrides while allowing collections to provide convenient defaults. The effective state computation follows these precise rules:
Boolean Value Behavior:
true→ enabled (explicit override)false→ disabled (explicit override)undefined→ inherit from collections (union of enabled collections)
Precedence Hierarchy:
-
Explicit Per-Item Overrides Take Precedence Over Collections
collections: testing-automation: true # Enables 11 items including playwright-generate-test prompts: playwright-generate-test: false # Explicitly disabled, overrides collection create-readme: true # Explicitly enabled, regardless of collections -
Collections Enable Groups of Items
collections: frontend-web-dev: true # Enables React, Vue, TypeScript items testing-automation: true # Enables testing tools and frameworks -
Undefined Items Inherit from Collections (Union Behavior)
- Items not explicitly listed (
undefined) inherit from enabled collections - Effective state = explicit override OR union of enabled collections
- Multiple enabled collections combine their items (union operation)
- Only explicitly set
true/falsevalues override collection settings
- Items not explicitly listed (
Detailed Examples:
# Configuration example showing precedence rules
collections:
testing-automation: true # Enables: playwright-generate-test, csharp-nunit, etc.
frontend-web-dev: true # Enables: react-component, vue-component, etc.
prompts:
playwright-generate-test: false # Explicitly disabled (overrides testing-automation)
create-readme: true # Explicitly enabled (regardless of collections)
# vue-component: undefined # Inherits from frontend-web-dev → enabled
# api-testing: undefined # Not in any enabled collection → disabled
# See effective states and why each item is enabled
awesome-copilot list prompts
# [✓] create-readme (explicit: true)
# [✓] vue-component (collection: frontend-web-dev)
# [✓] react-component (collection: frontend-web-dev)
# [ ] playwright-generate-test (explicit: false - overrides collection)
# [ ] api-testing (disabled: not in any enabled collection)
# Collection toggle shows what will change
awesome-copilot toggle collections frontend-web-dev on
# Delta summary:
# 📈 8 items will be enabled:
# + prompts/react-component
# + prompts/vue-component
# + instructions/typescript-best-practices
📁 Manual File Approach
Browse the collections and manually copy files you want to use:
🎯 Prompts
Use the / command in GitHub Copilot Chat to access prompts:
/awesome-copilot create-readme
📋 Instructions
Instructions automatically apply to files based on their patterns and provide contextual guidance for coding standards, frameworks, and best practices.
💭 Chat Modes
Activate chat modes to get specialized assistance from AI personas tailored for specific roles like architects, DBAs, or security experts.
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for details on how to:
- Add new prompts, instructions, or chat modes
- Improve existing content
- Report issues or suggest enhancements
Quick Contribution Guide
- Follow our file naming conventions and frontmatter requirements
- Test your contributions thoroughly
- Update the appropriate README tables
- Submit a pull request with a clear description
📖 Repository Structure
├── prompts/ # Task-specific prompts (.prompt.md)
├── instructions/ # Coding standards and best practices (.instructions.md)
├── chatmodes/ # AI personas and specialized modes (.chatmode.md)
├── collections/ # Curated collections of related items (.collection.yml)
└── scripts/ # Utility scripts for maintenance
🌟 Getting Started
🔧 CLI Installation (Recommended)
Install awesome-copilot CLI for streamlined project setup:
# Step 1: Clone the repository
git clone https://github.com/AstroSteveo/awesome-copilot
cd awesome-copilot
# Step 2: Install dependencies
npm install
# Step 3: Verify installation
node awesome-copilot.js help
Quick Setup:
- Navigate to your project directory:
cd /path/to/your/project - Run
node /path/to/awesome-copilot/awesome-copilot.js initto create configuration and VS Code setup - Edit
awesome-copilot.config.ymlto enable desired items - Run
node /path/to/awesome-copilot/awesome-copilot.js applyto copy files to your project - Start using enhanced GitHub Copilot!
💡 Pro Tip: Create an alias for easier access:
# Add to your ~/.bashrc or ~/.zshrc
alias awesome-copilot="node /path/to/awesome-copilot/awesome-copilot.js"
# Then you can simply use:
awesome-copilot init
awesome-copilot apply
✨ Benefits:
- Clean project setup with automatic VS Code configuration
- Files organized in
.github/directory - Automatic
.gitignoremanagement - Easy updates by re-running
applycommand
Note: The package is not yet published to npm, so cloning the repository is currently required.
📖 Manual Installation
- Browse the Collections: Check out our comprehensive lists of prompts, instructions, chat modes, and collections.
- Add to your editor: Click the "Install" button to install to VS Code, or copy the file contents for other editors.
- Start Using: Copy prompts to use with
/commands, let instructions enhance your coding experience, or activate chat modes for specialized assistance.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🛡️ Security & Support
- Security Issues: Please see our Security Policy
- Support: Check our Support Guide for getting help
- Code of Conduct: We follow the Contributor Covenant
🎯 Why Use Awesome GitHub Copilot?
- Productivity: Pre-built prompts and instructions save time and provide consistent results
- Best Practices: Benefit from community-curated coding standards and patterns
- Specialized Assistance: Access expert-level guidance through specialized chat modes
- Continuous Learning: Stay updated with the latest patterns and practices across technologies
Ready to supercharge your coding experience? Start exploring our prompts, instructions, and chat modes!
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
📚 Additional Resources
- VS Code Copilot Customization Documentation - Official Microsoft documentation
- GitHub Copilot Chat Documentation - Complete chat feature guide
- Custom Chat Modes - Advanced chat configuration
- VS Code Settings - General VS Code configuration guide
™️ Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.