This repository is a consumer starter for Anvil, not the Anvil engine source itself. It gives you:
- a project-local
tasks/package already registered through theanvil.tasksentry-point group - a starter task at
tasks/project_check.py - a starter config at
yaml/noop.yaml - example configs and GitHub Actions workflows you can adapt for your own environments
Use this template when you want a repo that can:
- install Anvil directly from your GitHub repository
- expose project-local tasks without forking Anvil
- validate task discovery quickly with a noop config
- give other teams a predictable layout for YAML, examples, docs, and CI wiring
If you want the deeper explanation of how Anvil itself works, see docs/README.md.
- Create the environment and install this template project:
uv sync
- Update
yaml/noop.yaml:- Set
profile - Set
regions - Set
role_nameif your member-account role differs
- Set
- Validate that Anvil can discover the shipped starter task:
uv run anvil tasks listuv run anvil tasks validate
- Run the starter config:
uv run anvil run --config-file .\yaml\noop.yaml --dry-run
The shipped noop config is the smallest first run for validating auth, discovery, and result output before you switch over to custom tasks. yaml/noop.yaml is the smallest config you use to prove that Anvil is wired correctly before building larger multi-org workflows.
This template pins Anvil directly from GitHub because it is not published to PyPI yet.
Start with the curated examples in this repository:
examples/01-single-org-explicit-profile.yamlexamples/02-complete-org-reference.yamlexamples/03-complete-account-reference.yamlexamples/github-actions
These are the examples that should stay aligned with the template repo's intended consumer experience.
For broader or deeper Anvil examples that live with the engine source, see the Anvil source repository examples:
For a complete GitHub Actions example that runs Anvil with AWS OIDC and uploads
the generated JSON results as workflow artifacts, see
examples/github-actions.
