65 lines
2.3 KiB
Markdown
65 lines
2.3 KiB
Markdown
# Setup
|
|
|
|
## macOS Or Linux
|
|
|
|
```bash
|
|
install/bootstrap.sh
|
|
```
|
|
|
|
## Windows
|
|
|
|
```powershell
|
|
install/bootstrap.ps1
|
|
```
|
|
|
|
## What Bootstrap Does
|
|
|
|
- Creates a canonical path at `~/.copilot-resources`
|
|
- Links default discovery locations back to this repository
|
|
- Merges only the managed Copilot-related VS Code settings into the user settings file
|
|
- Generates managed VS Code and Copilot CLI MCP config files from the tracked templates in `config/mcp/`
|
|
- Writes a managed Copilot CLI environment fragment and sources it from the shell or PowerShell profile
|
|
- Creates `.local/mcp.local.jsonc` from the tracked example if the machine-local MCP override file does not exist yet
|
|
- Writes a local install-state file outside the repository
|
|
|
|
## Optional Settings
|
|
|
|
Bootstrap renders and merges the managed keys from
|
|
`config/vscode/settings.template.jsonc` into the user settings file. Existing
|
|
unmanaged VS Code settings are preserved, and the merge updates the managed keys
|
|
in place so existing JSONC comments and surrounding formatting stay intact where
|
|
possible.
|
|
|
|
Bootstrap also writes a managed Copilot CLI environment file into the local
|
|
state directory and adds a small managed source block to the active shell or
|
|
PowerShell profile instead of replacing the whole profile.
|
|
|
|
Bootstrap generates user-level MCP config as well:
|
|
|
|
- VS Code user `mcp.json`
|
|
- Copilot CLI user `~/.copilot/mcp-config.json`
|
|
|
|
Those files are rendered from the tracked templates in `config/mcp/` and merged
|
|
in place so unmanaged MCP server entries are preserved. Managed MCP servers that
|
|
are no longer desired are removed.
|
|
|
|
Machine-local MCP inputs live in `.local/mcp.local.jsonc`. The tracked example
|
|
file starts with Gitea disabled. Enable it per machine by editing that local
|
|
file and providing:
|
|
|
|
- `servers.gitea.enabled: true`
|
|
- `servers.gitea.serverUrl`
|
|
- `servers.gitea.token`
|
|
|
|
Current managed MCP behavior:
|
|
|
|
- VS Code gets Playwright, Filesystem, and optional Gitea
|
|
- Copilot CLI gets Filesystem and optional Gitea
|
|
- Copilot CLI Playwright is intentionally omitted because it already ships as a built-in MCP server
|
|
|
|
`install/update.sh` and `install/update.ps1` rerun bootstrap after `git pull`,
|
|
so managed MCP config changes propagate on update.
|
|
|
|
For generic Git repository bootstrap hygiene outside the installation flow of
|
|
this shared resources repo, see `docs/git-bootstrap-hygiene.md`.
|