Catalog
Find API specifications and record their owners
apigenie-catalog finds API specifications in a Git repository. Keep their names and owners next to the code, without hosting a catalog service.Experimental: outside the 1.0 compatibility promise, so its commands and output can still change.
- No catalog service to maintainSpecifications and ownership stay in your repository. There is no server to run and nothing to upload.
- An inventory before any configuration
apigenie-catalog listfinds OpenAPI, AsyncAPI, Swagger, Protobuf and GraphQL specifications among Git-tracked files, without configuration. - Owners change in a commitNames and owners are recorded in
apigenie.yaml. A change of owner is a commit your team reviews.
From the files Git tracks to the owners in CI
list reads the repository as Git sees it, init writes the names and owners you keep, and the JSON output hands both to scripts.
What list finds, with no configuration
In a Git repository the catalog looks at the files Git tracks, so build output and ignored files stay out. Each row says what the specification is, its version, where it lives and when it last changed.
$ apigenie-catalog list
NAME FORMAT VERSION PATH COMMIT
order-events AsyncAPI 3.0.0 2.0.0 apis/events.json 96175d8 2026-10-12
orders-api OpenAPI 3.1.0 1.2.0 apis/orders/openapi.yaml 4d0c2e1 2026-10-14
acme-pricing-v1 Protobuf proto3 - proto/pricing.proto 96175d8 2026-10-12Then give them names and owners
apigenie-catalog init writes one entry per specification for you to fill in. Run it again after adding specifications: new ones are added, your edits stay, and entries of files that are gone are reported.
catalog:
specs:
- name: orders-api
path: apis/orders/openapi.yaml
owner: team-commerceRead owners from your scripts
apigenie-catalog list --json includes the names and owners you recorded, alongside each specification's format and path. This excerpt from an entry in the report's specs array shows what a dashboard or CI job can read.
{
"name": "orders-api",
"format": "openapi",
"path": "apis/orders/openapi.yaml",
"owner": "team-commerce",
"listed": true
}Use the inventory in reviews and CI
- An inventory for reviewsSee every API of a repository with its format, version and last commit, in a table or as JSON.
- Ownership in code reviewOwners live next to the code, so a change of owner is a commit, reviewed like any other.
- Input for your toolsThe JSON output has a published schema, for scripts, dashboards and CI jobs that work on every API of a repository.
Install
The CLI packages include apigenie-catalog. It currently inventories one repository at a time. Cross-repository catalogs, release tags and pinned consumers are planned; commands and output remain experimental.