GitHub Copilot
Set up GitHub Copilot with project-specific instructions
GitHub Copilot generates better code when it understands your project's conventions. Without context, it suggests generic patterns that don't match your stack or coding style. The fix is .github/copilot-instructions.md — a project-level instructions file that Copilot reads automatically. Caliber generates it for you in one command.
What is copilot-instructions.md?
GitHub Copilot reads .github/copilot-instructions.md from your repository and includes it as context in every Copilot Chat conversation and inline code suggestion. This file tells Copilot how your project works:
- Coding conventions — naming patterns, file organization, import style, error handling approaches, and formatting preferences
- Architecture overview — project structure, key directories, data flow, and how components connect
- Tech stack details — frameworks, libraries, versions, and configuration specifics that Copilot should know about
- Patterns and anti-patterns — preferred approaches, common pitfalls to avoid, and project-specific rules
Why manual setup falls short
Writing copilot-instructions.md by hand means auditing your entire codebase to document conventions, architecture, and patterns. Most teams skip it entirely or write a few lines that barely scratch the surface. Even when someone writes a thorough file, it goes stale as the project evolves. The result: Copilot keeps suggesting code that doesn't match your project's actual patterns.
Generate copilot-instructions.md with Caliber
Caliber scans your codebase and generates a comprehensive copilot-instructions.md automatically:
- 1Run bootstrap — navigate to your project and run
npx @rely-ai/caliber bootstrap. Caliber analyzes your source files, dependencies, configs, and directory structure - 2Review the output — Caliber creates
.github/copilot-instructions.mdwith your project's conventions, architecture, and patterns tailored for Copilot - 3Commit to git — the file lives in
.github/so every developer on your team gets the same Copilot context automatically - 4Keep it updated — run
caliber refreshas your project evolves to keep instructions in sync with your codebase
$ cd your-project
$ npx @rely-ai/caliber bootstrap
# .github/copilot-instructions.md generated
What Caliber generates for Copilot
- copilot-instructions.md — project conventions, architecture, tech stack, key files, and coding patterns formatted for GitHub Copilot's context system
- Consistent with other tools — the same codebase scan also generates configs for Claude Code, Cursor, and Windsurf, so all your AI tools share the same project understanding
- Team-ready — committed to git so every developer gets Copilot context without any manual setup
Caliber generates configs for all major AI coding tools from a single scan — Claude Code setup, Cursor setup, Windsurf setup, and more. Learn about unified AI setup across all your tools.
Frequently asked questions
Where does GitHub Copilot read project instructions from?
GitHub Copilot reads project-level instructions from .github/copilot-instructions.md in your repository root. This file is automatically included as context in every Copilot Chat conversation and inline suggestion. Caliber generates this file automatically by scanning your codebase.
How is copilot-instructions.md different from CLAUDE.md or .cursorrules?
Each AI tool reads a different config file: Copilot uses .github/copilot-instructions.md, Claude Code uses CLAUDE.md, and Cursor uses .cursorrules. The content is similar — project conventions, architecture, and patterns — but the format and location differ. Caliber generates all of them from a single codebase scan so they stay consistent.
Can I customize what Caliber puts in copilot-instructions.md?
Yes. Caliber generates copilot-instructions.md as a starting point based on your codebase analysis. You can edit the file directly after generation and run 'caliber refresh' to update it as your project evolves. Your manual edits are preserved across refreshes.
Generate copilot-instructions.md for your project in 30 seconds.
Get Started