This repository contains a collection of features that can be used to enhance the development experience in a Visual Studio Code Dev Container.
The features are organized in separate folders and can be used individually in a devcontainer.json file.
The installation script can be run locally and/or in a devcontainer environment.
When run locally:
- Features are installed in the local environment.
- A
devcontainer.jsonfile is optionally created for the remote development experience.
npx tomgrv/devcontainer-features -hnpx tomgrv/devcontainer-features -snpx tomgrv/devcontainer-features -- gitutilsnpx tomgrv/devcontainer-features -a| Feature | Description |
|---|---|
| GitUtils | Git aliases and workflow automation |
| GitHooks | Commit hooks: commitlint, prettier, lint-staged |
| GitVersion | Semantic versioning via GitVersion |
| Act | Run GitHub Actions locally via nektos/act |
| PECL | PHP extension installer via PECL |
| Larasets | Laravel-specific development utilities |
| Common Utils | Shared utilities used by other features |
| Gateway | SSL certificate management for corporate networks |
| Minikube | Local Kubernetes cluster via Minikube |
A collection of Git aliases, git-flow shortcuts, and interactive utilities for automating Git workflows.
"features": {
"ghcr.io/tomgrv/devcontainer-features/gitutils:5": {}
}npx tomgrv/devcontainer-features -- gitutilsConfigures Git hooks in one step using commitlint, commitizen, lint-staged, prettier, and devmoji.
"features": {
"ghcr.io/tomgrv/devcontainer-features/githooks:5": {}
}npx tomgrv/devcontainer-features -- githooksInstalls GitVersion to calculate semantic version numbers from your Git history.
"features": {
"ghcr.io/tomgrv/devcontainer-features/gitversion:5": {}
}npx tomgrv/devcontainer-features -- gitversionInstalls nektos/act to run GitHub Actions locally inside the dev container.
"features": {
"ghcr.io/tomgrv/devcontainer-features/act:5": {}
}npx tomgrv/devcontainer-features -- actInstalls PHP extensions from the PHP Extension Community Library (PECL).
"features": {
"ghcr.io/tomgrv/devcontainer-features/pecl:5": {
"extension": "zip"
}
}npx tomgrv/devcontainer-features -- peclLaravel-specific settings, shell utilities, Composer scripts, and VS Code extensions for Laravel development.
"features": {
"ghcr.io/tomgrv/devcontainer-features/larasets:5": {}
}npx tomgrv/devcontainer-features -- larasetsShared utilities (jq, dos2unix, JSON helpers, logging) used by other features in this collection.
"features": {
"ghcr.io/tomgrv/devcontainer-features/common-utils:5": {
"utils": "jq dos2unix"
}
}npx tomgrv/devcontainer-features -- common-utilsHandles SSL inspection certificates for corporate network environments (e.g. Zscaler). Installs the root CA and wraps curl for transparent gateway authentication.
"features": {
"ghcr.io/tomgrv/devcontainer-features/gateway:5": {}
}npx tomgrv/devcontainer-features -- gatewayInstalls Minikube to run a single-node Kubernetes cluster locally inside the dev container.
"features": {
"ghcr.io/tomgrv/devcontainer-features/minikube:5": {}
}npx tomgrv/devcontainer-features -- minikubeIf you have a feature that you would like to add to this repository, please open an issue or submit a pull request.
This repository is licensed under the MIT License.