Skip to main content

Agentic supervisor for building and repairing multi-repository environments

Project description

RepoResolve

RepoResolve helps you set up a shared environment across multiple research repos without trying to blindly install everything.

Instead of breaking your system, it helps you understand, resolve, and generate a working environment first.

What It Does

RepoResolve focuses on the parts that are safe and deterministic:

  • Scans repos for dependency manifests
  • Detects setup clues from READMEs, scripts, Dockerfiles, and CI
  • Selects relevant dependency files
  • Identifies conflicts before installation
  • Guides you through resolving them
  • Generates usable outputs:
    • environment.generated.yml
    • manual-setup.md
    • manual-setup.json
  • Provides a doctor command to validate everything

What It Solves

  • Bootstrapping a shared Python/Conda environment across multiple repos
  • Catching dependency conflicts early
  • Surfacing non-Python requirements such as CUDA, MuJoCo, EGL, apt, and environment variables
  • Giving you inspectable, editable outputs instead of black-box installs

What It Doesn't Do (v0)

RepoResolve does not:

  • Automatically run system installs such as apt or brew
  • Set up CUDA, MuJoCo, or OpenGL for you
  • Fully install and run repos end-to-end from the main flow
  • Parse unsupported dependency formats

This is intentional. v0 is generation + validation only.

Quickstart

Install RepoResolve:

pip install -e .
reporesolve

Set your API key if you are using a provider:

OPENAI_API_KEY=your-key
# or
ANTHROPIC_API_KEY=your-key

Prerequisites

Make sure you have:

  • Python 3.10+
  • Git available on PATH
  • Conda available on PATH
    • required for reporesolve doctor
    • required for reporesolve doctor --install
  • Network access
  • One configured provider:
    • OpenAI: OPENAI_API_KEY and the openai SDK
    • Anthropic: ANTHROPIC_API_KEY and the anthropic SDK

If you are cloning GitHub repos, especially private repos, set up GitHub access first:

gh auth login
# or
ssh -T git@github.com

If cloning fails because GitHub access is not configured, RepoResolve stops and asks you to fix access first.

Workflow

  1. Input repos in the guided TUI.
  2. Clone repos.
  3. Scan dependency manifests and setup clues.
  4. Select relevant manifests.
  5. Parse supported files:
    • requirements*.txt
    • environment.yml
    • environment.yaml
  6. Detect conflicts.
  7. Review proposed changes:
    • accept
    • reject
    • edit
    • defer
  8. Generate output files.

Output

Each run creates:

~/.reporesolve/workspace/artifacts/<run_id>/

Contents:

  • environment.generated.yml
  • manual-setup.md
  • manual-setup.json
  • report.json

Doctor

After reviewing the generated files and completing the manual setup steps:

reporesolve doctor

doctor checks:

  • artifact presence
  • conda availability
  • environment visibility
  • manual setup requirements
  • dependency solve via conda env create --dry-run

Optional disposable install validation:

reporesolve doctor --install

Configuration

RepoResolve reads API keys from:

  • .env
  • environment variables

If no provider is configured, RepoResolve fails explicitly.

Commands

  • reporesolve - run the workflow
  • reporesolve start - alias for the workflow
  • reporesolve doctor - validate the latest generated run
  • reporesolve doctor --install - attempt disposable install validation
  • reporesolve version - show the installed version

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

reporesolve-0.2.0.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

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

reporesolve-0.2.0-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reporesolve-0.2.0.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for reporesolve-0.2.0.tar.gz
Algorithm Hash digest
SHA256 33f3955dabcf8de4aa6a68d7aa476d6b9b556a4575380788242cb28f265f47e2
MD5 361c5a00b4e990a4c35f44f4942a0b04
BLAKE2b-256 150cc26d18f9c5328717f54b5e2f45374bb917c8e425440a7306210d7a6016d3

See more details on using hashes here.

File details

Details for the file reporesolve-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: reporesolve-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for reporesolve-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d13b45dd11ecc0be55efb8279811b2dbf0ffe2ac1efedd2026d7bc04d5fd1208
MD5 9fcd6ab1029883f95751adf7cefdb485
BLAKE2b-256 7a4a4de6a3b2d29e06152a9d41a08c1cd826bbe8c54efa6f5ca9189879f99ca0

See more details on using hashes here.

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