You may learn about Features at [containers.dev](https://containers.dev/implementors/features/), which is the website for the dev container specification.
## Usage
To reference a feature from this repository, add the desired features to a `devcontainer.json`. Each feature has a `README.md` that shows how to reference the feature and which options are available for that feature.
To reference a Feature from this repository, add the desired Features to a `devcontainer.json`. Each Feature has a `README.md` that shows how to reference the Feature and which options are available for that Feature.
The example below installs the `go` and `docker-in-docker` declared in the [`./src`](./src) directory of this
repository.
See the relevant feature's README for supported options.
See the relevant Feature's README for supported options.
```jsonc
"name": "my-project-devcontainer",
...
...
@@ -51,7 +43,7 @@ See the relevant feature's README for supported options.
The `:latest` version annotation is added implicitly if omitted. To pin to a specific package version
([example](https://github.com/devcontainers/features/pkgs/container/features/go/versions)), append it to the end of the
feature. Features follow semantic versioning conventions, so you can pin to a major version `:1`, minor version `:1.0`, or patch version `:1.0.0` by specifying the appropriate label.
Feature. Features follow semantic versioning conventions, so you can pin to a major version `:1`, minor version `:1.0`, or patch version `:1.0.0` by specifying the appropriate label.
```jsonc
"features": {
...
...
@@ -63,7 +55,7 @@ feature. Features follow semantic versioning conventions, so you can pin to a ma
The [devcontainer CLI reference implementation](https://github.com/devcontainers/cli)(or a
[supporting tool](https://containers.dev/supporting)) can be used to build a project's dev container declaring
The [feature distribution specification](https://github.com/devcontainers/spec/blob/main/proposals/devcontainer-features-distribution.md) outlines a pattern for community members and organizations to self-author features in repositories they control.
The [Feature distribution specification](https://containers.dev/implementors/features-distribution/) outlines a pattern for community members and organizations to self-author Features in repositories they control.
A template repo [`devcontainers/feature-template`](https://github.com/devcontainers/feature-template) and [GitHub Action](https://github.com/devcontainers/action) are available to help bootstrap self-authored features.
A template repo [`devcontainers/feature-template`](https://github.com/devcontainers/feature-template) and [GitHub Action](https://github.com/devcontainers/action) are available to help bootstrap self-authored Features.
We are eager to hear your feedback on self-authoring! Please provide comments and feedback on [spec issue #70](https://github.com/devcontainers/spec/issues/70).
### Contributing to this repository
This repository will accept improvement and bug fix contributions related to the