Prebuilt devcontainer images and a devcontainer feature for plcc-ng — for use in courses and assignments on GitHub Codespaces or VS Code.
Add a .devcontainer/devcontainer.json to your project:
{
"name": "My PLCC-NG Project",
"image": "ghcr.io/ourplcc/devcontainers/plcc-ng:1"
}If your course implements language semantics in Haskell, use
ghcr.io/ourplcc/devcontainers/plcc-ng-full:1 instead.
Open the project in GitHub Codespaces or
VS Code with the Dev Containers extension.
plcc-ng, Python, Java, and JavaScript are ready to use (plus Haskell in -full).
Not sure which image to pick? See Choosing your image.
| Artifact | Where |
|---|---|
| Standard image (plcc-ng, Python, Java, JavaScript) | ghcr.io/ourplcc/devcontainers/plcc-ng |
| Full image (standard + Haskell) | ghcr.io/ourplcc/devcontainers/plcc-ng-full |
| Devcontainer feature (installs only plcc-ng) | ghcr.io/ourplcc/features/plcc-ng |
- Fork and clone this repository.
- Open it in VS Code or Codespaces — the repo's devcontainer includes the devcontainer CLI and Docker.
- Make your changes; test with
bash scripts/build-and-test.sh plcc-nganddevcontainer features test --project-folder . --features plcc-ng --base-image mcr.microsoft.com/devcontainers/base:ubuntu. - Open a PR — CI tests the feature and builds both images as
pr-{N}tags.
Use Conventional Commits:
fix: → patch, feat: → minor, feat!:/BREAKING CHANGE: → major.
See the maintainer guide for how releases work.