| title | GitHub Codespaces Installation | |||||
|---|---|---|---|---|---|---|
| description | Install HVE Core in GitHub Codespaces using postCreateCommand | |||||
| sidebar_position | 8 | |||||
| author | Microsoft | |||||
| ms.date | 2026-10-02 | |||||
| ms.topic | how-to | |||||
| keywords |
|
|||||
| estimated_reading_time | 7 |
GitHub Codespaces requires a specific installation approach because traditional methods (peer directories, bind mounts) don't work in cloud environments. This method uses postCreateCommand to clone HVE Core into the persistent /workspaces directory.
✅ Use this when:
- Your project runs exclusively in Codespaces
- You want automatic HVE Core setup for all users
- You need zero-config onboarding for contributors
❌ Consider alternatives when:
- You also need local devcontainer support → Multi-Root Workspace
- Your team needs version control → Submodule
- You're using local VS Code only → Peer Clone
| Feature | Local Devcontainer | GitHub Codespaces |
|---|---|---|
${localWorkspaceFolder} |
✅ Resolves to host | ❌ Not available |
| Bind mounts to host | ✅ Full support | ❌ No host access |
| Persistent storage | Host filesystem | /workspaces only |
| User settings modification | ✅ Via file system | ❌ Only via Settings Sync1 |
Codespaces has a specific storage model:
/
├── workspaces/ # ✅ PERSISTENT - survives stops/restarts
│ ├── your-repo/ # Your cloned repository
│ └── hve-core/ # 👈 HVE Core goes here
├── home/codespace/ # ⚠️ Semi-persistent (survives stops, not rebuilds)
└── <system-dirs>/ # ❌ Not persistent
The postCreateCommand clones HVE Core into /workspaces/hve-core where it persists across Codespace sessions.
Install the VS Code extension for the fastest setup. For guided installation-method selection, MCP configuration, or selective clone adoption, ask an agent to use the included hve-core-installer skill. Use the manual steps below for direct configuration.
Add the clone command and VS Code settings:
git add .devcontainer/devcontainer.json
git commit -m "feat: add HVE Core support for Codespaces"
git push- Create a new Codespace from the updated branch
- Rebuild an existing Codespace (
Ctrl+Shift+P→ "Codespaces: Rebuild Container")
- Open GitHub Copilot Chat (
Ctrl+Alt+I) - Click the agent picker dropdown
- Verify
RPI AgentandDocumentationappear, then confirm/rpi-researchis available
{
"name": "HVE Core Enabled",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"postCreateCommand": "[ -d /workspaces/hve-core ] || git clone --depth 1 https://github.com/microsoft/hve-core.git /workspaces/hve-core",
"customizations": {
"vscode": {
"settings": {
"chat.agentFilesLocations": {
"/workspaces/hve-core/.github/agents/ado": true,
"/workspaces/hve-core/.github/agents/data-science": true,
"/workspaces/hve-core/.github/agents/design-thinking": true,
"/workspaces/hve-core/.github/agents/github": true,
"/workspaces/hve-core/.github/agents/project-planning": true,
"/workspaces/hve-core/.github/agents/hve-core": true,
"/workspaces/hve-core/.github/agents/hve-core/subagents": true,
"/workspaces/hve-core/.github/agents/security": true
},
"chat.instructionsFilesLocations": {
"/workspaces/hve-core/.github/instructions/ado": true,
"/workspaces/hve-core/.github/instructions/coding-standards": true,
"/workspaces/hve-core/.github/instructions/github": true,
"/workspaces/hve-core/.github/instructions/hve-core": true,
"/workspaces/hve-core/.github/instructions/shared": true
},
"chat.agentSkillsLocations": {
"/workspaces/hve-core/.github/skills": true,
"/workspaces/hve-core/.github/skills/accessibility": true,
"/workspaces/hve-core/.github/skills/shared": true,
"/workspaces/hve-core/.github/skills/coding-standards": true,
"/workspaces/hve-core/.github/skills/data-science": true,
"/workspaces/hve-core/.github/skills/design-thinking": true,
"/workspaces/hve-core/.github/skills/hve-core": true,
"/workspaces/hve-core/.github/skills/installer": true,
"/workspaces/hve-core/.github/skills/project-planning": true,
"/workspaces/hve-core/.github/skills/rai": true,
"/workspaces/hve-core/.github/skills/rpi": true,
"/workspaces/hve-core/.github/skills/security": true
}
}
}
}
}{
"name": "HVE Core Development Environment",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"postCreateCommand": {
"clone-hve-core": "if [ ! -d /workspaces/hve-core ]; then git clone --depth 1 https://github.com/microsoft/hve-core.git /workspaces/hve-core && echo '✅ HVE Core cloned'; else echo '✅ HVE Core present'; fi",
"verify": "test -d /workspaces/hve-core/.github/agents && echo '✅ Verified' || echo '⚠️ Missing'"
},
"updateContentCommand": "cd /workspaces/hve-core && git pull --ff-only 2>/dev/null || echo 'Update skipped'",
"customizations": {
"vscode": {
"settings": {
"chat.instructionsFilesLocations": {
"/workspaces/hve-core/.github/instructions/ado": true,
"/workspaces/hve-core/.github/instructions/coding-standards": true,
"/workspaces/hve-core/.github/instructions/github": true,
"/workspaces/hve-core/.github/instructions/hve-core": true,
"/workspaces/hve-core/.github/instructions/shared": true,
".github/instructions": true
},
"chat.agentFilesLocations": {
"/workspaces/hve-core/.github/agents/ado": true,
"/workspaces/hve-core/.github/agents/data-science": true,
"/workspaces/hve-core/.github/agents/design-thinking": true,
"/workspaces/hve-core/.github/agents/github": true,
"/workspaces/hve-core/.github/agents/project-planning": true,
"/workspaces/hve-core/.github/agents/hve-core": true,
"/workspaces/hve-core/.github/agents/hve-core/subagents": true,
"/workspaces/hve-core/.github/agents/security": true,
".github/agents": true
},
"chat.agentSkillsLocations": {
"/workspaces/hve-core/.github/skills": true,
"/workspaces/hve-core/.github/skills/accessibility": true,
"/workspaces/hve-core/.github/skills/shared": true,
"/workspaces/hve-core/.github/skills/coding-standards": true,
"/workspaces/hve-core/.github/skills/data-science": true,
"/workspaces/hve-core/.github/skills/design-thinking": true,
"/workspaces/hve-core/.github/skills/hve-core": true,
"/workspaces/hve-core/.github/skills/installer": true,
"/workspaces/hve-core/.github/skills/project-planning": true,
"/workspaces/hve-core/.github/skills/rai": true,
"/workspaces/hve-core/.github/skills/rpi": true,
"/workspaces/hve-core/.github/skills/security": true,
".github/skills": true
}
}
}
}
}For projects needing HVE Core in both local devcontainers and Codespaces:
{
"name": "HVE Core (Local + Codespaces)",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
// Clone if not already present (Codespaces path)
"postCreateCommand": "[ -d /workspaces/hve-core ] || git clone --depth 1 https://github.com/microsoft/hve-core.git /workspaces/hve-core",
// Local only: mount peer directory (silently fails in Codespaces)
"mounts": [
"source=${localWorkspaceFolder}/../hve-core,target=/workspaces/hve-core,type=bind,readonly=true,consistency=cached"
],
"customizations": {
"vscode": {
"settings": {
// Both paths - VS Code ignores non-existent paths
"chat.instructionsFilesLocations": {
"/workspaces/hve-core/.github/instructions/ado": true,
"/workspaces/hve-core/.github/instructions/coding-standards": true,
"/workspaces/hve-core/.github/instructions/github": true,
"/workspaces/hve-core/.github/instructions/hve-core": true,
"/workspaces/hve-core/.github/instructions/shared": true,
"../hve-core/.github/instructions/ado": true,
"../hve-core/.github/instructions/coding-standards": true,
"../hve-core/.github/instructions/github": true,
"../hve-core/.github/instructions/hve-core": true,
"../hve-core/.github/instructions/shared": true
},
"chat.agentFilesLocations": {
"/workspaces/hve-core/.github/agents/ado": true,
"/workspaces/hve-core/.github/agents/data-science": true,
"/workspaces/hve-core/.github/agents/design-thinking": true,
"/workspaces/hve-core/.github/agents/github": true,
"/workspaces/hve-core/.github/agents/project-planning": true,
"/workspaces/hve-core/.github/agents/hve-core": true,
"/workspaces/hve-core/.github/agents/hve-core/subagents": true,
"/workspaces/hve-core/.github/agents/security": true,
"../hve-core/.github/agents/ado": true,
"../hve-core/.github/agents/data-science": true,
"../hve-core/.github/agents/design-thinking": true,
"../hve-core/.github/agents/github": true,
"../hve-core/.github/agents/project-planning": true,
"../hve-core/.github/agents/hve-core": true,
"../hve-core/.github/agents/hve-core/subagents": true,
"../hve-core/.github/agents/security": true
},
"chat.agentSkillsLocations": {
"/workspaces/hve-core/.github/skills": true,
"/workspaces/hve-core/.github/skills/accessibility": true,
"/workspaces/hve-core/.github/skills/shared": true,
"/workspaces/hve-core/.github/skills/coding-standards": true,
"/workspaces/hve-core/.github/skills/data-science": true,
"/workspaces/hve-core/.github/skills/design-thinking": true,
"/workspaces/hve-core/.github/skills/hve-core": true,
"/workspaces/hve-core/.github/skills/installer": true,
"/workspaces/hve-core/.github/skills/project-planning": true,
"/workspaces/hve-core/.github/skills/rai": true,
"/workspaces/hve-core/.github/skills/rpi": true,
"/workspaces/hve-core/.github/skills/security": true,
"../hve-core/.github/skills": true,
"../hve-core/.github/skills/accessibility": true,
"../hve-core/.github/skills/shared": true,
"../hve-core/.github/skills/coding-standards": true,
"../hve-core/.github/skills/data-science": true,
"../hve-core/.github/skills/design-thinking": true,
"../hve-core/.github/skills/hve-core": true,
"../hve-core/.github/skills/installer": true,
"../hve-core/.github/skills/project-planning": true,
"../hve-core/.github/skills/rai": true,
"../hve-core/.github/skills/rpi": true,
"../hve-core/.github/skills/security": true
}
}
}
}
}cd /workspaces/hve-core
git pullAdd updateContentCommand to your devcontainer.json:
{
"updateContentCommand": "cd /workspaces/hve-core && git pull --ff-only 2>/dev/null || true"
}This runs when the Codespace starts (not on every terminal open).
To always get the latest version on rebuild:
{
"postCreateCommand": "rm -rf /workspaces/hve-core && git clone --depth 1 https://github.com/microsoft/hve-core.git /workspaces/hve-core"
}Warning: This removes any local changes on every rebuild.
ls /workspaces/hve-core/.github/agentsLook at the Codespace creation log for clone output or errors.
Network issues: Try rebuilding the Codespace.
GitHub rate limiting: Ensure you're authenticated:
gh auth statusSettings must use absolute paths (/workspaces/hve-core/...).
- Open Command Palette (
Ctrl+Shift+P) - Type "Preferences: Open User Settings (JSON)"
- Check if settings are present
The clone command skips if the folder exists. Force update:
cd /workspaces/hve-core
git pullOr modify postCreateCommand to always pull (see Auto-Update section).
| Aspect | Status |
|---|---|
| Codespaces | ✅ Designed for this |
| Local devcontainers | |
| Team sharing | ✅ Auto-setup for all contributors |
| Portable paths | |
| Version pinning | |
| Offline support | ❌ Requires network during creation |
| Setup complexity | ✅ Low (just devcontainer.json) |
To pin to a specific version:
{
"postCreateCommand": "[ -d /workspaces/hve-core ] || git clone --depth 1 --branch v1.0.0 https://github.com/microsoft/hve-core.git /workspaces/hve-core"
}Replace v1.0.0 with your desired version tag.
- Your First Workflow - Try HVE Core with a real task
- Multi-Root Workspace - For dual local + Codespaces support
- Submodule - For team version control
🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.
Footnotes
-
User-level settings require Settings Sync. Workspace/container-level settings can still be configured via
devcontainer.jsonusingcustomizations.vscode.settings. ↩
{ "name": "My Project with HVE Core", "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "postCreateCommand": "[ -d /workspaces/hve-core ] || git clone --depth 1 https://github.com/microsoft/hve-core.git /workspaces/hve-core", "customizations": { "vscode": { "settings": { "chat.agentFilesLocations": { "/workspaces/hve-core/.github/agents/ado": true, "/workspaces/hve-core/.github/agents/data-science": true, "/workspaces/hve-core/.github/agents/design-thinking": true, "/workspaces/hve-core/.github/agents/github": true, "/workspaces/hve-core/.github/agents/project-planning": true, "/workspaces/hve-core/.github/agents/hve-core": true, "/workspaces/hve-core/.github/agents/hve-core/subagents": true, "/workspaces/hve-core/.github/agents/security": true }, "chat.instructionsFilesLocations": { "/workspaces/hve-core/.github/instructions/ado": true, "/workspaces/hve-core/.github/instructions/coding-standards": true, "/workspaces/hve-core/.github/instructions/github": true, "/workspaces/hve-core/.github/instructions/hve-core": true, "/workspaces/hve-core/.github/instructions/shared": true }, "chat.agentSkillsLocations": { "/workspaces/hve-core/.github/skills": true, "/workspaces/hve-core/.github/skills/accessibility": true, "/workspaces/hve-core/.github/skills/shared": true, "/workspaces/hve-core/.github/skills/coding-standards": true, "/workspaces/hve-core/.github/skills/data-science": true, "/workspaces/hve-core/.github/skills/design-thinking": true, "/workspaces/hve-core/.github/skills/hve-core": true, "/workspaces/hve-core/.github/skills/installer": true, "/workspaces/hve-core/.github/skills/project-planning": true, "/workspaces/hve-core/.github/skills/rai": true, "/workspaces/hve-core/.github/skills/rpi": true, "/workspaces/hve-core/.github/skills/security": true } } } } }