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.2.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), and M2 (AI enrichment) are complete. M3 (productization) adds release automation, a GitHub Action wrapper, and examples. 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.2.0.tar.gz (33.3 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.2.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file reposage-0.2.0.tar.gz.

File metadata

  • Download URL: reposage-0.2.0.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for reposage-0.2.0.tar.gz
Algorithm Hash digest
SHA256 288ef1d28f69e3fe890ce268f7698f12af44faf7a4b3c25477f458fdd4c085f2
MD5 39b68f2ab0db98e2d9673a9b475d69e9
BLAKE2b-256 83290197449aa35ae3c5a4910cd1d03b7a3f738d1d68cc93dbb6afcede217621

See more details on using hashes here.

Provenance

The following attestation bundles were made for reposage-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: reposage-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.9 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1ad9aca99652c576788b1fefe19679b536e433a34674f1964ab4db3479a72de
MD5 d070c091ae3d3a62ce7dbfdf4ff05572
BLAKE2b-256 4e578fcaa64291ecf158de7f170c6155e2d048033f690ecebc24aeaf9b2e898a

See more details on using hashes here.

Provenance

The following attestation bundles were made for reposage-0.2.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