A collection of reusable Dev Container Features for development tools and workflows.
The catalogue below is generated from src/<feature>/devcontainer-feature.json, which is the source of truth for feature names, descriptions, options and lifecycle metadata.
| Feature | Status | Description |
|---|---|---|
apptainer |
Current | Install Apptainer, a container system for HPC |
build-info |
Current | Bakes build-time release version and date metadata directly into a system-wide command. |
cmdstan |
Current | Installs CmdStan (the Stan probabilistic programming system command-line interface) from the official GitHub release, compiles it during image build, and configures the CMDSTAN environment variable system-wide so the installation survives container rebuilds. |
fit-sne |
Current | Installs FIt-SNE (Fast Interpolation-based t-SNE) by compiling from source. |
github-tokens |
Current | Manage GitHub authentication tokens (GITHUB_PAT, GITHUB_TOKEN) on each shell startup |
mermaid |
Current | Installs Mermaid CLI to generate diagrams. Sets up a non-root user and Puppeteer configuration. |
renv-cache |
Current | Configure R with renv cache |
repos |
Deprecated | (DEPRECATED: Use the 'utils' feature instead) Installs the 'repos' CLI tool to manage multiple Git repositories. Optionally runs 'repos clone' when the container starts to clone repositories defined in repos.list. |
utils |
Current | Installs Miguel Rodo's utilities like 'repos' and 'setupmjr'. |
repos is retained for backwards compatibility. New configurations should use utils.
Add a feature to your devcontainer.json using its GHCR identifier:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/MiguelRodo/DevContainerFeatures/<feature-name>:1": {}
}
}See the linked feature page for usage notes and options. The canonical option names and defaults live in each feature's src/<feature>/devcontainer-feature.json.
Regenerate the catalogue after feature metadata changes:
python3 scripts/docs_catalogue.pyCI runs the same script with --check and also verifies that Quarto navigation and feature option tables match metadata.
Run tests for all features:
devcontainer features test --global-scenarios-only .Publishing is manual through .github/workflows/release.yaml from main. Features are published to:
ghcr.io/MiguelRodo/DevContainerFeatures/<feature-name>
See LICENSE for details.