Personal GitHub Copilot CLI configuration.
Cross-machine setup for:
copilot-instructions.md— biases the agent toward IDE MCP tools, plus a few general preferences. Loaded automatically from~/.copilot/.mcp-config.json— JetBrains MCP server config (Rider + IntelliJ indexer and debugger). Dead-port entries fail-soft, so the same file works on every machine that runs at least one JetBrains IDE.skills/— two skills (ide-index-mcp,jetbrains-debugger) telling the agent how to use the JetBrains MCP tools and what to do when they're not connected.
Everything is plain text. No secrets.
git clone https://github.com/AsafMah/copilot-config.git
cd copilot-config
# macOS / Linux
./bootstrap.sh
# Windows / PowerShell
pwsh ./bootstrap.ps1The bootstrap copies into ~/.copilot/, backing up anything it would
overwrite to <file>.bak.<timestamp>. Re-running is safe and idempotent.
Pass --force (or -Force on PowerShell) to skip the overwrite prompts.
After install, restart any running copilot session for the new config to
take effect (/restart in the CLI works too).
cd copilot-config
git pull
./bootstrap.sh -Force # or: pwsh ./bootstrap.ps1 -ForceIf you tweak files in-place and want to commit the result back:
cp ~/.copilot/copilot-instructions.md ./copilot-instructions.md
cp -R ~/.copilot/skills/ide-index-mcp ./skills/
cp -R ~/.copilot/skills/jetbrains-debugger ./skills/
cp ~/.copilot/mcp-config.json ./mcp-config.json
git add -A && git commit -m "..." && git push~/.copilot/ also contains machine-specific state that should never be
synced across machines:
session-state/,session-store.db*— session history & checkpointslogs/,crash-context/config.json,settings.json,permissions-config.json— local prefsinstalled-plugins/,plugin-data/,jb/,ide/,pkg/,restart/
The bootstrap script touches only the three top-level items listed above.
The JetBrains MCP plugin (Index + Debugger) binds to incrementing ports per running IDE instance:
| IDE instance | Index port | Debugger port |
|---|---|---|
| first | 29170 |
29190 |
| second | 29182 |
29202 |
| third | 29194 |
29214 |
| … | +12 |
+12 |
The shipped mcp-config.json covers the first two instances (one IntelliJ
- one Rider running simultaneously). If you routinely run more, add entries
following the same pattern and re-run
bootstrap.
To check which ports are live on a given machine:
# Windows / PowerShell
Get-NetTCPConnection -State Listen |
Where-Object { $_.LocalPort -ge 29170 -and $_.LocalPort -lt 29250 } |
Select-Object LocalPort, OwningProcess# macOS / Linux
lsof -nP -iTCP -sTCP:LISTEN | awk '$9 ~ /:291[0-9][0-9]$/'