Add-on structure and function:
ddev get uses GitHub API to search for projects with the label ddev-get to displayddev org and are actively maintained by an individual and have meaningful tests. ddev get --list shows “official” add-ons and ddev get --list --all shows all repos with the label.docker-compose.*.yaml as with a service or just configuration override, or a Dockerfile.* to add features to the web container. It can add custom commands as either project-level or global commands.ddev get ../some-add-onddev-get label): ddev get owner/repoddev get <https://github.com/owner/repo/tarball/main> for example. For a branch/PR use ddev get [<https://github.com/owner/repo/tarball>](<https://github.com/owner/repo/tarball>)/yourbranch - GitHub automatically creates the tarball.Sections of the install.yaml file: see doc
Advanced topic: Environment variable and go template replacements, see doc.
Let’s look at a trivial example add-on, ddev-hello-world
Automated tests are done with Bats, see Bats docs. It’s really just bash scripting with a few extra features, such as assertions.
bats tests or bats --verbose-run --show-output-of-passing-tests tests