Skip to content
Docs ·Import existing review configuration

Configure

Import existing review configuration

Already using another AI code reviewer? Convert its repository configuration into MergeHarbor's .mergeharbor/ directory with one command, then review it.

If a repository already holds configuration from another AI code reviewer (a JSON settings file at the root, or per-folder settings, rules and context files), mh import detects it and writes the equivalent repository configuration, so you do not have to start over.

mh import           # dry run: lists the files it would write and anything it cannot convert
mh import --write   # writes them (existing files are kept unless you add --force)
mh config check     # validates the result

Review the new files, commit them, and remove the old ones once the change is merged.

What is converted

Source Result
The JSON settings file at the root .mergeharbor/config.yml at the root
A folder’s config.json settings <folder>/.mergeharbor/config.yml
A folder’s rules.md <folder>/.mergeharbor/rules.md (unchanged)
A folder’s files.json context list context.files in <folder>/.mergeharbor/config.yml

When the root has both a root settings file and a root settings folder, the folder is used, matching how the files were read before. The dry run names every source file it found.

Setting Becomes
strictness 1, 2, 3 strictness: high, medium, low
instructions instructions
ignorePatterns ignore_paths
commentTypes including style or syntax categories including style
triggerOnUpdates trigger: pushes (true) or opened (false)
includeAuthors, excludeAuthors an author filter
includeBranches, excludeBranches a base-branch filter
labels, disabledLabels a label filter
statusCheck status_check.enabled
rules (id, rule, scope, severity) rules (id, rule, paths, severity)
disabledRules disable_rules
customContext.files context.files
customContext.other context.notes

Settings that apply to a whole pull request (filters, trigger, status check) can only be set at the repository root; the importer lists any it finds in a nested folder. Keys without an equivalent are listed too, so nothing is dropped silently.