Skip to content

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: false

What 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. match globs 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, a staging promotion 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.