It judges only the code you changed
Old issues stay visible, but they never block a merge. The gate looks at new code: new issues, coverage of new lines, duplication in new lines. Small changes don't fail on coverage percentages.
Features
Gates, AI review, dependency tracking, your agent and your chat, on one server you run.
Your analyzers in one list, and a gate on the code you change, reported in your merge requests.
Old issues stay visible, but they never block a merge. The gate looks at new code: new issues, coverage of new lines, duplication in new lines. Small changes don't fail on coverage percentages.
Qualor runs proven open-source tools, adds its own security rules, and merges what they find. The same finding from two tools shows once.
Qualor's own rules follow request data into SQL, commands, file paths, URLs and templates in JavaScript, TypeScript, Python, Java, Go and C#. For ASP.NET Core, a deep analysis after your build follows it across files, projects and Razor views.
routes/invoices.tsreads the requestservices/invoices.tspasses it oninvoices/export.tsbuilds SQL with itHighSQL built from request data
Imports coverage from LCOV, Cobertura and JaCoCo, measures cognitive complexity and finds copy-pasted code. Keeps the history of every branch and merge request.
Mark a finding as a false positive or won't fix, and the gate is judged again at once, with no new pipeline. Qualor knows an issue by its code, not its line number, so the decision survives a refactor.
src/invoices/csv.ts:41 Cognitive complexity 21 is over 15The reviewer is shown what your analyzers found, so it doesn't repeat it.
Both kinds of finding land in one issue list, so your agent fixes both through MCP.
AI findings never fail the gate.
A reviewer on your model, in the merge request's threads.
It reads the change and opens any file of the repository it needs, not only the diff.
src/invoices/csv.tschangedsrc/db.tsopenedsrc/invoices/list.tsopenedIt starts threads on the changed lines. Where a fix fits, the thread carries it as a suggested change for a person to apply.
The final page of invoices is never exported
Reply in its thread and it answers. A member's reply can mark the finding won't fix or false positive.
Accounting exports a few dozen invoices a month. Can this wait for the next release?
I’d recommend fixing it before the next release: an export with 1–50 matching invoices contains no invoice rows, so accounting’s usual exports are likely affected. Changing the loop condition to page <= pages includes the final page; tests around the 50-invoice boundary would help prevent a recurrence.
After a push, only new changes raise new findings. Fixed findings close and their threads resolve.
ResolvedThe final page of invoices is never exported
A strong, a standard and a fast model: any OpenAI-compatible or Anthropic model with your key, or a local one through Ollama or vLLM.
Screens from a real pull request on GitHub: a thread with its suggested change, the summary comment, and an answer to a reply.



The scanner runs in your CI, collects what every analyzer finds, works out which lines the merge request changed, and sends one report to your server. It waits for the verdict and fails the job when the gate fails.
On GitLab, findings also show in the merge request widget and the security tab through the Code Quality and SAST reports. The CI/CD component is in the GitLab CI/CD catalog.
include:
- component: gitlab.com/qualor/qualor/qualor@0.15
inputs: { image-tag: "0.15" }- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- uses: qualor-dev/scan-action@v0.15
with:
server-url: ${{ vars.QUALOR_URL }}
token: ${{ secrets.QUALOR_TOKEN }}Connect Claude Code, Cursor or any MCP client with one URL. Your agent reads your analyzers' issues and the AI review's findings, each with its code, fixes them, and checks the gate again after CI. It signs in as you and can do only what you can.
In Qualor itself, the assistant explains an issue, suggests whether a finding is a false positive, and suggests a fix that a person can post to the merge request. On Enterprise, fix suggestions for new findings are posted without a click.
Add a Slack or Microsoft Teams channel in a minute. When the main branch's quality gate fails, the channel hears about it with what failed and a button back to Qualor. When it passes again, it hears that too. Every Monday morning, a security digest shows what is new across your projects.
A web UI your whole team can read at a glance: which gate failed and why, what to fix first, and which releases a new vulnerability hits. Light or dark, on a laptop or a phone.
Click through the live demo: Qualor checking its own code. No sign-up.






Not ready to install? Star it to find it again.