We're excited for your contributions to the development container CLI! This document outlines how you can get involved.
- Propose the change via an issue in the specification repository. Try to get early feedback before spending too much effort formalizing it.
- More formally document the proposed change in terms of properties and their semantics. Look to format your proposal like our devcontainer.json reference, which is a JSON with Comments (jsonc) format.
Here is a sample:
Property | Type | Description |
---|---|---|
image |
string | Required when using an image. The name of an image in a container registry (DockerHub, GitHub Container Registry, Azure Container Registry) that VS Code and other devcontainer.json supporting services / tools should use to create the dev container. |
- You may open a PR, i.e code or shell scripts demonstrating approaches for implementation.
- Once there is discussion on your proposal, please also open and link a PR to update the devcontainer.json reference doc. When your proposal is merged, the docs will be kept up-to-date with the latest spec.
The specification repo uses the following labels:
proposal
: Issues under discussion, still collecting feedback.finalization
: Proposals we intend to make part of the spec.
Milestones use a "month year" pattern (i.e. January 2022). If a finalized proposal is added to a milestone, it is intended to be merged during that milestone.
- Create a PR:
- Updating the package version in the
package.json
. - List notable changes in the
CHANGELOG.md
. - Update ThirdPartyNotices.txt with any new dependencies.
- Updating the package version in the
- After the PR is merged to
main
wait for the CI workflow to succeed (this builds the artifact that will be published). (TBD: Let thepublish-dev-containers
workflow wait for the CI workflow.) - Push a new tag, e.g., v0.10.0:
git tag v0.10.0
git push origin v0.10.0
- Pushing of a tag will trigger the
publish-dev-containers
workflow which will publish the new version to npm: https://www.npmjs.com/package/@devcontainers/cli
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project is under an MIT license.