A quick, no-fluff guide to getting GitHub Copilot set up and actually useful in a new project.
Onboarding GitHub Copilot on a New Project
When starting fresh, the goal is simple - teach Copilot how your project works once, so you don’t repeat yourself in every prompt.
A good starting point for ideas and patterns 👉 https://awesome-copilot.github.com/
Copilot Slash Commands
In GitHub Copilot, slash commands (prefixed with /) are predefined shortcuts to trigger specific tasks quickly.
Examples:
/explain→ explain code/fix→ fix issues/doc→ generate documentation/test→ generate tests
They save you from writing long prompts and standardize interactions.
Official reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#\_slash-commands
Initialize Your Project
Run:
/init
This generates or updates workspace-level instruction files like:
copilot-instructions.md(older)AGENTS.md(new default)
These files define how Copilot should behave in your codebase.
What is AGENTS.md
Think of AGENTS.md as a README for AI agents.
It provides:
- Project context
- Coding standards
- Architectural decisions
- Do’s and don’ts
It helps Copilot (and other agents) generate code aligned with your system—not generic output.
Custom Instructions
Custom instructions define shared rules that automatically influence how AI generates code.
Instead of repeating context in every prompt:
- Store it once in Markdown
- Let Copilot apply it consistently
They can be:
- Always-on (automatic)
- Scoped to files
- Manually attached
Always-on Instructions
These are applied automatically to every chat request.
Option 1: .github/copilot-instructions.md
- Single file
- Applies to entire workspace
- Good for most teams
Option 2: AGENTS.md
- Can have multiple files
- Useful for multi-agent setups
- Can be placed:
- Root of workspace
- Subfolders (experimental scoping)
Option 3: Organization-level instructions
- Shared across teams
- Good for enforcing org-wide standards
Use .instructions.md Files
These are context-aware instruction files applied dynamically.
Copilot decides when to use them based on:
- File patterns (
applyToin header) - Task relevance
Locations
| Scope | Location |
|---|---|
| Workspace | .github/instructions/ |
| Claude-style | .claude/rules/ |
| User profile | ~/.copilot/instructions or VS Code profile |
Use these when:
- Different parts of repo need different rules
- Example: backend vs frontend vs infra
Custom Prompts
Prompt files are reusable, task-specific prompts stored as Markdown.
They act like your own slash commands.
Key difference:
- Custom instructions → automatic
- Prompt files → manually invoked
Location
| Scope | Location |
|---|---|
| Workspace | .github/prompts/ |
| User profile | VS Code user data |
Use cases:
- “Create API endpoint”
- “Write integration tests”
- “Generate Terraform module”
Custom Agents
Will be updating soon
Reference https://code.visualstudio.com/docs/copilot/customization/custom-agents
Custom Skills
Will be updating soon
Reference https://code.visualstudio.com/docs/copilot/customization/agent-skills
MCP
MCP (Model Context Protocol) is a standard way for AI agents to interact with external tools and systems.
It allows:
- Communication via standard input/output (stdio)
- Tool invocation (like CLI commands, scripts, services)
- Structured context exchange between agent and environment
In simple terms:
👉 MCP connects your AI agent to real capabilities (files, APIs, tools)
This is what enables:
- “Agentic workflows”
- Multi-step automation
- Real interaction with your dev environment
MCP (Model Context Protocol) – Locations
- Project-level config:
mcp.json(root of workspace) - Can also be part of:
.vscode/settings- User-level config (global MCP setup)
Final Thought
If you do only one thing:
👉 Run /init and refine AGENTS.md
That alone moves you from:
- “Copilot guessing”
to - “Copilot aligned with your codebase”