Porting Everything Claude Code (ECC) to VS Code Copilot's native customization model.
This repository documents and implements a practical ECC-to-VS-Code migration strategy using native Copilot customization surfaces:
- instructions (
.github/instructions/*.instructions.md) - agents (
.github/agents/*.agent.md) - skills (
.github/skills/*/SKILL.md) - prompts (
.github/prompts/*.prompt.md) - hooks (
.github/hooks/*.json) - MCP template config (
.vscode/mcp.json.template) - memory-backed learning (
/memories/, plus session lifecycle hooks)
The core design goal is feature parity with ECC where it is valuable, while adapting to VS Code-native behavior and constraints.
Download and run the install script directly in your target repository root:
Windows (PowerShell):
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/klu-dev/porting-ecc-to-vscode/main/scripts/install-ecc.ps1" -OutFile "install-ecc.ps1"
.\install-ecc.ps1 # interactive install
.\install-ecc.ps1 -Force # overwrite without prompts
.\install-ecc.ps1 -Uninstall # remove ECC filesLinux / macOS (Bash):
curl -fsSL "https://raw.githubusercontent.com/klu-dev/porting-ecc-to-vscode/main/scripts/install-ecc.sh" -o install-ecc.sh
chmod +x install-ecc.sh
./install-ecc.sh # interactive install
./install-ecc.sh --force # overwrite without prompts
./install-ecc.sh --uninstall # remove ECC filesThe script clones the repo to a temporary .download directory (customizable with -RootDir / --root-dir), then copies .github files into your repository. Existing files with identical content are skipped; files with different content prompt for confirmation unless -Force / --force is used. Uninstall reverses the process.
- Copy the
.githubdirectory from this repository into your target repository. - Refer to Everything Claude Code documentation for usage details.
Key component equivalents:
CLAUDE.md/AGENTS.md->.github/copilot-instructions.mdrules/->.github/instructions/agents/*.md->.github/agents/*.agent.mdskills/*/SKILL.md->.github/skills/*/SKILL.mdcommands/*.md->.github/prompts/*.prompt.mdhooks/hooks.json->.github/hooks/*.jsonmcp-configs/->.vscode/mcp.json.template
- Instructions: done (26 files)
- Agents: done (48/48)
- Skills: done (183/183)
- Prompts: done (20/79 selected, 59 intentionally skipped)
- Hooks: done (6 JSON hook files + cross-platform scripts)
- Context instructions: done (
dev,review,research) - Continuous learning flow: done (skill + hooks + memory + save/resume prompts)
- Hook event parity with ECC is strong (
SessionStart,PreToolUse,PostToolUse,Stop,PreCompact). - VS Code adds additional lifecycle events (for example
UserPromptSubmitand subagent lifecycle events). - VS Code hook matchers are ignored, so hook scripts must filter by tool name in stdin payload.
- Some ECC workflows were intentionally not ported when they were redundant, ECC-runtime-specific, or low-value in VS Code.
For full details, see docs/porting-ecc.design.md.
Dual-licensed under either of the following, at your option:
- MIT
- Apache-2.0