Skip to content

ENG-1101 Load shared eng-central Copilot customisations in the dev container - #46

Open
terado wants to merge 1 commit into
mainfrom
nimi11-eng-1101-shared-skills
Open

terado wants to merge 1 commit into
mainfrom
nimi11-eng-1101-shared-skills

Conversation

@terado

@terado terado commented Nov 5, 2026 •

Copy link
Copy Markdown

Description

Makes the shared Copilot skills, agents and instructions from NHSDigital/eng-central available inside this repository's dev container. Part of ENG-1101.

A dev container has its own home folder, so it cannot see the links that eng-central's scripts/setup.sh creates in ~/.copilot on the host. This change:

  • runs mkdir -p ~/.eng-central on the host before the container starts (initializeCommand)
  • mounts ~/.eng-central read-only at /opt/eng-central
  • runs /opt/eng-central/scripts/setup.sh on container start (postStartCommand), which links the shared items into the container's ~/.copilot

eng-central's setup.sh links ~/.eng-central to the clone (NHSDigital/eng-central#3), so every repository can mount the same path wherever developers cloned eng-central.

If you have not set up eng-central, nothing changes: ~/.eng-central is an empty folder, so the mount still works, the start command finds no script and does nothing, and the container behaves as before.

Testing carried out

Tested in the code-ark dev container:

  • eng-central set up: a probe skill was linked under /opt/eng-central, resolved, and was loaded by Copilot Chat in VS Code inside the container
  • eng-central not set up: the container started normally and nothing was linked
  • eng-central set up after the container was created: a container restart linked the skills, with no rebuild

The edited devcontainer.json was validated with devcontainer read-configuration.

QA testing instructions

  1. Without eng-central: make sure ~/.eng-central does not exist, then run Dev Containers: Rebuild and Reopen in Container. The container starts as before and ls ~/.copilot inside it shows nothing from eng-central.
  2. With eng-central: clone NHSDigital/eng-central, check out the branch from NHSDigital/eng-central#3 (or main once merged) and run ./scripts/setup.sh. Check ~/.eng-central links to the clone.
  3. Restart the dev container. Inside it, ls -la ~/.copilot/skills shows links into /opt/eng-central/skills/.
  4. In a new Copilot chat inside the container, type / and check the eng-central skills are listed.

…ntainer

Mounts ~/.eng-central read-only and runs its setup script on container start, so skills, agents and instructions from NHSDigital/eng-central are available inside the container. If eng-central is not set up, an empty folder is mounted and nothing runs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant