Skip to content

Latest commit

 

History

720 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dev Container Features

A collection of reusable Dev Container Features for development tools and workflows.

Features

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.

Usage

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.

Keeping documentation in sync

Regenerate the catalogue after feature metadata changes:

python3 scripts/docs_catalogue.py

CI runs the same script with --check and also verifies that Quarto navigation and feature option tables match metadata.

Development

Run tests for all features:

devcontainer features test --global-scenarios-only .

Publishing

Publishing is manual through .github/workflows/release.yaml from main. Features are published to:

ghcr.io/MiguelRodo/DevContainerFeatures/<feature-name>

License

See LICENSE for details.

Releases

Packages

Used by

Contributors

Languages