Skip to main content

Source code quality evaluation platform powered by AI

Project description

Quodeq

The quality code compass

Your guide to drive any codebase to excellence.

v0.8.0

Quodeq scans any codebase with AI and scores it across six quality dimensions — Security, Reliability, Maintainability, Performance, Flexibility, and Usability — based on ISO 25010. Get grades, find violations, fix what matters.


Requirements

Dependency Version
Python 3.12+ Runtime
Node.js 18+ Dashboard UI
npm 9+ Bundled with Node.js
Claude Code latest AI analysis engine

Install

Recommended:

pipx install quodeq

Homebrew:

brew install quodeq/tap/quodeq

pip:

pip install quodeq

Dashboard

The Quodeq Dashboard is the recommended way to use Quodeq. It lets you launch evaluations, browse results, and track quality over time — all from a single web UI.

quodeq dashboard

Opens at http://localhost:4173 with:

  • Overall grade & score — A-F letter grade, numeric score /10, trend across runs
  • Dimension breakdown — individual scores per quality dimension with severity counts
  • Violations explorer — drill into findings by file, principle, or CWE classification
  • Top offending files — ranked list of where to focus remediation
  • Run history — track how your codebase evolves over time

Click any dimension, file, or principle to explore the details.

QuodeqBar (macOS)

On macOS, QuodeqBar lives in your menu bar and manages the dashboard for you — start/stop the server, see evaluation status at a glance, and open the dashboard in one click.

CLI-only usage

You can also run evaluations directly from the terminal without the dashboard:

quodeq evaluate /path/to/project

Run quodeq evaluate --help for all options.


The Q² Scoring Formula

Quodeq scores each principle on a 0–10 scale using four independent constraints:

  1. Violation Base — hyperbolic curve where the first violations hurt most (10 / (1 + K * weighted_violations))
  2. Compliance Lift — evidence of good practices fills the gap between the base and 10
  3. Violation Ceiling — log₂-based cap prevents compliance from overriding significant violations
  4. Severity Grade Floor — grade labels match reality (only critical violations can produce a "Critical" grade)

The final score: max(floor, min(ceiling, base + (10 - base) * lift))

Full details in src/quodeq/core/scoring/README.md.

Supported Languages

Quodeq can evaluate any codebase in any language. The AI analysis engine reads and understands code regardless of the tech stack.

How It Works

  1. Detect — identifies the languages and structure of the codebase
  2. Analyze — spawns an AI CLI with read-only tools to explore the code
  3. Collect — findings stream as structured JSONL via tool calls
  4. Score — maps findings to ISO 25010 principles with CWE classifications
  5. Report — produces per-dimension reports with grades, violations, and compliance

Results are stored in ~/.quodeq/evaluations/ and persist across sessions.

CLI Reference

quodeq evaluate

Flag Default Description
repo (required) Path or URL to the repository
-o, --output ~/.quodeq/evaluations Reports output directory
-d, --dimensions all Comma-separated dimensions to evaluate
--incremental off Only re-analyze changed files (requires previous run)
--pool-budget 600 Subagent pool time budget in seconds
--max-turns 200 Max AI conversation turns per dimension
--max-duration 1800 Max seconds per dimension

quodeq dashboard

Flag Default Description
--port 4173 Dashboard server port
--evaluations ~/.quodeq/evaluations Evaluations directory
--open true Open browser automatically

Development

git clone https://github.com/quodeq/quodeq.git && cd quodeq
uv sync
uv run pytest

Changelog

See CHANGELOG.md for release history.

License

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quodeq-0.8.0.tar.gz (386.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quodeq-0.8.0-py3-none-any.whl (529.1 kB view details)

Uploaded Python 3

File details

Details for the file quodeq-0.8.0.tar.gz.

File metadata

  • Download URL: quodeq-0.8.0.tar.gz
  • Upload date:
  • Size: 386.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quodeq-0.8.0.tar.gz
Algorithm Hash digest
SHA256 73bc14b90688c406358bc328b3da754cf59ed836f1fd4a9c70da8562a31a0b5f
MD5 3e7bf9f4433478f74edd5dc3816d77e9
BLAKE2b-256 a350094b2a13c1fca0ce5dd8926fe4d946adb6876ff98d4beb8eed181687e199

See more details on using hashes here.

Provenance

The following attestation bundles were made for quodeq-0.8.0.tar.gz:

Publisher: publish.yml on quodeq/quodeq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quodeq-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: quodeq-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 529.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quodeq-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aced60f23be0a7cb56bb30a4c93a05cc37b2ec8bfb611019ca71ea4b30b6d977
MD5 7a5c8663fcb333ad3e51d3791b67f914
BLAKE2b-256 e5ab96769f3a046e4bcb3a607077cdbcf874e6db3ef3d83f3576d218cfa5c301

See more details on using hashes here.

Provenance

The following attestation bundles were made for quodeq-0.8.0-py3-none-any.whl:

Publisher: publish.yml on quodeq/quodeq

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page