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
vett-0.1.5.tar.gz
(16.0 kB
view details)
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
vett-0.1.5-py3-none-any.whl
(14.7 kB
view details)
File details
Details for the file vett-0.1.5.tar.gz.
File metadata
- Download URL: vett-0.1.5.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd84dd13544340f9daaddb68ec4822e8b0f75eade483af3959760bf4e09fc6e7
|
|
| MD5 |
1c41228449493a8e7d0f2a9a6cc3e17a
|
|
| BLAKE2b-256 |
1604842738ec6f4c01d26e725cd4fcb1341811c42789bb1936abaac9e3095a9b
|
File details
Details for the file vett-0.1.5-py3-none-any.whl.
File metadata
- Download URL: vett-0.1.5-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af7aeaa63fb88bdabe891c9daa3ec21823f27e9cbc813902599829c09a867269
|
|
| MD5 |
c98d404abbbd0a7d931c5a37907359e5
|
|
| BLAKE2b-256 |
5ea55a2091ad9065bf141beb8d068abbd257db10ecbe342570ce5c00514b9ba1
|