Skip to main content

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reposage-0.3.0.tar.gz (92.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reposage-0.3.0-py3-none-any.whl (54.4 kB view details)

Uploaded Python 3

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

Hashes for reposage-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b7b20840573591e1ccab9dc49318300ddfdd49402d355e8fa52f38b7bba94d61
MD5 46837c94c4f1d0015f158635ba985667
BLAKE2b-256 34e57ff5713e7a7c973b92fcb63bd2b9b1826bd9bd1ce00e0ef2d5557aa84a6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for reposage-0.3.0.tar.gz:

Publisher: release.yml on ricardogr07/reposage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for reposage-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52056552cd02c7762973b4b615c65b0a8933a4af94e7b59f8e2bbea05ce8b97d
MD5 bb2b38e04504f59bc937a045238454e5
BLAKE2b-256 1c96d141a85a61359dc2aba8400356f1f27769eca4986c564185c589aaa72786

See more details on using hashes here.

Provenance

The following attestation bundles were made for reposage-0.3.0-py3-none-any.whl:

Publisher: release.yml on ricardogr07/reposage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page