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.