# devcontainers/cli

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/devcontainers-cli).**

2,482 stars · 378 forks · TypeScript · mit

## Links

- GitHub: https://github.com/devcontainers/cli
- Homepage: https://containers.dev
- awesome-repositories: https://awesome-repositories.com/repository/devcontainers-cli.md

## Topics

`containers` `devcontainers`

## Description

This is a command line tool for building and managing isolated development environments based on the Development Container Specification. It functions as an OCI container image builder and a provisioner for instantiating standardized containers within automated continuous integration workflows.

The tool includes a system for injecting pre-configured software and toolsets into containers using a registry of reusable installation modules. This allows for the creation of shareable features and the installation of specific languages, CLI tools, and software dependencies.

It covers the automation of environment bootstrapping, the generation of prebuilt images to reduce startup time, and the execution of commands and lifecycle scripts within running containers. It also handles the mapping of workspace folders to ensure consistent setups across different machines.

## Tags

### Development Tools & Productivity

- [Container Development Environments](https://awesome-repositories.com/f/development-tools-productivity/container-development-environments.md) — Builds and configures isolated development environments based on a standardized specification file. ([source](https://containers.dev))
- [Specification-Driven Provisioning](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration/specification-driven-provisioning.md) — Builds and configures isolated environments by parsing a standardized configuration file to define images, mounts, and settings.
- [Feature Application](https://awesome-repositories.com/f/development-tools-productivity/container-development-environments/development-container-configuration/feature-application.md) — Installs optional software components at runtime to extend the capabilities of the development environment. ([source](https://containers.dev/supporting))
- [Container Feature Modules](https://awesome-repositories.com/f/development-tools-productivity/container-feature-modules.md) — Inject pre-configured software, languages, and CLI tools into an environment using a registry of feature modules. ([source](https://containers.dev/features))
- [Development Containers](https://awesome-repositories.com/f/development-tools-productivity/development-containers.md) — Provides a command line tool for building and managing isolated development environments based on the Dev Container Specification.
- [Containerized Development Environments](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/isolated-execution-environments/containerized-development-environments.md) — Creates isolated workspaces that encapsulate source code and dependencies within portable images.
- [Environment Bootstrapping](https://awesome-repositories.com/f/development-tools-productivity/environment-bootstrapping.md) — Automates the initial setup of complete development stacks from templates and configuration files. ([source](https://containers.dev/templates))
- [Containerized Provisioning](https://awesome-repositories.com/f/development-tools-productivity/environment-provisioning/containerized-provisioning.md) — Builds and starts containerized environments by pulling images and mounting workspace folders. ([source](https://cdn.jsdelivr.net/gh/devcontainers/cli@main/README.md))
- [Environment Customization](https://awesome-repositories.com/f/development-tools-productivity/cli-development-tools/environment-customization.md) — Allows the installation of specific languages and CLI tools via reusable feature modules.
- [Lifecycle Script Execution](https://awesome-repositories.com/f/development-tools-productivity/lifecycle-script-execution.md) — Triggers automation commands at defined stages of the container startup sequence to finalize environment configuration.

### DevOps & Infrastructure

- [CI Environment Standardization](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipelines/ci-environment-standardization.md) — Ensures consistency by running the identical container specification used in local development within CI pipelines. ([source](https://containers.dev/overview))
- [Config-Driven Image Building](https://awesome-repositories.com/f/devops-infrastructure/config-driven-image-building.md) — Generates container images using configuration files and associated feature modules to standardize environments. ([source](https://cdn.jsdelivr.net/gh/devcontainers/cli@main/README.md))
- [Container Build Specifications](https://awesome-repositories.com/f/devops-infrastructure/container-build-specifications.md) — Creates and configures container environments based on a standardized specification file to ensure consistency across machines. ([source](https://containers.dev/supporting))
- [Container CI/CD Pipelines](https://awesome-repositories.com/f/devops-infrastructure/container-ci-cd-pipelines.md) — Provides tooling to instantiate standardized development containers within automated continuous integration workflows. ([source](https://containers.dev/guides))
- [Container Image Builders](https://awesome-repositories.com/f/devops-infrastructure/container-image-builders.md) — Generates OCI-compliant container images from configuration files and modular feature sets.
- [Feature Injection Layers](https://awesome-repositories.com/f/devops-infrastructure/container-image-layering/feature-injection-layers.md) — Implements a system for injecting pre-configured software and toolsets into containers using reusable installation modules.
- [Docker Container Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-orchestrators.md) — Provides a command line interface for managing the full lifecycle and orchestration of development containers.
- [Reusable Features and Templates](https://awesome-repositories.com/f/devops-infrastructure/dev-container-specifications/reusable-features-and-templates.md) — Injects pre-configured software and toolsets into containers using a registry of reusable installation modules.
- [Feature Authoring](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/system-package-manager-installations/container-package-installation/composable-feature-packages/feature-authoring.md) — Allows users to create self-contained, shareable units of installation code and configuration for reuse across containers. ([source](https://containers.dev/guides))
- [Container Image Prebuilding](https://awesome-repositories.com/f/devops-infrastructure/container-ci-cd-pipelines/container-image-prebuilding.md) — Builds and caches full container images in CI to enable instant first-use startup for developers. ([source](https://containers.dev/supporting))
- [Container Command Execution](https://awesome-repositories.com/f/devops-infrastructure/container-command-execution.md) — Runs specific processes or scripts inside a running container to perform tasks like compiling code or running tests. ([source](https://cdn.jsdelivr.net/gh/devcontainers/cli@main/README.md))
- [Dev Container Prebuild Pipelines](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/docker-image-building/agent-image-pipeline/cloud-image-pipelines/dev-container-prebuild-pipelines.md) — Generates and stores pre-compiled container images in a registry to bypass lengthy installation steps for users.
- [Build Environment Isolation](https://awesome-repositories.com/f/devops-infrastructure/containerized-build-environments/build-environment-isolation.md) — Uses development containers as consistent, isolated environments to build applications within CI pipelines. ([source](https://cdn.jsdelivr.net/gh/devcontainers/cli@main/README.md))
- [Dockerfile and Compose Integration](https://awesome-repositories.com/f/devops-infrastructure/dockerfile-utilities/dockerfile-and-compose-integration.md) — Supports Dockerfiles and Docker Compose as base definitions alongside JSON metadata for environment customization. ([source](https://containers.dev/guides))
- [Volume Mounts](https://awesome-repositories.com/f/devops-infrastructure/volume-mounts.md) — Maps local source directories into the container file system to allow real-time code editing and persistence.
