chore: add Copilot cloud sandbox + dev container with hve-core-all plugin#1
Merged
Merged
Conversation
…ugin Add a GitHub Copilot coding-agent setup workflow and a matching dev container, both pre-installing the hve-core-all Copilot CLI plugin from github.com/microsoft/hve-core via a shared, best-effort install script. - .github/workflows/copilot-setup-steps.yml: Node 20 toolchain + plugin - .devcontainer/devcontainer.json: typescript-node:20 dev container - .devcontainer/setup-hve-core.sh: shared, non-fatal plugin installer Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 34cd59c8-f42d-4884-bd65-cd12216a193a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a GitHub Copilot cloud-sandbox setup tailored to this repo's TypeScript/Node.js MCP stack, plus a matching dev container. Both pre-install the hve-core-all Copilot CLI plugin from
microsoft/hve-corevia a shared, best-effort install script.Three files only; no unrelated code touched.
What was added
.devcontainer/setup-hve-core.sh— shared, idempotent, non-fatal installer. Installs the@github/copilotCLI if missing, adds themicrosoft/hve-coremarketplace, installshve-core-all@hve-core, then lists plugins. Every step is best-effort (|| echo "::warning::...") so the sandbox always starts even if install fails..github/workflows/copilot-setup-steps.yml— thecopilot-setup-stepsworkflow the coding agent runs to prepare its environment: sets up Node 20 + npm cache, runsnpm ci, runs the shared script, then prints tool versions..devcontainer/devcontainer.json— dev container onmcr.microsoft.com/devcontainers/typescript-node:20(Node built in for the plugin install) with apostCreateCommandthat runsnpm cithen the shared script.Detected stack
engines.node >= 20; CI matrix tests Node 20 & 22)package-lock.json)@modelcontextprotocol/sdk).github/workflows/ci.yml,.github/workflows/release.ymlBuild / test / lint commands (from
package.json)npm run build(tsc -p tsconfig.json)npm test(vitest run)npm run lint(eslint .)npm run typecheck(tsc --noEmit)npm run format:check(prettier --check .)npm run smokenpm cihve-core-all install result — SUCCESS (headless, confirmed on GitHub-hosted Ubuntu CI)
Confirmed end-to-end by the
copilot-setup-stepscheck on this PR (run 29946590160,ubuntu-24.04,GITHUB_TOKENwithcontents: read, no interactive auth). The Copilot CLI installed fresh on the clean runner and the plugin installed from the publicmicrosoft/hve-coremarketplace:Verify step reported:
node v20.20.2,npm 10.8.2,copilot: GitHub Copilot CLI 1.0.73.Verdict: the headless hve-core-all install succeeds.
Validation
copilot-setup-stepsworkflow on this PR (push + pull_request)ubuntu-24.04runner)actionlint(v1.7.12) on the workflowprettier --checkon the yml + jsonjq emptyafter comment-strip)bash -nsyntax check on the scriptnpm ci(dependency-install dry-run)devcontainer buildNotes / deviations
ci.yml,release.yml) use major-version tags (@v4); this new agent-facing workflow SHA-pins for supply-chain safety, with the version in a trailing comment (verified downloaded by SHA in the CI logs):actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.020(the repo'sengines.nodefloor and first CI matrix entry) and set up unconditionally so the plugin install always has Node available.continue-on-error: true) and the dev container, so the environment always comes up.Auto-merge intentionally NOT enabled.