Skip to content

Copilot: Auto-discovery of custom instructions from the .github folder #250923

Closed as not planned
@camya

Description

@camya

tl;dr:

Enable Copilot for VS Code to auto-detect and use custom specific instruction files, e.g., for commit messages, from the .github folder, so teams can share instructions without manual VS Code settings.


In order to assign custom Copilot instructions in VS Code, we currently have to add the content to each user's settings.json. This is not optimal, as every co-worker must manually copy and maintain these settings.

Feature Proposal:

I propose an auto-discovery feature for Copilot in VS Code that looks for specific instruction files by filename in the .github folder.

Example:

For the commit message generation feature, Copilot could automatically use instructions from:

./github/copilot.chat.commitMessageGeneration.instructions.md

The content of this file would be the instructions, for example:

* You are a senior developer
* Be extreme detailed for the file changes and the reason for this change.
* Emotjis are not allowed in the commit message

Alternative folder structure:

Optionally, Copilot could also support a folder-based approach:

.github/
    copilot/
        chat/
            commitMessageGeneration/
                instructions.md
            testGeneration/
                instructions.md
            codeGeneration/
                instructions.md
            reviewSelections/
                instructions.md

Benefits:

  • Makes it easier for teams to share and maintain Copilot instructions.
  • Reduces onboarding friction for new contributors.
  • Ensures consistency across the team.

Summary:

Support for auto-discovery of Copilot instruction files in the .github folder, so teams can share and update instructions more easily.


Reference:

Currently, the settings must be added to settings.json like this:

{
  "github.copilot.chat.commitMessageGeneration.instructions": [
    {
      "text": "You are a senior developer. Be extremely detailed for the file changes and the reason for this change. Emojis are not allowed in the commit message."
    }
  ]
}

Metadata

Metadata

Labels

staleIssues that have not been triaged in an appropriate amount of timetriage-needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions