project-devcontainer-toolbox
The authoritative description of this repository. Framework docs (WORKFLOW.md, PLANS.md,
GIT.md, …) are copied unmodified from the fleet template and yield to this file when they
disagree.
What this repo is​
DevContainer Toolbox (DCT): a pre-built, multi-arch dev container image plus a one-line installer
that gives any project a consistent development environment on Windows, Mac and Linux. Users
install languages, frameworks and cloud tools on demand with dev-setup, and keep the container
current with dev-update. The documentation site is published at
dct.sovereignsky.no.
What it builds / does not build​
- Builds:
- the container image (
image/Dockerfile,image/entrypoint.sh), published toghcr.io/helpers-no/devcontainer-toolbox - the install, config and service scripts in
.devcontainer/additions/ - the in-container
dev-*commands in.devcontainer/manage/ - the host installers
install.sh/install.ps1and the host commands inhost-tools/(dct-init,dct-exec,dct-find-container). Everydct-*command is installed by the install scripts (Terje, 2026-09-25) - the Docusaurus site in
website/
- the container image (
- Does not build:
- the project templates or the AI workflow templates that
dev-templateinstalls. Those live inhelpers-no/dev-templatesand are downloaded at run time. - UIS (the local infrastructure stack).
uisinside DCT is a shim that forwards to the UIS container; UIS itself is another project.
- the project templates or the AI workflow templates that
Layout​
image/— Dockerfile and entrypoint for the published image.devcontainer/additions/—install-*.sh,config-*.sh,service-*.sh, theirlib/andtests/.devcontainer/manage/—dev-*commands and sharedlib/host-tools/— scripts that run on the host, not in the containerwebsite/— Docusaurus site; all documentation is underwebsite/docs/- This
ai-developer/folder lives atwebsite/docs/ai-developer/. There is no second copy. It is published on the public site. version.txt— the release version
Repo-specific AI-developer docs​
These are not template concerns, and are kept beside the portable docs:
- CREATING-SCRIPTS.md — script conventions and the metadata format. Read it before creating or changing any install/config/service script.
- CREATING-TOOL-PAGES.md — how the tool pages are produced
- CREATING-RECORDINGS.md — terminal recordings for the site
- index.md — the public "Developing with AI" page
Commands​
Run inside the devcontainer; the repo is mounted at /workspace.
# Script tests (CI runs the same suite and rejects failing PRs)
.devcontainer/additions/tests/run-all-tests.sh static <script>
# Docs site
cd /workspace/website && npm run start -- --host 0.0.0.0 # dev server
cd /workspace/website && npm run build # full build, validates every link
Tool pages are generated by dev-docs. Do not edit tools/index.mdx by hand. CI regenerates the
docs after a merge (CI/CD pipeline).
Git host​
GitHub. origin is https://github.com/helpers-no/devcontainer-toolbox. The gh operations in
GIT.md apply; AZURE-DEVOPS.md does not.
Devcontainer​
DEVCONTAINER.md applies. This repo is also the product it describes: DCT is
developed inside DCT, so a change to the image or to .devcontainer/ affects the environment you
are working in only after a rebuild.
Contracts (non-negotiable)​
- Never commit directly to
main. Every change goes through a feature branch, a PR and a merge, followed bygit pullonmainand deleting the local branch. Ask before each commit, push and merge. Multi-phase plans commit per phase on one branch and open the PR once. - Version bump before every push or PR. Ask: "Should we bump the version for this change?"
If yes, update
version.txt— PATCH for fixes and small improvements, MINOR for features and documentation improvements, MAJOR for breaking changes. Users runningdev-updateonly see a change when the version changes. See Releasing. - Docs build check before pushing any change to
website/docs/, and always after deleting, moving or renaming a file (including moving plans betweenbacklog/,active/andcompleted/). Runnpm run buildin/workspace/website. Docusaurus validates every internal link, and a broken link fails theDeploy Documentationworkflow. - Script tests must pass before committing a script change. CI rejects PRs with failing tests.
- Public repository and public site. Everything here is world-readable. No hostnames, IPs, internal topology, credentials or runtime identifiers, in code, docs or plans.
- Plans are worked phase by phase. Update the plan file as you go, and stop for the user's
confirmation after each phase (see the repo-root
CLAUDE.md).
Always-loaded files​
URB fleet​
- Agent id:
devcontainer-toolbox - Inbox:
~/.local/bin/urb inbox --id devcontainer-toolbox— open issues labelledto:devcontainer-toolboxinterchris/urb-agents(a query, not a directory) - Do not clone urb-agents. Do not copy
protocol/here.
Other documentation​
- User docs:
website/docs/(getting started, tools, commands, configuration) - Contributor docs:
website/docs/contributors/