Deterministic repository audits for engineers.
Project description
RepoSage
RepoSage is an AI-assisted repository analysis tool that produces a structured technical audit of a codebase.
The emphasis is deterministic repo intelligence first, not an ungrounded "chat with your repo" experience. The MVP scans a local repository, extracts static signals engineers already care about, and turns those signals into a Markdown or JSON audit report.
Current MVP scope
- Local repository scanning
- Static file, manifest, and layout analysis
- Language and dependency summaries
- Tests, docs, CI, packaging, lint, and typing heuristics
- Architecture and hotspot guesses
- Markdown and JSON output
- Optional AI enrichment only after deterministic extraction
Quick start
pip install reposage
# Human-readable Markdown report (stdout)
reposage run /path/to/repo
# Explicit format and file output
reposage report /path/to/repo --format markdown --output audit.md
reposage report /path/to/repo --format json --output audit.json
# With AI enrichment (module roles, debt items, top-5 improvements)
pip install 'reposage[ai]'
ANTHROPIC_API_KEY=sk-ant-... reposage report /path/to/repo --enrich
Commands
reposage report PATH --format markdown
reposage report PATH --format json
reposage run PATH
report supports explicit Markdown or JSON output. run is a convenience alias
for the human-readable Markdown report. Pass --output FILE to write to a file
instead of stdout. Pass --enrich to add AI-generated module roles, debt items,
and top-5 improvements (requires reposage[ai] and ANTHROPIC_API_KEY).
GitHub Action
Add RepoSage to any workflow to audit your repository on every push:
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: ricardogr07/reposage@v0.3.0
with:
path: .
format: markdown
output: reposage-report.md
- uses: actions/upload-artifact@v4
with:
name: reposage-report
path: reposage-report.md
See .github/workflows/demo.yml for a complete
example, and examples/ for sample audit outputs.
Development
RepoSage targets Python 3.12+ and uses Hatchling for packaging. The preferred
local workflow is uv for environment setup and tox for repeatable checks.
uv sync --dev
tox -e py312
tox -e lint
tox -e type
tox -e pkg
If uv is unavailable, install the development tools with your normal Python
environment manager or with python -m pip install -e .[dev], then run the
same tox commands.
Project documents
- Roadmap history: milestone roadmap and acceptance criteria archives
- CHANGELOG.md: version history
- docs/architecture.md: package and data-flow overview
- docs/development.md: contributor workflow and quality gates
- CONTRIBUTING.md: contribution and review expectations
- examples/: sample audit outputs
Status
M0 (bootstrap), M1 (deterministic audit), M2 (AI enrichment), M12 (Rust support), and M13 (C# / .NET support) are complete. AI enrichment remains optional and is intentionally separated from the extraction layer.
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 reposage-0.3.0.tar.gz.
File metadata
- Download URL: reposage-0.3.0.tar.gz
- Upload date:
- Size: 92.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7b20840573591e1ccab9dc49318300ddfdd49402d355e8fa52f38b7bba94d61
|
|
| MD5 |
46837c94c4f1d0015f158635ba985667
|
|
| BLAKE2b-256 |
34e57ff5713e7a7c973b92fcb63bd2b9b1826bd9bd1ce00e0ef2d5557aa84a6c
|
Provenance
The following attestation bundles were made for reposage-0.3.0.tar.gz:
Publisher:
release.yml on ricardogr07/reposage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reposage-0.3.0.tar.gz -
Subject digest:
b7b20840573591e1ccab9dc49318300ddfdd49402d355e8fa52f38b7bba94d61 - Sigstore transparency entry: 1399199129
- Sigstore integration time:
-
Permalink:
ricardogr07/reposage@0a43da744afd6a488f0d4baa9c7a46db41f76142 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ricardogr07
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0a43da744afd6a488f0d4baa9c7a46db41f76142 -
Trigger Event:
push
-
Statement type:
File details
Details for the file reposage-0.3.0-py3-none-any.whl.
File metadata
- Download URL: reposage-0.3.0-py3-none-any.whl
- Upload date:
- Size: 54.4 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 |
52056552cd02c7762973b4b615c65b0a8933a4af94e7b59f8e2bbea05ce8b97d
|
|
| MD5 |
bb2b38e04504f59bc937a045238454e5
|
|
| BLAKE2b-256 |
1c96d141a85a61359dc2aba8400356f1f27769eca4986c564185c589aaa72786
|
Provenance
The following attestation bundles were made for reposage-0.3.0-py3-none-any.whl:
Publisher:
release.yml on ricardogr07/reposage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reposage-0.3.0-py3-none-any.whl -
Subject digest:
52056552cd02c7762973b4b615c65b0a8933a4af94e7b59f8e2bbea05ce8b97d - Sigstore transparency entry: 1399199146
- Sigstore integration time:
-
Permalink:
ricardogr07/reposage@0a43da744afd6a488f0d4baa9c7a46db41f76142 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ricardogr07
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0a43da744afd6a488f0d4baa9c7a46db41f76142 -
Trigger Event:
push
-
Statement type: