Skip to content

Latest commit

 

History

History
184 lines (123 loc) · 6 KB

File metadata and controls

184 lines (123 loc) · 6 KB

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.md as 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.

Contributing to Copilot Instructions

Thank you for considering contributing to this project! Your contributions help developers worldwide enhance their GitHub Copilot experience.


📝 How Can You Contribute?

  • 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.

📂 Repository Structure

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 a README.md.

🛠 Contribution Guidelines

1. Fork the Repository

Click the Fork button at the top right of the repository page to create a copy in your GitHub account.

2. Clone Your Fork

git clone https://github.com/your-username/copilot-instructions.git
cd copilot-instructions

3. Create a New Branch

git checkout -b feature/your-feature-name

4. Add or Update Instruction Files

  • 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.md for Ruby on Rails instructions).
  • Improving Existing Instruction Files:

    • Edit the relevant .md files within the language folders.

5. Follow the Instruction File Format

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.

6. Update the Language Folder's README.md (If Applicable)

  • Add your instruction file to the list of available instructions in the README.md of the language folder.
  • Provide a brief description of what your instruction file covers.

7. Commit Your Changes

git add .
git commit -m "Add [language/framework] code generation instructions"

8. Push to Your Fork

git push origin feature/your-feature-name

9. Create a Pull Request

  • 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.

10. Wait for Review

  • One of the maintainers will review your pull request.
  • Please respond to any feedback or requests for changes.

Contribution Checklist

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.md in the language folder if applicable.
  • Your contribution adheres to our Code of Conduct.

🛠 Using the Instruction Files

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.md

Note: 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.


💡 Community Standards and Feedback

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.


Code of Conduct

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.


📞 Contact Us

If you have any questions, feel free to open an issue or contact the maintainers:


Thank you for your contribution!