You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace the feature ID and version according to your requirements.
39
54
55
+
## Feature Highlights
56
+
57
+
Each DevContainer Feature is:
58
+
59
+
- Composable – Add only the tools you need
60
+
- Opinionated, but overridable – Defaults provided, but easy to customize
61
+
- Reusable – Designed for local dev, CI/CD, and cloud workspaces
62
+
- Tested – Verified against multiple base images and distros
63
+
40
64
## Structure
41
65
42
66
Each Feature is organized under the `src/` folder following the DevContainer [Feature distribution specification](https://containers.dev/implementors/features-distribution/).
@@ -46,6 +70,7 @@ src/
46
70
shell/
47
71
devcontainer-feature.json
48
72
install.sh
73
+
NOTES.md
49
74
aws/
50
75
devcontainer-feature.json
51
76
install.sh
@@ -65,15 +90,13 @@ src/
65
90
66
91
## Versioning
67
92
68
-
Each Feature is individually versioned using the `version` attribute in its `devcontainer-feature.json`.
93
+
Each Feature is individually versioned using the `version` attribute in its `devcontainer-feature.json`.
@@ -82,23 +105,31 @@ Releases are automated via GitHub Actions using [release-please](https://github.
82
105
83
106
## Publishing
84
107
85
-
Features are automatically published to **GitHub Container Registry (GHCR)** following the [DevContainer Feature distribution spec](https://containers.dev/implementors/features-distribution/).
108
+
Features are automatically published to GitHub Container Registry (GHCR) following the [DevContainer Feature distribution spec](https://containers.dev/implementors/features-distribution/).
This document outlines how to use the sandbox workflow powered by `Makefile` and [Copier](https://copier.readthedocs.io) to generate and manage a complete development environment based on DevContainer features.
4
+
5
+
## Overview
6
+
7
+
The sandbox system is designed for:
8
+
9
+
- Rapid prototyping of feature combinations
10
+
- Reproducible DevContainer setups
11
+
- Simplified developer onboarding
12
+
13
+
### Key Capabilities
14
+
15
+
- Interactive CLI for selecting image + features
16
+
- Auto-generates `.copier-answers.yml`
17
+
- Renders `.sandbox/` workspace via Copier
18
+
- Builds and launches the container using the `devcontainer` CLI
19
+
20
+
## Usage
21
+
22
+
### 1. Interactive Setup
23
+
24
+
```bash
25
+
make interactive
26
+
```
27
+
28
+
Prompts you to select an image and features, then writes a `.copier-answers.yml` file.
29
+
30
+
### 2. Generate DevContainer
31
+
32
+
```bash
33
+
make sandbox
34
+
```
35
+
36
+
Renders `.sandbox/` from `.template/` using Copier.
37
+
Copies selected features from `src/` into `.sandbox/.devcontainer/features/`.
38
+
39
+
### 3. Launch Container
40
+
41
+
```bash
42
+
make devcontainer-up
43
+
```
44
+
45
+
Uses the official `devcontainer` CLI to build and start the container.
46
+
47
+
### 4. Run Commands
48
+
49
+
```bash
50
+
make exec CMD="zsh"
51
+
```
52
+
53
+
Executes commands inside the container workspace. Defaults to `zsh`.
0 commit comments