Some improvements to the contributing guide (#189)

This commit is contained in:
Aaron Powell 2025-08-15 09:14:20 +10:00 committed by GitHub
parent 5bddac3457
commit 244176e2b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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