# π€ Awesome GitHub Copilot Customizations
[](https://aka.ms/awesome-github-copilot)
[](#contributors-)
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:
- **[](README.prompts.md)** - Focused, task-specific prompts for generating code, documentation, and solving specific problems
- **[](README.instructions.md)** - Comprehensive coding standards and best practices that apply to specific file patterns or entire projects
- **[](README.chatmodes.md)** - Specialized AI personas and conversation modes for different roles and contexts
- **[](README.collections.md)** - 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](https://developer.microsoft.com/blog/announcing-awesome-copilot-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.
[](https://aka.ms/awesome-copilot/mcp/vscode) [](https://aka.ms/awesome-copilot/mcp/vscode-insiders) [](https://aka.ms/awesome-copilot/mcp/vs)
Show MCP Server JSON configuration
```json
{
"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:
1. **Clone the repository** to your local machine and install dependencies:
```bash
git clone https://github.com/AstroSteveo/awesome-copilot
cd awesome-copilot
npm install
```
2. **Navigate to your project directory** where you want to add awesome-copilot customizations
3. **Generate a configuration file** with all available options:
```bash
node /path/to/awesome-copilot/awesome-copilot.js init
```
4. **Edit the configuration** to enable the items you want (or use the new CLI helpers):
```yaml
collections:
frontend-web-dev: true # Enable entire collection
prompts:
create-readme: true # Enable specific prompts
instructions:
typescript-best-practices: true
```
```bash
# 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
```
5. **Apply the configuration** to copy files to your project:
```bash
node /path/to/awesome-copilot/awesome-copilot.js apply
```
See [CONFIG.md](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:
1. **Explicit Settings Override Everything**
```yaml
collections:
testing-automation: true # Enables 11 items
prompts:
playwright-generate-test: false # Explicitly disabled, overrides collection
```
2. **Collections Enable Groups of Items**
```yaml
collections:
frontend-web-dev: true # Enables React, Vue, TypeScript items
testing-automation: true # Enables testing tools and frameworks
```
3. **Undefined Items Follow Collections**
- Items not explicitly listed inherit from enabled collections
- Only explicitly set true/false values override collection settings
- This allows collections to work as intended while preserving explicit choices
**Examples:**
```bash
# See effective states and why each item is enabled
awesome-copilot list prompts
# [β] create-readme (explicit)
# [β] playwright-generate-test (collection)
# [ ] react-component
# 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](CONTRIBUTING.md) for details on how to:
- Add new prompts, instructions, or chat modes
- Improve existing content
- Report issues or suggest enhancements
### Quick Contribution Guide
1. Follow our file naming conventions and frontmatter requirements
2. Test your contributions thoroughly
3. Update the appropriate README tables
4. 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:
```bash
# 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:**
1. Navigate to your project directory: `cd /path/to/your/project`
2. Run `node /path/to/awesome-copilot/awesome-copilot.js init` to create configuration and VS Code setup
3. Edit `awesome-copilot.config.yml` to enable desired items
4. Run `node /path/to/awesome-copilot/awesome-copilot.js apply` to copy files to your project
5. Start using enhanced GitHub Copilot!
**π‘ Pro Tip:** Create an alias for easier access:
```bash
# 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 `.awesome-copilot/` directory
- Automatic `.gitignore` management
- Easy updates by re-running `apply` command
**Note:** The package is not yet published to npm, so cloning the repository is currently required.
### π Manual Installation
1. **Browse the Collections**: Check out our comprehensive lists of [prompts](README.prompts.md), [instructions](README.instructions.md), [chat modes](README.chatmodes.md), and [collections](README.collections.md).
2. **Add to your editor**: Click the "Install" button to install to VS Code, or copy the file contents for other editors.
3. **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](LICENSE) file for details.
## π‘οΈ Security & Support
- **Security Issues**: Please see our [Security Policy](SECURITY.md)
- **Support**: Check our [Support Guide](SUPPORT.md) for getting help
- **Code of Conduct**: We follow the [Contributor Covenant](CODE_OF_CONDUCT.md)
## π― 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](README.prompts.md), [instructions](README.instructions.md), and [chat modes](README.chatmodes.md)!
## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## π Additional Resources
- [VS Code Copilot Customization Documentation](https://code.visualstudio.com/docs/copilot/copilot-customization) - Official Microsoft documentation
- [GitHub Copilot Chat Documentation](https://code.visualstudio.com/docs/copilot/chat/copilot-chat) - Complete chat feature guide
- [Custom Chat Modes](https://code.visualstudio.com/docs/copilot/chat/chat-modes) - Advanced chat configuration
- [VS Code Settings](https://code.visualstudio.com/docs/getstarted/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](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
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.