Skip to content

openregs init-regime

Create a regime data repository for a new regime.

Write a complete regime repository: SCOPE.yaml, SOURCES.lock, canon/, atoms/, graph/, releases/, DEPRECATIONS.yaml, the CC-BY-4.0 LICENSE-DATA over all of it, a CI workflow that checks the corpus with this engine pinned to one exact commit, and a second one certifying that every commit a pull request adds is signed off. The result passes its own CI while it is still empty, which is the point: a repository that only goes green once somebody has filled it in is a repository whose checks were never tried. Nobody is invented — with no --maintainer there is no MAINTAINERS.yaml and no CODEOWNERS, and check-regime refuses the corpus the moment it holds text while unowned. Regimes the engine itself ships are refused: fixreg is a fixture, not data, and stays in the engine.

openregs init-regime [-h] [--into <path>] [--engine <path>] [--core-ref <sha>]
[--core-repository <owner>/<name>] [--maintainer <handle>]
[--maintainer-name <name>] [--maintainer-email <email>]
[--maintainer-team <team>] [--seed <id>] [--seed-title <title>]
[--seed-source <source-id>]
<id>
Argument
<id>the regime id, for example eu, uk or us-cfr (required)
Option
--into <path>where to write it (default: ./regime-<id>, the org’s own repository name)
--engine <path>the OpenRegs checkout to pin and to read the roster and licence from
--core-ref <sha>the engine commit to pin (default: the engine checkout’s HEAD)
--core-repository <owner>/<name>the engine repository CI checks out (default: openregs/openregs) (default openregs/openregs)
--maintainer <handle>the forge handle of the person answerable for the corpus. Left out, no roster and no CODEOWNERS are written at all and the corpus is unowned — which check-regime allows only while it is empty. Nothing is inferred: a roster names people, and this repository may be public
--maintainer-name <name>that person’s name, as a review trailer would carry it
--maintainer-email <email>that person’s address, which a commit author is matched against
--maintainer-team <team>the team answerable for the corpus (default: regime-<id>-reviewers). It must have write access to the repository this becomes; a team that does not owns nothing there, silently. The engine’s own teams are refused for exactly that reason
--seed <id>the first instrument this regime covers, by the publisher’s id, for example 32024R0575. Left out, the scope carries a placeholder and CI fails the moment the regime holds text while it survives
--seed-title <title>the instrument’s title, so a reviewer can tell what was scoped
--seed-source <source-id>the source_id in config/sources.yaml that serves the instrument

Rendered from openregs/openregs@f3a2d10:tooling/openregs/cli/main.py