Submitting a PoC to the catalogue
There are two ways to get a proof of concept into the catalogue. Both produce the
same thing — a PoCEntry (see catalog-spec.md) — they only
differ in how it arrives. No account, no server: submission is a pull request or a
file the harvester finds.
1. Submit by pull request (open, zero infra)
- Add one file
catalog/<your-poc>.yamlwith the entry fields (see the contract incatalog-spec.md). - Open a pull request. CI runs
estafette catalogue --check, which validates everycatalog/*.yamlagainst the schema and fails the PR naming the first invalid file and reason. A green check means the entry is well-formed. - A maintainer reviews and merges — review is the only human gate.
Validate locally before you push:
uv run estafette catalogue --check --catalog catalog
2. Host a poc.yaml and let the harvester pull it
If you would rather keep the entry in your own repo:
- Put a
poc.yamlat the root of your public repo — same schema as acatalog/*.yaml. (Already have apubliccode.yml? You can skippoc.yaml; the harvester falls back to it and wraps it askind: code.poc.yamlwins when both are present.) - Ask a maintainer to add your repo's raw base URL to
sources.yaml, e.g.https://raw.githubusercontent.com/<org>/<repo>/HEAD. estafette harvest(run in CI before the site build) fetches yourpoc.yamland merges it into the catalogue. A localcatalog/*.yamlwith the samenamealways wins over a harvested entry.
uv run estafette harvest --sources sources.yaml --catalog catalog
uv run estafette catalogue --catalog catalog --out site
A source that 404s, times out, or ships an invalid entry is skipped with a recorded reason — never fatal to the build.