nucleus-scan
One-screen AI Hygiene Report for your repo. Surfaces plan rot, dep CVEs, and ungrounded reasoning in under 30 seconds.
Install / Run
uvx nucleus-scan # scan cwd
uvx nucleus-scan /path/to/repo
uvx nucleus-scan --json # machine-readable
uvx nucleus-scan --fail-under 70 # CI gate
uvx --with pip-audit nucleus-scan # enable the CVE engine
The CVE engine shells out to pip-audit. If you don't pass it via --with,
the engine reports N/A and its weight redistributes across the other
two — the rest of the report is unaffected. You can also install the
bundled extra: pip install 'nucleus-scan[cve]'.
What it checks
| Engine | Weight | Signal |
|---|---|---|
| plan_rot | 40% | plans under plans/, .claude/plans/ missing ## Verification or with drifted referenced files |
| cve | 40% | pip-audit -r requirements.txt — project-scoped, not global |
| intel | 20% | ungrounded corrections mined from ~/.claude/projects/<repo>/*.jsonl |
An engine that doesn't apply (no requirements.txt, no plans dir, no Claude
Code sessions) is reported as N/A and its weight redistributes across the
remaining engines. If all three are N/A, the score is "Insufficient signal"
rather than a misleading 100/100.
Exit codes
0— success (or score ≥--fail-under)1— score below--fail-under N2— guard violation (refused to scan$HOMEor/, or bad path)
CI integration
pre-commit
# .pre-commit-config.yaml
repos:
- repo: https://github.com/eidetic-works/nucleus-scan
rev: v0.1.2
hooks:
- id: nucleus-scan
nucleus-scan must be on PATH (install via pipx install nucleus-scan or
uv tool install nucleus-scan). The hook runs nucleus-scan --fail-under 70
against the repo; tune by editing entry in your local config.
GitHub Actions
Copy nucleus-scan/.github/workflows/nucleus-scan.yml into your repo at
.github/workflows/nucleus-scan.yml. It runs uvx --with pip-audit nucleus-scan --fail-under 70 on every PR and push to main. Override the
threshold via repo variable NUCLEUS_SCAN_FAIL_UNDER.
Status
v0.1.2 — adds pre-commit + GitHub Actions templates. Requires pip-audit
on PATH (or uvx --with pip-audit) for the CVE engine.
Metadata
Release files for nucleus-scan 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nucleus_scan-0.1.3.tar.gz | 18.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nucleus_scan-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.6 kB
Release files / nucleus_scan-0.1.3.tar.gz
| Download URL | nucleus_scan-0.1.3.tar.gz |
|---|---|
| Size | 18.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d781d5666a7c55aa52e7bf6b43282f9a681fd7e5f86d2e6b48fec8ca42fa30ef
|
|
BLAKE2b-256 checksum How to use checksums |
d5c259389521343d97376ac8ae5d3ba6423cd44daeed710766514cc9cc7c1531
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / nucleus_scan-0.1.3-py3-none-any.whl
| Download URL | nucleus_scan-0.1.3-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
791e7b50dd2d9d6a9e49d3c4395375b245569fe0327bb217eefe07f6ffbd1c2e
|
|
BLAKE2b-256 checksum How to use checksums |
8b5bef7acdc3388cb782b01be382c3941aae96048f3886e5a6d273ce009cfca4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|