Devcontainer templates repository focused on robotics and simulation.
Included template
templates/src/gz
Included feature
features/src/linux-x11-forwarding(local Linux hosts only)features/src/linux-pulseaudio-forwarding(local Linux hosts only)features/src/ros2
Sample configs
.devcontainer/gz-smoke/devcontainer.json.devcontainer/linux-x11-forwarding-smoke/devcontainer.json.devcontainer/linux-pulseaudio-forwarding-smoke/devcontainer.json.devcontainer/ros2-feature-smoke/devcontainer.json.devcontainer/ros2-x11-pulseaudio-smoke/devcontainer.json
Before using the samples locally, run
bash .devcontainer/prepare-local-features.sh so devcontainer up can resolve
the unpublished Features.
On classic Xorg hosts where the authority cookie lives outside
XDG_RUNTIME_DIR, add a bind mount to /tmp/devcontainer-xauthority-host.
XWayland setups are auto-detected from the mounted runtime directory.
To try the host audio forwarding Feature locally, make sure
$XDG_RUNTIME_DIR/pulse/native exists, then run:
bash .devcontainer/prepare-local-features.sh devcontainer up --workspace-folder .devcontainer/linux-pulseaudio-forwarding-smoke
The smoke container prints the configured PULSE_SERVER and verifies that
the host PulseAudio socket is available at /tmp/devcontainer-pulse/native.
Workflows
.github/workflows/test-pr.yaml: smoke tests template changes, validates features, and checks that generated docs are current on pull requests.github/workflows/release.yaml: publishes Features and Templates with the Dev Container CLI, combines their discovery metadata under one OCI collection, attaches a versioned source bundle to GitHub releases, and supports manual dry runs