CLI + GitHub Action

See what changed. Stop new repo debt.

RepoLens turns tracked files and repository metadata into evidence a maintainer can review locally, accept as a baseline, and enforce on every pull request.

The repeatable loop

Review once. Check every change.

Start with a local report, inspect its evidence and exclusions, then commit the accepted JSON. The GitHub Action compares each later run with that file and fails on new or worsened warnings.

01 / Accept a baseline

Generate a reviewable JSON report

Run this after configuring exclusions. Commit the file only after the remaining findings are understood.

repolens init
repolens scan . \
  --format json \
  --output .repolens/baselines/accepted.json \
  --fail-on none

git add .repolens.json \
  .repolens/baselines/accepted.json
git commit -m "chore: accept RepoLens baseline"

02 / Gate future changes

Compare in GitHub Actions

The release commit and external actions are pinned to full SHAs. Reports remain available as the job summary and downloadable artifacts.

- uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
  with:
    persist-credentials: false

- id: repolens
  uses: rad1092/repolens@00c84775267424a640abbee86fd2b1a1e5f6c159 # v0.2.0
  env:
    GITHUB_TOKEN: ${{ github.token }}
  with:
    target: "."
    config: ".repolens.json"
    baseline: ".repolens/baselines/accepted.json"
    fail-on: new-warning

Results you can use

One audit model, four outputs.

The CLI and Action use the same findings, evidence identities, comparison counts, and policy result. Choose a view without changing what passed or failed.

Terminal

Prioritized findings and the next maintenance action during local work.

JSON

A versioned baseline and stable input for automation.

HTML

A standalone report for review and CI artifacts.

GitHub

Job summaries, annotations, counts, and report paths.

Read-only scan

Tracked files, Git history, and available repository metadata become evidence. The audited project stays unchanged.

Unknown stays visible

Permission gaps, timeouts, and unavailable metadata appear as unknown and can fail strict CI.

Explicit policy

Critical, warning, and new-regression counts drive the gate. The score remains secondary.