An open API service indexing awesome lists of open source software.

https://github.com/gma/devcontainer-features

Dev container features that I've found useful
https://github.com/gma/devcontainer-features

devcontainer devcontainer-feature devcontainer-features devcontainers devcontainers-collection devcontainers-features

Last synced: 10 months ago
JSON representation

Dev container features that I've found useful

Awesome Lists containing this project

README

          

devcontainer-features
=====================

This repository contains [features] for the tools that I find useful when working with [devcontainers].

The implementation of my devcontainer features is based heavily on the examples provided in the [devcontainers/feature-starter] template repository.

[features]: https://containers.dev/features
[devcontainers]: https://containers.dev
[devcontainers/feature-starter]: https://github.com/devcontainers/feature-starter

Running the tests
-----------------

The `devcontainer` command provides support for testing devcontainer features. This repository has tests, which are run automatically in a GitHub action.

To run them locally, install the `devcontainer` command:

```sh
npm install -g @devcontainer/cli
```

Then run the tests:

```sh
devcontainer features test --skip-autogenerated .
```

If writing new tests, the [cli testing docs] are the best place to read up on how the test framework works.

[cli testing docs]: https://github.com/devcontainers/cli/blob/HEAD/docs/features/test.md

Releasing features
------------------

If you're ready to release a new version of a feature, you'll need to bump the version number in the `devcontainer-feature.json` file. Follow [semantic versioning] when choosing the version number.

Documentation for a feature (in a feature-specific `README.md` file) is auto-generated from the feature's metadata, and (if present) a `NOTES.md` file in the feature's directory. So write instructions for users in the `NOTES.md` file. The GitHub action will automatically produce a pull request that creates/updates the `README.md` file, as required.

To actually publish a feature you can use the `devcontainer features publish` command, but the easy way is to run the GitHub action. Head over to the [Actions tab], find the Release action, and run it.

[semantic versioning]: https://semver.org/
[Actions tab]: https://github.com/gma/devcontainer-features/actions