PR Policy Engine

Bring harmony to your pull requests.

Rules-driven pull request checks with fast startup, minimal API calls, and clear configuration.

Ruby 3.2+ GitHub Actions ready Fast startup
nomos.yml
reporter:
  github: true
  console: true

rules:
  - name: no_large_pr
    type: builtin.no_large_pr
    params:
      max_changed_lines: 800

Designed for the pull request moment.

Nomos evaluates PR metadata and diffs, then reports findings as message, warn, or fail.

Diff-first execution

Start with the PR diff and lazy-fetch extra data only when a rule needs it.

Parallel rule engine

Run built-in and custom Ruby rules concurrently for fast feedback in CI.

Clear reporting

Ship results to GitHub comments, console output, or JSON for downstream tooling.

Strict mode

Fail the pipeline when policy is violated and keep your standards enforced.

Fast, intentional workflow.

Nomos is optimized to stay out of the way while still giving you precise, configurable checks.

  • Minimal GitHub API calls with optional caching
  • Lazy diff fetching to keep startup time low
  • Ruby DSL for custom rule logic
1

Discover

Load event data and compute diffs.

2

Evaluate

Run built-in and custom rules concurrently.

3

Report

Emit GitHub, console, or JSON output.

Configuration that reads like policy.

Define your checks in a single YAML file and keep them close to the repo.

version: 1

reporter:
  github: true
  console: true

performance:
  concurrency: 4
  cache: true
  lazy_diff: true

rules:
  - name: require_changelog
    type: builtin.require_file_change
    params:
      patterns:
        - CHANGELOG.md

Ruby DSL for custom rules

Define richer logic in `.nomos/rules.rb` and ship it alongside your repo.

Run once, cache results, and keep policy close to the code.

Explore docs on GitHub →

Integrations that fit your CI.

Designed for GitHub Actions with clear environment inputs and predictable output.

GitHub Actions

Run `nomos run` with a GitHub token and event payload.

Console output

Readable local output for quick iteration.

JSON export

Pipe findings into dashboards or additional automation.

Ship guardrails, not gatekeeping.

Keep PR standards consistent while staying fast and predictable.

View on GitHub