Structural codebase analysis — no parsers, no config, any language
Project description
quale
A CLI that tells you what to edit, what to test, and what to leave alone. Works on any language, no ASTs, no config.
Quickstart
pip install quale
cd my-project
quale guard --task "fix upload" --format tool
That's it. One command tells you which files to read, which test to run, and what not to touch. Output is JSON an agent can consume directly.
What it solves
Every LLM guesses the wrong test file path on a plain prompt. They all guess src/foo.test.ts when the test is in tests/foo.test.ts. That's not a model problem -- it's a directory layout problem.
quale reads your repo's structure and gives the model what it's missing. 900+ trials across 12 repos and 7 model families: the wrong-path mistake is universal, and quale fixes it every time.
Commands
| Command | What it does |
|---|---|
quale guard --task "..." --format tool |
Safety packet: what to read, what to test, what not to touch |
quale edit-context --files path.ts --task "..." --format tool |
Pre-edit scope: read first, verify with, avoid |
quale verify-packet --files path.ts --task "..." --format json |
Test candidates only |
quale inspect . |
Onboarding: key files, modules, churn |
quale ci-report origin/main HEAD --summary |
CI: blast radius, mirror gap, stable anchors |
For an agent, put this in AGENTS.md:
Before editing, run
quale edit-context --files $FILE --task "$TASK" --format tool.
For CI gates:
quale ci-report origin/main HEAD --fail-on-blast-tier high
More commands: docs/COMMANDS.md
How it works
Reads code as text. Splits on delimiters, counts phrase frequency per file, measures co-occurrence across files. Same pipeline for every language. Deterministic -- same input, same output.
Limits
- Useless on a new repo (no structure to measure)
- Not a linter, coverage tool, or security scanner
- Verification peaks around 80% -- quando the candidate set lacks the right test, quale says so
Further reading
- docs/COMMANDS.md -- full reference
- docs/EFFECT_HARNESS.md -- methodology and results
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quale-0.7.0.tar.gz.
File metadata
- Download URL: quale-0.7.0.tar.gz
- Upload date:
- Size: 172.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2d249df187251ade5f30b8a2bc3a5bd4b083d7f4b8d776cb414a35042400024
|
|
| MD5 |
f0eadae04909e77498ab31090c515224
|
|
| BLAKE2b-256 |
ad36dcae0741e9945896b3b90bc2dc7ea3cdcd5cbb622a8390e8647bf6a70895
|
File details
Details for the file quale-0.7.0-py3-none-any.whl.
File metadata
- Download URL: quale-0.7.0-py3-none-any.whl
- Upload date:
- Size: 158.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e438b1126c7903e08d87feebdce71548a0f3d0186942d06119d528eda0ddb51
|
|
| MD5 |
cdd59b6f40a980f7835b539476ca3677
|
|
| BLAKE2b-256 |
87cb418c5a840f79ef0942362c92817d36e4570adbbf5a9a704916e340bc37c0
|