AI-powered codebase health scanner
Project description
🩺 Vett — AI-Powered Codebase Health Scanner
Fast codebase health checks with optional AI analysis. Local-first, open source, and developer-friendly.
✨ Features
- 🔐 Security pattern detection (secrets, risky APIs)
- 📏 Complexity and maintainability checks
- 📝 TODO/FIXME/HACK discovery
- 🤖 Optional AI project analysis (Anthropic, OpenAI, Gemini, OpenRouter)
- 📄 Markdown report output (
vett_report.md)
📦 Install
pip install -U vett
If you are developing locally:
pip install -e .
🚀 Quick Start
# Scan current project (interactive mode if no API key is set)
vett scan .
# Scan without AI
vett scan . --no-ai
# Scan a specific folder
vett scan ./my-project
API key setup (optional):
# Anthropic
export ANTHROPIC_API_KEY=your-key-here # Mac/Linux
set ANTHROPIC_API_KEY=your-key-here # Windows CMD
$env:ANTHROPIC_API_KEY="your-key-here" # PowerShell
# OpenAI
export OPENAI_API_KEY=your-key-here
# Gemini
export GEMINI_API_KEY=your-key-here
# OpenRouter (great for free/open models)
export OPENROUTER_API_KEY=your-key-here
Pick provider with:
vett scan . --provider anthropic
vett scan . --provider openai
vett scan . --provider gemini
vett scan . --provider openrouter
🧭 CLI Reference
vett --help
vett scan --help
vett scan . --provider openrouter
vett scan . --provider openai --model gpt-4o-mini
vett version
vett version --short
📊 What Vett Checks
| Check | Description |
|---|---|
| 🔐 Security | Hardcoded secrets, unsafe eval/exec, SQL injection patterns |
| 📏 Complexity | Functions longer than 50 lines |
| 📦 Large files | Files over 300 lines |
| 📝 TODOs | Unresolved TODO/FIXME/HACK comments |
| 🤖 AI Analysis | Project summary, grade, strengths, suggestions |
📁 Output
- Colorful terminal report
vett_report.mdsaved in your target folder
🛠️ Troubleshooting
vett: command not found-> reinstall withpip install -U vettand restart terminalUnicodeEncodeErroron Windows -> setPYTHONUTF8=1before runningNo source files found-> verify the target has code files (.py,.js,.ts, ...)
🤝 Open Source
- License: MIT (
LICENSE) - Contributing guide:
CONTRIBUTING.md - Security policy:
SECURITY.md - Changelog:
CHANGELOG.md
🧪 For Contributors
pip install -e .
vett scan . --no-ai
📤 Release Process (PyPI)
- Update
vett/__init__.pyversion. - Update
CHANGELOG.md. - Push to
main. - Create a GitHub release or version tag.
- Workflow
.github/workflows/publish-pypi.ymlpublishes to PyPI.
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 vett-0.1.4.tar.gz.
File metadata
- Download URL: vett-0.1.4.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a15ca354fe7a911d70a807871c49bdd16346f4df8c3df740e622e906420d9815
|
|
| MD5 |
daeaf20996e93ae5946bae20ef544c96
|
|
| BLAKE2b-256 |
8ac74db8a2b1d563f364569460381e85504540e7ed444e4abdc7508fe7509e27
|
Provenance
The following attestation bundles were made for vett-0.1.4.tar.gz:
Publisher:
publish-pypi.yml on madhavbuilds/Vett
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vett-0.1.4.tar.gz -
Subject digest:
a15ca354fe7a911d70a807871c49bdd16346f4df8c3df740e622e906420d9815 - Sigstore transparency entry: 1339612478
- Sigstore integration time:
-
Permalink:
madhavbuilds/Vett@76d08b378acf67cd2d3be1c442883fd658210852 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/madhavbuilds
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@76d08b378acf67cd2d3be1c442883fd658210852 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vett-0.1.4-py3-none-any.whl.
File metadata
- Download URL: vett-0.1.4-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c087bdc2ab382b64db6d54c2227e554a6bf63f2a9059efa0e968d7e6c3d10b8
|
|
| MD5 |
f50e96fc60930057853173a1d04a46f3
|
|
| BLAKE2b-256 |
c5b4f81490ae241185e73bff2182a7583c33797b1d468e5d60dd07a53335b948
|
Provenance
The following attestation bundles were made for vett-0.1.4-py3-none-any.whl:
Publisher:
publish-pypi.yml on madhavbuilds/Vett
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vett-0.1.4-py3-none-any.whl -
Subject digest:
5c087bdc2ab382b64db6d54c2227e554a6bf63f2a9059efa0e968d7e6c3d10b8 - Sigstore transparency entry: 1339612479
- Sigstore integration time:
-
Permalink:
madhavbuilds/Vett@76d08b378acf67cd2d3be1c442883fd658210852 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/madhavbuilds
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@76d08b378acf67cd2d3be1c442883fd658210852 -
Trigger Event:
push
-
Statement type: