Dissect any codebase in seconds
Project description
Gitopsy — Dissect any codebase in seconds
One command. Instant codebase intelligence.
Gitopsy analyzes any repository and produces a self-contained HTML report covering architecture, tech debt, onboarding, dependencies, conventions, APIs, security surface, and setup — everything you need to understand an unfamiliar codebase.
Install
pip install gitopsy
Usage
gitopsy . # Analyze current directory
gitopsy /path/to/repo # Analyze any repo
gitopsy --output report.html . # Custom output path
gitopsy --analyzers arch,debt . # Run specific analyzers
gitopsy --json . # Output raw JSON
gitopsy --badge . # Also write a grade SVG badge
gitopsy --save-json . # Save JSON snapshot alongside HTML
Subcommands
# Generate a grade badge SVG
gitopsy badge .
gitopsy badge /path/to/repo --output my-badge.svg
# Compare two JSON snapshots
gitopsy --save-json . # capture snapshot.json
# ... make changes, then re-analyze ...
gitopsy --save-json --output new.html .
gitopsy diff gitopsy-report.json new.json --output diff-report.html
What's in the report?
| Tab | What it tells you |
|---|---|
| Architecture | Project type, framework, entry points, dependency graph |
| Tech Debt | Score (A-F), hotspots, top 5 recommendations |
| Onboarding | Summary, key files, setup steps, contributors, gotchas |
| Dependencies | All deps with versions, licenses, outdated flags |
| Conventions | Naming, formatting, import style, consistency score |
| APIs | All HTTP routes, CLI commands, public exports |
| Security | Secrets, SQL injection, CORS, auth patterns, risk level |
| Setup | Prerequisites, install steps, env vars, run commands |
GitHub Action
- uses: UJameel/gitopsy@v1
with:
path: '.'
output: 'gitopsy-report.html'
Full example workflow:
name: Gitopsy Analysis
on: [push]
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: UJameel/gitopsy@v1
with:
path: '.'
output: 'gitopsy-report.html'
upload-artifact: 'true'
The action outputs report-path and overall-grade for use in downstream steps.
Python API
from gitopsy.orchestrator import analyze
from gitopsy.report.renderer import render
from gitopsy.report.badge import generate_badge
report = analyze("/path/to/repo")
render(report, "/tmp/report.html")
# Access structured data
print(report.architecture.framework) # "flask"
print(report.tech_debt.grade) # "B"
print(report.tech_debt.overall_score) # 72
# Generate a badge
svg = generate_badge(report.tech_debt.grade, report.tech_debt.overall_score)
As a Claude Code skill
The skills/gitopsy/ directory ships a Claude Code skill. Copy it to your
~/.claude/skills/ directory and run /gitopsy from any project.
Example reports
Live example reports generated by Gitopsy on popular open-source projects:
Design principles
- Offline-first — zero mandatory API calls
- Fast — <30s on a 10,000-file repo
- Self-contained — single HTML file, no external deps to view
- Git-optional — works on any directory
- No AI required — all analysis is deterministic
Development
git clone https://github.com/UJameel/gitopsy
cd gitopsy
pip install -e ".[dev]"
pytest
See CONTRIBUTING.md for how to add new analyzers.
License
MIT — see LICENSE.
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 gitopsy-0.1.1.tar.gz.
File metadata
- Download URL: gitopsy-0.1.1.tar.gz
- Upload date:
- Size: 68.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2e5ad216dd70909140d4e2a8362f699801f27f5074cf8dade64919ae5b42058
|
|
| MD5 |
ba74776c1555148db657033353a8f82c
|
|
| BLAKE2b-256 |
77524a87af4793a593e339a6b1f095599ccd6758d72c46b0bd1be98545e45e4b
|
File details
Details for the file gitopsy-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gitopsy-0.1.1-py3-none-any.whl
- Upload date:
- Size: 62.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b41687ac122b6ccf0722681742b4bff334c9388d71786d35d4867efb16ca2a4
|
|
| MD5 |
a34d69828d1e619da3dce700f1dee049
|
|
| BLAKE2b-256 |
c0d7a06ae157dcd12ec2916869adeafedbac935b818daef0b354296236ac9547
|