1.2.1. Surfaces: IDE, CLI, GitHub.com, and Mobile
💡 First Principle: Each surface trades reach for context. The IDE has the richest local context (your open files); GitHub.com has the richest project context (issues, PRs, codebase indexing on Enterprise); the CLI lives where you run commands; Mobile keeps you connected on the go.
Copilot meets developers in four broad places:
- The IDE — Visual Studio Code, Visual Studio, JetBrains IDEs, and others. This is the home turf for inline suggestions, Chat, Edit/Agent modes, and editor-level content exclusions.
- The command line (Copilot CLI) — a terminal-native agent for suggesting commands, generating and running scripts, and managing files in interactive sessions.
- GitHub.com — pull request summaries, Copilot code review, and (with Copilot Enterprise) a chat experience integrated across the platform that can draw on your organization's indexed codebase and knowledge.
- GitHub Mobile — Copilot Chat on the go; Enterprise adds access to organizational knowledge.
A scenario the exam might pose: a reviewer wants an AI-generated summary of what a large pull request changes, without opening an IDE. That is a GitHub.com surface (PR summaries / code review), not an IDE feature. Matching the need to the surface is the whole skill.
| Surface | Best for | Key dependency |
|---|---|---|
| IDE | Writing/editing code, agentic tasks, exclusions | Supported editor + GitHub sign-in |
| Copilot CLI | Shell commands, scripts, file ops in the terminal | CLI installed + authenticated |
| GitHub.com | PR summaries, code review, org-aware chat | Plan features (Enterprise for deep indexing) |
| GitHub Mobile | Quick chat, staying connected | Copilot-enabled GitHub account |
⚠️ Exam Trap: Chat availability varies by surface and editor, and some advanced capabilities (like org-aware chat over an indexed codebase) are Enterprise-tier on GitHub.com. Don't assume every feature exists on every surface — the plan and the surface both gate availability.
Reflection Question: A developer needs to turn a plain-English request into a safe shell command without leaving the terminal. Which surface fits, and what does it need to be set up?