Shared context for AI tools
GitHub Copilot custom instructions for teams
Set up GitHub Copilot custom instructions for a team with copilot-instructions.md, see where repo-scoped instructions stop, and how to share context.
GitHub Copilot does support custom instructions for teams, with one important boundary: they are scoped to a single repository. You add a .github/copilot-instructions.md file, commit it, and Copilot applies that guidance for everyone working in that repo. That covers a real team need. It just does not cover the team, only the repo.
Here is how to set it up, and where the repo boundary starts to hurt.
How to set up Copilot custom instructions
The mechanism is a single Markdown file.
- Create
.github/copilot-instructions.mdat the root of the repo. - Write the guidance in plain Markdown. Conventions, the stack, preferred patterns, the things you keep correcting in pull requests, the do-not-do list.
- Commit it. Because it lives in the repo, everyone who works there gets the same instructions, and it versions with the code.
Keep it focused. Copilot weighs this against the code in front of it, so a tight set of real conventions beats a wishlist. This is genuinely useful and worth doing for any repo a team shares.
Where repo-scoped instructions stop
The file is per-repo, and a team is bigger than a repo. The gaps follow from that.
- Every repo needs its own copy. A convention that should apply across all your services has to be pasted into each repository's instructions file, and kept in agreement by hand. That is the same drift problem as keeping CLAUDE.md and .cursorrules in sync.
- It is Copilot-only. The file guides Copilot. Cursor reads its own rules, Claude Code reads
CLAUDE.md, ChatGPT has its own settings. Now the same intent lives in several formats, which is the mess described in AGENTS.md vs CLAUDE.md vs .cursorrules. - It holds rules, not decisions. Instructions are good for style and conventions. They are not where you record what the team decided and why, so Copilot still relitigates settled choices.
- It does not know what just happened. The file is static. It has no idea what a teammate shipped yesterday or what a planning session concluded this morning.
So Copilot custom instructions solve "everyone in this repo follows the same rules" and leave "everyone on the team, in every tool, works from the same context" wide open.
The team fix: one source every tool reads
To cover the whole team and every tool, the conventions and decisions cannot live in one file per tool per repo. They have to live in one shared source the tools read.
That is what a shared context layer does. BaseThread keeps a curated context graph for your team, curated, not scraped, organized into layers like Company, Products, Teams, Projects, and You, with three streams: Activity for what happened, Decisions for what you settled and why, and Tasks for what is next. Every AI tool reads it over MCP, locally through the Mac app bridge or remotely through mcp.basethread.ai, and writes activity, decisions, and tasks back as work happens.
So instead of N instruction files:
- The team curates the conventions and decisions once, in one place.
- Copilot, Cursor, Claude Code, and the rest read the relevant slice over MCP. A change lands once and reaches all of them.
- Decisions live alongside the rules, so tools stop re-proposing choices the team already made.
- New repos and new hires inherit the same context instead of someone seeding a file per repo by hand.
Keep a .github/copilot-instructions.md for anything genuinely specific to that one repo. Put the cross-repo, cross-tool, cross-team facts in the shared layer. This is shared context for AI tools applied to the question of team-wide instructions.
The quick test
Open your copilot-instructions.md in two repos side by side. If they disagree, your team is already getting different guidance depending on which repo they are in. One source removes the question.
TL;DR
GitHub Copilot supports team custom instructions through a committed .github/copilot-instructions.md, but they are scoped to one repository and one tool. Cross-repo conventions get copied by hand, the file holds rules not decisions, and the same intent ends up duplicated across every tool's format. For team-wide context, keep the conventions and decisions in one shared source every tool reads over MCP, so a change lands once and reaches Copilot, your other tools, and every teammate.
Give Copilot and every other AI tool one shared, team-wide context over MCP. BaseThread is in closed beta.
Related reading
How to keep CLAUDE.md and .cursorrules in sync
Keeping CLAUDE.md and .cursorrules in sync by hand drifts fast. Here is why, and how a shared context source keeps every tool's rules current across a team.
AGENTS.md vs CLAUDE.md vs .cursorrules: the landscape
AGENTS.md vs CLAUDE.md vs .cursorrules: what each context file is, how they differ, and the limit all three share once your team uses more than one tool.
What is shared context for AI tools? (2026 guide)
Shared context for AI tools is the company, project, and decision background every AI reads automatically, so your whole team's tools stop guessing.
ChatGPT custom instructions for a whole team
ChatGPT custom instructions and memory are per-account, so a team cannot share them natively. Here is how to give a whole team one shared context to read.
Frequently asked questions
How do I set custom instructions for GitHub Copilot?
Add a .github/copilot-instructions.md file to your repository. Copilot reads it and applies the guidance to its suggestions and chat in that repo. Write conventions, stack notes, and rules in plain Markdown, commit it, and the whole team working in that repo gets the same instructions.
Are GitHub Copilot custom instructions team-wide?
They are team-wide within a single repository, because the file is committed and everyone on that repo reads it. They are not team-wide across repos or across tools. Each repo needs its own file, and Copilot's instructions do not reach Cursor, Claude Code, or ChatGPT.
Do Copilot custom instructions work across multiple repositories?
No. The file is repository-scoped, so a convention that should apply everywhere has to be copied into every repo's .github/copilot-instructions.md. Keeping those copies in agreement by hand is where teams drift.
How do I share AI context across Copilot and my other tools?
Keep the durable conventions and decisions in one shared source that every tool reads over MCP, instead of one file per tool per repo. A change lands once and reaches Copilot, Cursor, Claude Code, and the rest, plus every teammate.