From 4639562dd6fe69b955eb2134086e645c0c7ae344 Mon Sep 17 00:00:00 2001 From: Leandro Barbosa Date: Wed, 22 Apr 2026 11:18:36 -0300 Subject: [PATCH 1/2] Fix uv workspace package metadata --- .python-version | 1 + pyproject.toml | 30 ++++++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 .python-version diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/pyproject.toml b/pyproject.toml index 61a85af..3045a19 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -108,6 +108,19 @@ dev = [ "build>=1.0", ] +[dependency-groups] +dev = [ + "pytest>=8,<9", + "pytest-asyncio>=0.23,<1", + "pytest-snapshot>=0.9,<1", + "respx>=0.21,<1", + "time-machine>=2.14,<3", + "ruff>=0.6,<1", + "mypy>=1.11,<2", + "types-networkx>=3.3,<4", + "httpx>=0.27,<1", +] + [project.scripts] repowise = "repowise.cli.main:cli" @@ -133,8 +146,10 @@ packages = [ "repowise.core.generation", "repowise.core.generation.editor_files", "repowise.core.ingestion", - "repowise.core.ingestion.parsers", "repowise.core.ingestion.dynamic_hints", + "repowise.core.ingestion.extractors", + "repowise.core.ingestion.languages", + "repowise.core.ingestion.resolvers", "repowise.core.pipeline", "repowise.core.persistence", "repowise.core.providers", @@ -166,19 +181,6 @@ members = [ "packages/server", ] -[tool.uv] -dev-dependencies = [ - "pytest>=8,<9", - "pytest-asyncio>=0.23,<1", - "pytest-snapshot>=0.9,<1", - "respx>=0.21,<1", - "time-machine>=2.14,<3", - "ruff>=0.6,<1", - "mypy>=1.11,<2", - "types-networkx>=3.3,<4", - "httpx>=0.27,<1", -] - # --------------------------------------------------------------------------- # Ruff — linter + formatter # --------------------------------------------------------------------------- From 04288089d7716006b78cce50ec733918216f022d Mon Sep 17 00:00:00 2001 From: Leandro Barbosa Date: Wed, 22 Apr 2026 11:18:42 -0300 Subject: [PATCH 2/2] Document uv install workflow --- README.md | 24 ++++++++++++++++++++++-- docs/USER_GUIDE.md | 11 +++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa334ea..639c240 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,12 @@ These become structured decision records, queryable by Claude Code via `get_why( pip install repowise ``` +Or install the CLI into an isolated uv-managed environment: + +```bash +uv tool install repowise +``` + ### Single repo ```bash @@ -594,8 +600,22 @@ Full configuration reference: [docs/CONFIG.md](docs/CONFIG.md) ```bash git clone https://github.com/repowise-dev/repowise cd repowise -pip install -e "packages/core[dev]" -pytest tests/unit/ +uv sync --all-packages +uv run repowise --version +uv run pytest tests/unit/ +``` + +Run commands through uv without activating the environment: + +```bash +uv run repowise --help +``` + +Or activate the local environment created by `uv sync`: + +```bash +source .venv/bin/activate +repowise --help ``` Full guide including how to add languages and LLM providers: [CONTRIBUTING.md](CONTRIBUTING.md) diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md index 9987c8f..75ba1cb 100644 --- a/docs/USER_GUIDE.md +++ b/docs/USER_GUIDE.md @@ -71,6 +71,17 @@ repowise --version repowise --help ``` +### From Source with uv + +For local development, use the workspace lockfile from the repository root: + +```bash +git clone https://github.com/repowise-dev/repowise.git +cd repowise +uv sync --all-packages +uv run repowise --version +``` + --- ## Getting Started