Enrolling repositories

Updated Jul 27, 2026
  • Enrol one or more repositories by passing their paths:
  uv run concordat enrol path/to/repo-one path/to/repo-two
  • Ensure an estate with the correct github_owner is active before enrolling: run concordat estate init --github-owner <owner> once and concordat estate use <alias> to activate it. The CLI refuses repositories whose GitHub slug does not start with the recorded owner and fails fast when it cannot determine the slug from the repository or origin remote.

  • When the repository already contains a .concordat file with enrolled: true, the CLI prints already enrolled and makes no changes unless --force is supplied. With --force, concordat still opens (or updates) the platform-standards pull request for the active estate so the repository is present in the OpenTofu inventory.

  • The CLI commits the new file to the current branch. If the Git configuration does not define user.name and user.email, supply details explicitly:

  uv run concordat enrol path/to/repo --author-name "Jess Example" \
    --author-email "[email protected]"
  • Pass --push to push the commit to the repository's origin remote after creation.

  • Remote repositories reachable over Secure Shell (SSH) can be enrolled directly. Provide the SSH URL and ensure an SSH agent exposes the required key:

  uv run concordat enrol [email protected]:example/project.git

The CLI clones the repository, creates the enrolment commit, and pushes it back to the remote.

  • When rehearsing or running tests without access to the platform-standards repository, set CONCORDAT_SKIP_PLATFORM_PR=1 to disable the IaC pull request step while keeping the github_owner guard active for the GitHub owner.