Thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued, no matter if it's a bug report 🐛, a feature request 💡, or a Pull Request 🚀.
- ❓ I have a question: Ask in our dev container community Slack channel
- 🐛 I found a bug: Open an Issue
- 💡 I have an idea: Open an Issue
- 💻 I want to code: See below
If you like the project, but just don't have time to contribute, that's OK too! You can also star the project ⭐, rave about it online 💬, or add a link to us 🔗 in your project's readme.
SECURITY.md.
👨💼 This repository is a collection of dev container Features managed by dev container spec maintainers. This repository will only accept improvements and bug fixes for the current set of maintained Features.
🚀 If you're looking to create a new Feature, then we encourage adding it to a separate repository of your control. The devcontainers/feature-starter repository has more guidance on self authoring Features.
💡 Once you've self authored the Features and if you'd like to share them with the community, then we'd recommend adding it to the index.
👷 If you've identified an issue and you want to fix it, here's how you can get started:
- 🔀 Fork the repo
- 💻 Open the repo in your editor
- 👨💻 Add your changes to your workspace
- ✨ Test your changes using
devcontainer features testto make sure everything still works - 🆚 Bump the version of the feature you changed according to semver
- 🔖 Commit & push your changes
- 🔁 Open a PR to get your changes merged
- 🚀 Profit!
👩⚖️ When contributing code to this project, you may be asked to agree to our Contributor License Agreement.
The devcontainer CLI is used to run the tests in this repository. Install it with:
npm install -g @devcontainers/cliTo run the tests for every Feature in this repository, run the following commands from the root of the repository:
# Run auto-generated and scenario tests for every Feature
devcontainer features test .
# Run the global test scenarios
devcontainer features test --global-scenarios-only .To test a specific Feature (e.g. go):
devcontainer features test -f go .By default tests run against mcr.microsoft.com/devcontainers/base:ubuntu. Use the --base-image (or -i) flag to specify a different image:
devcontainer features test -f go -i ubuntu:focal .Use --skip-autogenerated to run only the scenario tests defined in test/<feature>/scenarios.json:
devcontainer features test -f go --skip-autogenerated .