Custom Dev Container Templates for specialized development environments, hosted on GitHub Container Registry. This repository follows the Dev Container Template distribution specification.
A comprehensive development container template for AI-assisted development with OpenCode and Ralph Loops. This template provides:
- Universal Linux base image for broad compatibility
- OpenCode - AI coding assistant with chat, indexing, and memory features
- Ralph - Agentic loop-based development workflows
- Pre-configured tools - Ready for Spec-Driven Development
Supported Platforms: Python, Node.js, JavaScript, TypeScript, C++, Java, C#, .NET Core, PHP, Go, Ruby, Conda, and more.
Documentation: OpenCode Ralph Template README
Templates are designed to be used by Dev Container supporting tools like VS Code Dev Containers and GitHub Codespaces.
To use a template from this repository:
ghcr.io/iyaki/devcontainer-templates/opencode-ralph:latest
Templates can declare customization options in their devcontainer-template.json file. The syntax for the options property can be found in the devcontainer Template json properties reference.
Implementing tools use these options to provide configuration UI when creating dev containers. See option resolution example for details.
Note: Allow GitHub Actions to create and approve pull requests should be enabled in the repository's Settings > Actions > General > Workflow permissions for auto-generation of template documentation.
Templates are individually versioned by the version attribute in each template's devcontainer-template.json. Templates follow semantic versioning specification. More details can be found in the Dev Container Template specification.
This repository uses a GitHub Action workflow to automatically publish templates to GitHub Container Registry (GHCR).
Templates are published with the <owner>/<repo> namespace prefix:
ghcr.io/iyaki/devcontainer-templates/opencode-ralph:latest
A metadata package is also published at ghcr.io/iyaki/devcontainer-templates containing information for template discovery tools.
By default, OCI artifacts in GHCR are private. To make templates publicly accessible:
-
Navigate to the template's package settings page:
https://github.com/users/iyaki/packages/container/devcontainer-templates%2Fopencode-ralph/settings -
Set visibility to public
To make templates discoverable by tools like VS Code and GitHub Codespaces, add them to the public index:
- Open a PR at devcontainers/devcontainers.github.io
- Modify collection-index.yml
This repository includes a GitHub Action workflow for automated testing. Each template has a corresponding test script in the test folder.
To run tests locally:
./.github/actions/smoke-test/build.sh ${TEMPLATE-ID}
./.github/actions/smoke-test/test.sh ${TEMPLATE-ID}Example:
./.github/actions/smoke-test/build.sh opencode-ralph
./.github/actions/smoke-test/test.sh opencode-ralphTemplate documentation is automatically generated by a GitHub Action workflow. The README.md for each template is created from its devcontainer-template.json and NOTES.md files.
Contributions are welcome! Please ensure:
- Templates follow the Dev Container Template specification
- All templates include proper tests
- Documentation is clear and comprehensive
See LICENSE for details.