67 KiB
🤖 Awesome GitHub Copilot Customizations
Enhance your GitHub Copilot experience with community-contributed instructions, prompts, and configurations. Get consistent AI assistance that follows your team's coding standards and project requirements.
🎯 GitHub Copilot Customization Features
GitHub Copilot provides three main ways to customize AI responses and tailor assistance to your specific workflows, team guidelines, and project requirements:
| 📋 Custom Instructions | 🎯 Reusable Prompts | 🧩 Custom Chat Modes |
|---|---|---|
| Define common guidelines for tasks like code generation, reviews, and commit messages. Describe how tasks should be performed Benefits: • Automatic inclusion in every chat request • Repository-wide consistency • Multiple implementation options |
Create reusable, standalone prompts for specific tasks. Describe what should be done with optional task-specific guidelines Benefits: • Eliminate repetitive prompt writing • Shareable across teams • Support for variables and dependencies |
Define chat behavior, available tools, and codebase interaction patterns within specific boundaries for each request Benefits: • Context-aware assistance • Tool configuration • Role-specific workflows |
💡 Pro Tip: Custom instructions only affect Copilot Chat (not inline code completions). You can combine all three customization types - use custom instructions for general guidelines, prompt files for specific tasks, and chat modes to control the interaction context.
📝 Contributing
We welcome contributions! Please see our Contributing Guide for details on how to submit new instructions and prompts.
📋 Custom Instructions
Team and project-specific instructions to enhance GitHub Copilot's behavior for specific technologies and coding practices:
| Title | Description | Install |
|---|---|---|
| Angular Development Instructions | Angular-specific coding standards and best practices | |
| ASP.NET REST API Development | Guidelines for building REST APIs with ASP.NET | |
| Azure Functions Typescript | TypeScript patterns for Azure Functions | |
| Bicep Code Best Practices | Infrastructure as Code with Bicep | |
| Blazor | Blazor component and application patterns | |
| Cmake Vcpkg | C++ project configuration and package management | |
| Copilot Process tracking Instructions | See process Copilot is following where you can edit this to reshape the interaction or save when follow up may be needed | |
| C# Development | Guidelines for building C# applications | |
| .NET MAUI | .NET MAUI component and application patterns | |
| Genaiscript | AI-powered script generation guidelines | |
| Generate Modern Terraform Code For Azure | Guidelines for generating modern Terraform code for Azure | |
| Go Development Instructions | Instructions for writing Go code following idiomatic Go practices and community standards | |
| Java Development | Guidelines for building Java base applications | |
| Guidance for Localization | Guidelines for localizing markdown documents | |
| Markdown | Documentation and content creation standards | |
| Memory Bank | Bank specific coding standards and best practices | |
| Next.js + Tailwind Development Instructions | Next.js + Tailwind development standards and instructions | |
| Performance Optimization Best Practices | The most comprehensive, practical, and engineer-authored performance optimization instructions for all languages, frameworks, and stacks. Covers frontend, backend, and database best practices with actionable guidance, scenario-based checklists, troubleshooting, and pro tips. | |
| PowerShell Cmdlet Development Guidelines | PowerShell cmdlet and scripting best practices based on Microsoft guidelines | |
| Python Coding Conventions | Python coding conventions and guidelines | |
| Quarkus | Quarkus development standards and instructions | |
| Ruby on Rails | Ruby on Rails coding conventions and guidelines | |
| Secure Coding and OWASP Guidelines | Comprehensive secure coding instructions for all languages and frameworks, based on OWASP Top 10 and industry best practices. | |
| Spring Boot Development | Guidelines for building Spring Boot base applications | |
| Taming Copilot | Prevent Copilot from wreaking havoc across your codebase, keeping it under control. | |
| TanStack Start with Shadcn/ui Development Guide | Guidelines for building TanStack Start applications |
💡 Usage: Copy these instructions to your
.github/copilot-instructions.mdfile or create task-specific.github/.instructions.mdfiles in your workspace's.github/instructionsfolder.
🎯 Reusable Prompts
Ready-to-use prompt templates for specific development scenarios and tasks, defining prompt text with a specific mode, model, and available set of tools.
| Title | Description | Install |
|---|---|---|
| ASP.NET Minimal API with OpenAPI | Create ASP.NET Minimal API endpoints with proper OpenAPI documentation | |
| Azure Cost Optimize | Analyze Azure resources used in the app (IaC files and/or resources in a target rg) and optimize costs - creating GitHub issues for identified optimizations. | |
| Azure Resource Health & Issue Diagnosis | Analyze Azure resource health, diagnose issues from logs and telemetry, and create a remediation plan for identified problems. | |
| Comment Code Generate A Tutorial | Transform this Python script into a polished, beginner-friendly project by refactoring the code, adding clear instructional comments, and generating a complete markdown tutorial. | |
| Create Architectural Decision Record | Create an Architectural Decision Record (ADR) document for AI-optimized decision documentation. | |
| Create GitHub Issue from Specification | Create GitHub Issue for feature request from specification file using feature_request.yml template. | |
| Create GitHub Issue from Implementation Plan | Create GitHub Issues from implementation plan phases using feature_request.yml or chore_request.yml templates. | |
| Create GitHub Issues for Unmet Specification Requirements | Create GitHub Issues for unimplemented requirements from specification files using feature_request.yml template. | |
| Create Implementation Plan | Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | |
| Create LLMs.txt File from Repository Structure | Create an llms.txt file from scratch based on repository structure following the llms.txt specification at https://llmstxt.org/ | |
| Generate Standard OO Component Documentation | Create comprehensive, standardized documentation for object-oriented components following industry best practices and architectural documentation standards. | |
| Create Specification | Create a new specification file for the solution, optimized for Generative AI consumption. | |
| Create Spring Boot Java project prompt | Create Spring Boot Java project skeleton | |
| Create Spring Boot Kotlin project prompt | Create Spring Boot Kotlin project skeleton | |
| C# Async Programming Best Practices | Get best practices for C# async programming | |
| C# Documentation Best Practices | Ensure that C# types are documented with XML comments and follow best practices for documentation. | |
| MSTest Best Practices | Get best practices for MSTest unit testing, including data-driven tests | |
| NUnit Best Practices | Get best practices for NUnit unit testing, including data-driven tests | |
| XUnit Best Practices | Get best practices for XUnit unit testing, including data-driven tests | |
| .NET/C# Best Practices | Ensure .NET/C# code meets best practices for the solution/project. | |
| .NET/C# Design Pattern Review | Review the C#/.NET code for design pattern implementation and suggest improvements. | |
| Entity Framework Core Best Practices | Get best practices for Entity Framework Core | |
| Product Manager Assistant: Feature Identification and Specification | This workflow guides you through a systematic approach to identify missing features, prioritize them, and create detailed specifications for implementation. | |
| Java Documentation (Javadoc) Best Practices | Ensure that Java types are documented with Javadoc comments and follow best practices for documentation. | |
| JUnit 5+ Best Practices | Get best practices for JUnit 5 unit testing, including data-driven tests | |
| Spring Boot Best Practices | Get best practices for developing applications with Spring Boot. | |
| Javascript Typescript Jest | Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns. | |
| Spring Boot with Kotlin Best Practices | Get best practices for developing applications with Spring Boot and Kotlin. | |
| Multi Stage Dockerfile | Create optimized multi-stage Dockerfiles for any language or framework | |
| My Issues | List my issues in the current repository | |
| My Pull Requests | List my pull requests in the current repository | |
| Next Intl Add Language | Add new language to a Next.js + next-intl application | |
| Suggest Awesome GitHub Copilot Chatmodes | Suggest relevant GitHub Copilot chatmode files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing chatmodes in this repository. | |
| Suggest Awesome GitHub Copilot Prompts | Suggest relevant GitHub Copilot prompt files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing prompts in this repository. | |
| Update Azure Verified Modules in Bicep Files | Update Azure Verified Modules (AVM) to latest versions in Bicep files. | |
| Update Implementation Plan | Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | |
| Update LLMs.txt File | Update the llms.txt file in the root folder to reflect changes in documentation or specifications following the llms.txt specification at https://llmstxt.org/ | |
| Update Markdown File Index | Update a markdown file section with an index/table of files from a specified folder. | |
| Update Standard OO Component Documentation | Update existing object-oriented component documentation following industry best practices and architectural documentation standards. | |
| Update Specification | Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code. |
💡 Usage: Use
/prompt-namein VS Code chat, runChat: Run Promptcommand, or hit the run button while you have a prompt open.
🧩 Custom Chat Modes
Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, enabling enhanced context-aware assistance for particular tasks or workflows.
| Title | Description | Install |
|---|---|---|
| 4.1 Beast Mode | A custom prompt to get GPT 4.1 to behave like a top-notch coding agent. | |
| Debug Mode Instructions | Debug your application to find and fix a bug | |
| Plan Mode - Strategic Planning & Architecture Assistant | Strategic planning and architecture assistant focused on thoughtful analysis before implementation. Helps developers understand codebases, clarify requirements, and develop comprehensive implementation strategies. | |
| Planning mode instructions | Generate an implementation plan for new features or refactoring existing code. | |
| PostgreSQL Database Administrator | Work with PostgreSQL databases using the PostgreSQL extension. | |
| Create PRD Chat Mode | Generate a comprehensive Product Requirements Document (PRD) in Markdown, detailing user stories, acceptance criteria, technical considerations, and metrics. Optionally create GitHub issues upon user confirmation. | |
| Prompt Engineer | A specialized chat mode for analyzing and improving prompts. Every user input is treated as a propt to be improved. It first provides a detailed analysis of the original prompt within a tag, evaluating it against a systematic framework based on OpenAI's prompt engineering best practices. Following the analysis, it generates a new, improved prompt. | |
| Refine Requirement or Issue Chat Mode | Refine the requirement or issue with Acceptance Criteria, Technical Considerations, Edge Cases, and NFRs |
💡 Usage: Create new chat modes using the command
Chat: Configure Chat Modes..., then switch your chat mode in the Chat input from Agent or Ask to your own mode.
📚 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
🛠️ Development Configuration
This repository uses various configuration files to ensure consistent code style and avoid issues with line endings:
.editorconfig- Defines coding styles across different editors and IDEs.gitattributes- Ensures consistent line endings in text files.vscode/settings.json- VS Code-specific settings for this repository.vscode/extensions.json- Recommended VS Code extensions
💡 Note: All markdown files in this repository use LF line endings (Unix-style) to avoid mixed line endings issues. The repository is configured to automatically handle line endings conversion.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
™️ 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.