This repository contains following features:
- ag: Installs ag (The Silver Searcher), a fast grep-like text search tool
- amazon-q-cli: Install Amazon Q CLI for AWS development
- aws-sam-cli: Installs AWS SAM CLI for serverless application development
- gcloud-cli: Installs Google Cloud CLI (gcloud) for Google Cloud Platform development
- zip: Installs zip and unzip CLI tools for compression and extraction
To use the features from this repository, add the desired features to devcontainer.json.
These examples show how to use features from this repository in a devcontainer:
Or use individual features:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/jajera/features/gcloud-cli:1": {}
}
}Similar to the devcontainers/features repo, this repository has a src folder. Each feature has its own sub-folder, containing at least a devcontainer-feature.json and an entrypoint script install.sh.
├── src
│ ├── ag
│ │ ├── devcontainer-feature.json
│ │ ├── install.sh
│ │ └── README.md
│ ├── amazon-q-cli
│ │ ├── devcontainer-feature.json
│ │ ├── install.sh
│ │ └── README.md
│ ├── aws-sam-cli
│ │ ├── devcontainer-feature.json
│ │ ├── install.sh
│ │ └── README.md
│ ├── gcloud-cli
│ │ ├── devcontainer-feature.json
│ │ ├── install.sh
│ │ └── README.md
│ ├── zip
│ │ ├── devcontainer-feature.json
│ │ ├── install.sh
│ │ └── README.md
├── test
│ ├── ag
│ ├── amazon-q-cli
│ ├── aws-sam-cli
│ ├── gcloud-cli
│ └── zip
...
An implementing tool will composite the documented dev container properties from the feature's devcontainer-feature.json file, and execute in the install.sh entrypoint script in the container during build time. Implementing tools are also free to process attributes under the customizations property as desired.
{ "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "features": { "ghcr.io/jajera/features/ag:1": {}, "ghcr.io/jajera/features/amazon-q-cli:1": {}, "ghcr.io/jajera/features/aws-sam-cli:1": {}, "ghcr.io/jajera/features/gcloud-cli:1": {}, "ghcr.io/jajera/features/zip:1": {} } }