microsoft/hve-core

Public

mirrored fromhttps://github.com/microsoft/hve-coreAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
hve-core-v3.0.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

docs/getting-started/methods/multi-root.md

247lines · modecode

1---
2title: Multi-Root Workspace Installation
3description: Set up your enterprise fork of HVE-Core using VS Code multi-root workspaces
4author: Microsoft
5ms.date: 2026-02-18
6ms.topic: how-to
7keywords:
8 - multi-root workspace
9 - installation
10 - github copilot
11 - codespaces
12 - devcontainer
13 - enterprise fork
14estimated_reading_time: 8
15---
16
17Forking HVE-Core lets your enterprise customize agents, prompts, instructions, and skills for your organization while staying connected to upstream improvements. Multi-root workspaces bring that fork into any project workspace, giving teams a portable configuration that works across Local VS Code, Devcontainers, and Codespaces.
18
19## When to Use This Method
20
21✅ **Use this when:**
22
23* Your enterprise maintains a fork of HVE-Core with org-specific customizations
24* You need a single configuration that works across Local VS Code, Devcontainers, and Codespaces
25* Teams share a common set of customized agents, prompts, and instructions
26* You want to pull upstream improvements on your own schedule
27
28❌ **Consider alternatives when:**
29
30* Your team needs version-pinned dependencies without a fork → [Submodule](submodule.md)
31* You're contributing back to HVE-Core itself → [Peer Clone](peer-clone.md)
32
33## How It Works
34
35Your enterprise forks the `microsoft/hve-core` repository, adds org-specific agents, prompts, and instructions, then uses a `.code-workspace` file to bring that fork into any project as a secondary root. VS Code treats the fork as part of your project, making all paths work correctly.
36
37```text
38┌──────────────────────────────────────────────────┐
39│ VS Code Multi-Root Workspace │
40├──────────────────────────────────────────────────┤
41│ 📁 My Project (primary) │
42│ └── Your application code │
43│ 📁 HVE-Core Fork (secondary) │
44│ └── .github/agents, prompts, instructions │
45│ └── Org-specific customizations │
46└──────────────────────────────────────────────────┘
47
48 .code-workspace file defines this
49
50 microsoft/hve-core (upstream)
51 ↓ sync on your schedule
52 your-org/hve-core (fork)
53```
54
55## Quick Start
56
57Use the `hve-core-installer` agent:
58
591. Open GitHub Copilot Chat (`Ctrl+Alt+I`)
602. Select `hve-core-installer` from the agent picker
613. Say: "Install HVE-Core using multi-root workspace from our fork"
624. Follow the guided setup
63
64## Manual Setup
65
66> [!TIP]
67> The `hve-core-installer` agent can automate the steps below, including forking, cloning, workspace file creation, and devcontainer configuration. See [Quick Start](#quick-start) to use the guided flow instead.
68
69### Step 1: Fork and Clone
70
71If your organization has not already forked HVE-Core, create a fork of `microsoft/hve-core` under your org's GitHub account. Then clone your fork.
72
73**Local VS Code:**
74
75```bash
76# Clone your org's fork next to your project
77cd /path/to/your-projects
78git clone https://github.com/your-org/hve-core.git
79
80# Add upstream for syncing improvements
81cd hve-core
82git remote add upstream https://github.com/microsoft/hve-core.git
83```
84
85**Codespaces/Devcontainer:** Your fork will be cloned automatically (see Step 3).
86
87### Step 2: Create the Workspace File
88
89Create `.devcontainer/hve-core.code-workspace` in your project:
90
91```jsonc
92{
93 "folders": [
94 {
95 "name": "My Project",
96 "path": ".."
97 },
98 {
99 "name": "HVE-Core Fork",
100 "path": "/workspaces/hve-core"
101 }
102 ],
103 "settings": {
104 "chat.agentFilesLocations": {
105 "HVE-Core Fork/.github/agents": true,
106 "My Project/.github/agents": true
107 },
108 "chat.promptFilesLocations": {
109 "HVE-Core Fork/.github/prompts": true,
110 "My Project/.github/prompts": true
111 },
112 "chat.instructionsFilesLocations": {
113 "HVE-Core Fork/.github/instructions": true,
114 "My Project/.github/instructions": true
115 }
116 },
117 "extensions": {
118 "recommendations": [
119 "github.copilot",
120 "github.copilot-chat"
121 ]
122 }
123}
124```
125
126**For local development**, use a relative path instead:
127
128```jsonc
129{
130 "name": "HVE-Core Fork",
131 "path": "../../hve-core"
132}
133```
134
135### Step 3: Configure Devcontainer (Codespaces)
136
137Update `.devcontainer/devcontainer.json` to clone your org's fork:
138
139```jsonc
140{
141 "name": "My Project + HVE-Core",
142 "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
143
144 "onCreateCommand": "git clone --depth 1 https://github.com/your-org/hve-core.git /workspaces/hve-core 2>/dev/null || git -C /workspaces/hve-core pull --ff-only || true",
145
146 "customizations": {
147 "vscode": {
148 "extensions": [
149 "github.copilot",
150 "github.copilot-chat"
151 ]
152 }
153 }
154}
155```
156
157### Step 4: Open the Workspace
158
159> [!WARNING]
160> You must open the `.code-workspace` file, not the folder.
161
162* `File` → `Open Workspace from File...` → select `hve-core.code-workspace` (Local)
163* Run `code .devcontainer/hve-core.code-workspace` in terminal (Codespaces)
164
165The VS Code title bar should show your workspace name, not just the folder name.
166
167## Path Resolution
168
169Multi-root workspaces use folder names for paths:
170
171| Path Style | Example | Recommended |
172|----------------------|-----------------------------------------|-------------------|
173| Folder name relative | `"HVE-Core Fork/.github/agents"` | ✅ Yes |
174| Absolute path | `"/workspaces/hve-core/.github/agents"` | ⚠️ Less portable |
175
176The folder names in your `.code-workspace` file (`"name": "HVE-Core Fork"`) become path prefixes in settings.
177
178## Keeping Your Fork Updated
179
180Sync your fork with upstream `microsoft/hve-core` to pick up new agents, prompts, and improvements. Pull from your fork into workspaces on a schedule that suits your team.
181
182### Syncing Upstream Changes into Your Fork
183
184```bash
185# From your fork's local clone
186git fetch upstream
187git merge upstream/main
188# Resolve any conflicts with your org customizations, then push
189git push origin main
190```
191
192### Pulling Fork Updates into Workspaces
193
194| Strategy | Configuration | When Updates Apply |
195|----------------|-----------------------------------------------------|--------------------|
196| Manual | Run `git -C /workspaces/hve-core pull` when desired | On demand |
197| On rebuild | Add `updateContentCommand` to devcontainer.json | Container rebuild |
198| On every start | Add `postStartCommand` to devcontainer.json | Every startup |
199
200> [!TIP]
201> Update on rebuild for stability:
202
203```jsonc
204{
205 "updateContentCommand": "git -C /workspaces/hve-core pull --ff-only || true"
206}
207```
208
209## Verification
210
211After setup, verify HVE-Core is working:
212
2131. Check the Explorer sidebar shows both folders
2142. Open Copilot Chat (`Ctrl+Alt+I`)
2153. Click the agent picker dropdown
2164. Verify HVE-Core agents appear (task-planner, task-researcher, etc.)
217
218## Troubleshooting
219
220### Agents not appearing
221
222* Confirm the workspace is open by checking that the title bar shows the workspace name
223* Ensure `path` values in `.code-workspace` point to the correct locations
224* Reload the window with `Ctrl+Shift+P` → "Developer: Reload Window"
225
226### "Folder not found" error
227
228* For local setups, verify HVE-Core is cloned at the relative path specified
229* For Codespaces, check that `onCreateCommand` ran successfully in creation logs
230
231### Settings not applying
232
233* Folder settings override workspace settings, so check for conflicts at the folder level
234* Use folder names (`"HVE-Core Fork/..."`) instead of absolute paths
235
236## Next Steps
237
238* [Your First Workflow](../first-workflow.md) - Try HVE-Core with a real task
239* [RPI Workflow](../../rpi/README.md) - Research, Plan, Implement methodology
240* [Back to Installation Guide](../install.md) - Compare other methods
241
242---
243
244<!-- markdownlint-disable MD036 -->
245*🤖 Crafted with precision by ✨Copilot following brilliant human instruction,
246then carefully refined by our team of discerning human reviewers.*
247<!-- markdownlint-enable MD036 -->
248