Per-Repo Configuration
Drop a .harness.yml at the root of a project's default branch to customize how langgraph-harness treats that project. It's entirely optional — a missing or invalid file just means "run with defaults."
yml
# Example .harness.yml — per-repo configuration for langgraph-harness.
# Copy to the repository root on the DEFAULT branch and adjust.
# Everything is optional; a missing or invalid file means "run with defaults".
# Config schema version. Only 1 is currently supported.
version: 1
# Instruction docs (read from the default branch) fed to the reviewer as scoped
# guidance. The combined block is capped at 32,000 characters.
#
# - path: repo-relative path to the doc
# - match: optional globs; attach the doc only when the MR changes a matching
# file. Omit `match` to always attach the doc.
mr_review_instructions:
- path: docs/review-guidelines.md
- path: docs/typescript.md
match: ['**/*.ts', '**/*.tsx']
- path: docs/python.md
match: ['**/*.py']
# Same shape as above, fed to the work-item-resolve agent instead.
work_item_resolve_instructions:
- path: docs/issue-resolution-guidelines.md
# Skip review entirely when an MR's source or target branch matches a glob.
# Patterns use micromatch: `*` within one path segment, `**` across segments.
exclude_branches:
source: ['release/*', 'wip/**']
target: ['staging']
# Only review an MR once the bot is one of its reviewers; default false reviews as today.
mr_review_requires_harness_reviewer: falseWhat each section does
mr_review_instructions/work_item_resolve_instructions— repo-specific guidance (conventions, review checklists, language-specific notes) fed to the agent as scoped context.matchglobs let you attach a doc only when the changed files warrant it — a TypeScript style guide doesn't need to load for a Python-only MR.exclude_branches— skip review entirely for branches that don't need it (release branches, WIP branches, astagingpromotion merge).mr_review_requires_harness_reviewer— opt into requiring the bot be explicitly added as a reviewer before it comments, instead of reviewing every MR by default.
This is application-level config, separate from the environment variables in backend/README.md — those configure the harness instance itself; .harness.yml configures how it treats one specific project.