missing-feature-install-script
disallow a Feature directory without the required install.sh install script
Why
A Feature is distributed as its metadata file plus the “install.sh” the tooling runs inside the container, which is where the Feature does all of its work. A directory without one publishes a Feature that installs nothing, and the omission only surfaces when someone builds a container with it.
Bad
{
"id": "node",
"version": "1.0.0",
"name": "Node.js"
}
Good
devcontainer-feature.json
{
"id": "node",
"version": "1.0.0",
"name": "Node.js"
}
install.sh (mode 0755)
#!/usr/bin/env bash
set -e
apt-get update && apt-get install -y nodejs
The name is fixed: the tooling runs install.sh and nothing else, so an
install script under any other name is never executed.