Skip to content

Custom instructions are skipped when gitignored #1981

@melkamar

Description

@melkamar

Describe the bug

I finally found out why my custom instructions experience has been very unreliable. It seems that Copilot will not read any custom instructions from .github/ when that path is in .gitignore. Oddly, skills and agents are still loaded.

There is no mention about this in the CLI logs at ~/.copilot/logs/*.log and there is no mention about this in the documentation.

Affected version

v1.0.3

Steps to reproduce the behavior

##
## Setup
##
[melka@MBP:~/work/_llm-test] $ find -type f .github/
.github/instructions/something/something.instructions.md
.github/skills/test-skill/SKILL.md

##
## Both the instruction and the skill have been loaded fine
##
[melka@MBP:~/work/_llm-test] $ copilot
● Environment loaded: 1 custom instruction, 1 MCP server, 1 skill

##
## Add .github to gitignore
##
[melka@MBP:~/work/_llm-test] $ echo .github > .gitignore

##
## The skill is still loaded, but the instruction is silently ignored!
##
[melka@MBP:~/work/_llm-test] $ copilot

● 💡 No copilot instructions found. Run /init to generate a copilot-instructions.md file for this project.

● Environment loaded: 1 MCP server, 1 skill

Expected behavior

I would expect even .gitignored instruction files to be loaded. We have a central place for our instructions and distribute them into our projects by other means than git, so we do not want to commit the github instructions to all the repositories individually.

Or, if this is really by design, I would expect

  1. A warning on startup
  2. Consistent behavior with skills and agents

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions