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