From 244176e2b07d23e87c16bc54612599f9cb8d3244 Mon Sep 17 00:00:00 2001 From: Aaron Powell Date: Fri, 15 Aug 2025 09:14:20 +1000 Subject: [PATCH] Some improvements to the contributing guide (#189) --- CONTRIBUTING.md | 77 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3ee9e4f..eed9c78 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,12 +9,16 @@ Thank you for your interest in contributing to the Awesome GitHub Copilot reposi Instructions help customize GitHub Copilot's behavior for specific technologies, coding practices, or domains. 1. **Create your instruction file**: Add a new `.md` file in the `instructions/` directory -2. **Follow the naming convention**: Use descriptive, lowercase filenames with hyphens (e.g., `python-django.md`) +2. **Follow the naming convention**: Use descriptive, lowercase filenames with hyphens (e.g., `python-django.instructions.md`) 3. **Structure your content**: Start with a clear heading and organize your instructions logically 4. **Test your instructions**: Make sure your instructions work well with GitHub Copilot #### Example instruction format: ```markdown +--- +description: 'Instructions for customizing GitHub Copilot behavior for specific technologies and practices' +--- + # Your Technology/Framework Name ## Instructions @@ -40,9 +44,9 @@ Prompts are ready-to-use templates for specific development scenarios and tasks. #### Example prompt format: ```markdown --- -mode: "agent" -tools: ["codebase", "terminalCommand"] -description: "Brief description of what this prompt does" +mode: 'agent' +tools: ['codebase', 'terminalCommand'] +description: 'Brief description of what this prompt does' --- # Prompt Title @@ -55,6 +59,47 @@ Your goal is to... - Include examples where helpful ``` +### Adding Chat Modes + +Chat modes are specialized configurations that transform GitHub Copilot Chat into domain-specific assistants or personas for particular development scenarios. + +1. **Create your chat mode file**: Add a new `.chatmode.md` file in the `chatmodes/` directory +2. **Follow the naming convention**: Use descriptive, lowercase filenames with hyphens and the `.chatmode.md` extension (e.g., `react-performance-expert.chatmode.md`) +3. **Include frontmatter**: Add metadata at the top of your file with required fields +4. **Define the persona**: Create a clear identity and expertise area for the chat mode +5. **Test your chat mode**: Ensure the chat mode provides helpful, accurate responses in its domain + +#### Example chat mode format: +```markdown +--- +description: 'Brief description of the chat mode and its purpose' +model: 'gpt-5' +tools: ['codebase', 'terminalCommand'] +--- + +# Chat Mode Title + +You are an expert [domain/role] with deep knowledge in [specific areas]. + +## Your Expertise + +- [Specific skill 1] +- [Specific skill 2] +- [Specific skill 3] + +## Your Approach + +- [How you help users] +- [Your communication style] +- [What you prioritize] + +## Guidelines + +- [Specific instructions for responses] +- [Constraints or limitations] +- [Best practices to follow] +``` + ## Submitting Your Contribution 1. **Fork this repository** @@ -68,6 +113,29 @@ Your goal is to... - A brief description of what your instruction/prompt does - Any relevant context or usage notes +## What We Accept + +We welcome contributions covering any technology, framework, or development practice that helps developers work more effectively with GitHub Copilot. This includes: + +- Programming languages and frameworks +- Development methodologies and best practices +- Architecture patterns and design principles +- Testing strategies and quality assurance +- DevOps and deployment practices +- Accessibility and inclusive design +- Performance optimization techniques + +## What We Don't Accept + +To maintain a safe, responsible, and constructive community, we will **not accept** contributions that: + +- **Violate Responsible AI Principles**: Content that attempts to circumvent Microsoft/GitHub's Responsible AI guidelines or promotes harmful AI usage +- **Compromise Security**: Instructions designed to bypass security policies, exploit vulnerabilities, or weaken system security +- **Enable Malicious Activities**: Content intended to harm other systems, users, or organizations +- **Exploit Weaknesses**: Instructions that take advantage of vulnerabilities in other platforms or services +- **Promote Harmful Content**: Guidance that could lead to the creation of harmful, discriminatory, or inappropriate content +- **Circumvent Platform Policies**: Attempts to work around GitHub, Microsoft, or other platform terms of service + ## Quality Guidelines - **Be specific**: Generic instructions are less helpful than specific, actionable guidance @@ -75,6 +143,7 @@ Your goal is to... - **Follow conventions**: Use consistent formatting and naming - **Keep it focused**: Each file should address a specific technology, framework, or use case - **Write clearly**: Use simple, direct language +- **Promote best practices**: Encourage secure, maintainable, and ethical development practices ## Code of Conduct