4.2.1 Fork your own country configuration repository
Previous4.2 Configure: Set-up your own, local, country configurationNext4.2.2 Set up administrative address divisions
Last updated
The first step towards configuring your own country configuration of OpenCRVS is to fork our existing country configuration based on our demonstration country Farajaland - Repo: opencrvs-countryconfig. the following steps help you change the cloned Farajaland repo into your own country configuration fork.
Before you fork, ensure the following:
Forking must be done within a GitHub Organisation, not a personal account.
The Organisation must be on a GitHub Team or Enterprise plan (required for branch protection rules).
You must have Admin rights in that Organisation.
When you ran the bash setup.sh script in step 3.1.2 to install OpenCRVS locally, the country configuration repo for Farajaland was cloned into the same parent directory as opencrvs-core, as you are probably aware. The first thing that you want to do is to change the name of the cloned opencrvs-countryconfig directory to something like "opencrvs-<your country>".
Use this naming convention:
opencrvs-<your country name>
We strongly recommend that you set up a Gitflow branching strategy on your repo to ensure that you can configure on feature branches, merge them into develop for testing and main or master for releases.
main
Production-ready configuration
develop
QA or staging configuration
feature/*
Temporary configuration work
hotfix/*
Urgent production fixes
Add country team members, reviewers, and DevOps maintainers.
Go to the OpenCRVS CountryConfig template: π https://github.com/opencrvs/opencrvs-countryconfig
Click βForkβ in the top-right corner.
Select your GitHub Organisation as the destination.
Name it using the convention above.
Clone your new fork locally:
Add the official OpenCRVS template as an upstream remote. This will help you keep your configuration up to date when new releases are launched:
π 3. Configure Branch Protection Rules To maintain code integrity and review processes:

Go to your new repository on GitHub.
Navigate to: Settings β Branches β Add Branch Protection Rule
Add a rule for the main branch (and optionally develop):
β Require pull request reviews before merging
β Require status checks to pass before merging (if CI is configured)
β Require signed commits (recommended)
β Restrict who can push to matching branches (e.g., Admins only)
Save the rule and test it with a dummy PR.
Last updated
git clone git@github.com:<your-org>/opencrvs-countryconfig-<countryname>.git
cd opencrvs-<countryname>git remote add upstream https://github.com/opencrvs/opencrvs-countryconfig.git