Certainly! Here's the updated CONTRIBUTING.md file, revised to reflect the standards we've decided on, including:
- The new repository name:
copilot-instructions. - Using
.vscode/copilot-instructions.mdas the standard file name and location. - The updated hierarchy of files.
- Instructions on how to concatenate instruction files.
- A statement expressing openness to feedback and collaboration on community standards.
- Removal of the templates directory references.
Thank you for considering contributing to this project! Your contributions help developers worldwide enhance their GitHub Copilot experience.
- Add New Instruction Files: Share your custom code generation instructions for different languages, frameworks, or coding styles.
- Improve Existing Instruction Files: Enhance or update existing instruction files to reflect best practices.
- Report Issues: Identify problems or suggest improvements by opening an issue.
- Provide Feedback: Help us refine community standards by sharing your thoughts and suggestions.
Please familiarize yourself with the repository structure:
copilot-instructions/
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── CODE_OF_CONDUCT.md
└── instructions/
├── python/
│ ├── base.md
│ ├── numpy.md
│ ├── pandas.md
│ └── README.md
├── javascript/
│ ├── base.md
│ ├── react.md
│ └── README.md
└── [other languages]/
├── [instruction files].md
└── README.md
instructions/: Contains instruction files organized by programming language.[language]/: Each language has its own folder containing instruction files and aREADME.md.
Click the Fork button at the top right of the repository page to create a copy in your GitHub account.
git clone https://github.com/your-username/copilot-instructions.git
cd copilot-instructionsgit checkout -b feature/your-feature-name-
Adding New Instruction Files:
- Navigate to the appropriate language folder within
instructions/. - If the folder doesn't exist, create it (e.g.,
instructions/ruby/). - Add your instruction file with a descriptive name (e.g.,
rails.mdfor Ruby on Rails instructions).
- Navigate to the appropriate language folder within
-
Improving Existing Instruction Files:
- Edit the relevant
.mdfiles within the language folders.
- Edit the relevant
Please ensure your instruction file:
- Is in Plain Text Format: As GitHub Copilot processes instruction files as plain text, avoid using Markdown formatting within the instruction files.
- Contains Clear Instructions: Provide a list of clear, concise instructions.
- Uses Descriptive Naming: Name your file appropriately (e.g.,
base.md,numpy.md,react.md).
Example of an Instruction File (instructions/python/numpy.md):
Prefer using NumPy for numerical computations.
Use vectorized operations instead of loops where possible.
Import NumPy using the alias 'np'.
Include comments explaining complex mathematical operations.
- Add your instruction file to the list of available instructions in the
README.mdof the language folder. - Provide a brief description of what your instruction file covers.
git add .
git commit -m "Add [language/framework] code generation instructions"git push origin feature/your-feature-name- Go to the original repository on GitHub.
- Click on Pull Requests and then New Pull Request.
- Select your fork and branch as the source, and submit the pull request.
- One of the maintainers will review your pull request.
- Please respond to any feedback or requests for changes.
Before submitting your contribution, please ensure that:
- Your instruction file is in plain text without Markdown formatting.
- The content is clear, concise, and free of typos.
- You have tested the instructions with GitHub Copilot.
- You have updated the
README.mdin the language folder if applicable. - Your contribution adheres to our Code of Conduct.
To help users utilize your instruction files, consider including instructions on how to combine instruction files.
Example:
To combine the base Python instructions with NumPy-specific instructions:
cd instructions/python
cat base.md numpy.md > ../../.vscode/copilot-instructions.mdNote: This command concatenates base.md and numpy.md into a single file named copilot-instructions.md located in the .vscode/ directory of your project. Users can then reference this file in their VS Code settings.
We are open to feedback and collaboration to define and refine community standards for Copilot code generation instructions. The decisions made here are just a starting point. If you have suggestions for improvements or new ideas, please don't hesitate to share them by opening an issue or submitting a pull request.
This project and everyone participating in it is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
If you have any questions, feel free to open an issue or contact the maintainers:
- Maintainer: Fielding Johnston
- Email: fielding@justfielding.com
Thank you for your contribution!