|
| 1 | +# Devcontainer |
| 2 | + |
| 3 | +[](https://github.com/jmcombs/devcontainer/stargazers)  |
| 4 | +[](https://github.com/jmcombs/devcontainer/issues) |
| 5 | + |
| 6 | +A collection of [Development Container](https://containers.dev/) definitions for creating consistent, reproducible development environments. This repository provides pre-configured `devcontainer` images to streamline setting up development environments in tools like Visual Studio Code, GitHub Codespaces, or other container-based IDEs. |
| 7 | + |
| 8 | +## About |
| 9 | + |
| 10 | +A **development container** is a running [Docker](https://www.docker.com) container with a well-defined tool/runtime stack and its prerequisites. It allows you to use a container as a full-featured development environment which can be used to run an application, to separate tools, libraries, or runtimes needed for working with a codebase, and to aid in continuous integration and testing. |
| 11 | + |
| 12 | +This repository contains a set of **dev container images** which are Docker images built with [dev container features](https://github.com/devcontainers/features). |
| 13 | + |
| 14 | +## Contents |
| 15 | + |
| 16 | +- [`src`](src) - Contains reusable dev container images. |
| 17 | +- [`scripts`](scripts) - Contains utility scripts, including `generate-docs.js` for updating documentation links in this README. |
| 18 | + |
| 19 | +## Available Dev Containers |
| 20 | + |
| 21 | +Below is a list of available Dev Container definitions in this repository: |
| 22 | + |
| 23 | +| Name | Description | Base Image | Documentation | |
| 24 | +| -------- | ------------------------------------------------------------ | ------------------------------------- | ------------------------------------------ | |
| 25 | +| `python` | Python 3.x environment with common tools (e.g., pip, pylint) | `ghcr.io/jmcombs/devcontainer:python` | [Python Docs](src/python/README.md) | |
| 26 | +| `node` | Node.js environment with npm/yarn and VS Code extensions | `ghcr.io/jmcombs/devcontainer:node` | [Node Docs](src/node/README.md) | |
| 27 | +| `base-ubuntu` | Base Ubuntu 22.04 image with essential tools | `ghcr.io/jmcombs/devcontainer:base-ubuntu` | [Base Ubuntu Docs](src/base-ubuntu/README.md) | |
| 28 | + |
| 29 | +## Usage |
| 30 | + |
| 31 | +To use these dev containers in Visual Studio Code or GitHub Codespaces: |
| 32 | + |
| 33 | +1. **Open your project** in VS Code or Codespaces. |
| 34 | +2. **Select the dev container**: Use the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on macOS) and choose `Dev Containers: Reopen in Container`. |
| 35 | +3. **Choose a container definition**: Select one of the available dev containers from this repository (e.g., `python` or `node`). |
| 36 | +4. **Start coding**: Your environment will be set up with all the necessary tools and extensions. |
| 37 | + |
| 38 | +For more detailed instructions, refer to the [Dev Containers documentation](https://code.visualstudio.com/docs/remote/containers). |
0 commit comments