Problem
The two Python packages (extralit-server, extralit) have independent pyproject.toml and lockfiles. Shared dev dependencies (ruff, pytest, etc.) drift; cross-package work requires installing each separately.
Approach
- Add a root
pyproject.toml with [tool.uv.workspace] listing both packages.
- Move shared dev dependencies (ruff, mypy, pytest plugins) to a workspace-level dev group.
- Single root
uv.lock.
- Update CONTRIBUTING and AGENTS.md so
uv sync at the repo root sets up both packages.
- Update CI workflows (
extralit.yml, extralit-server.yml) to use the workspace install.
Acceptance criteria
uv sync from repo root installs both packages in editable mode.
- A single
uv.lock exists at root; per-package lockfiles removed.
- All existing CI jobs pass.
- Docs reflect the new workflow.
Problem
The two Python packages (
extralit-server,extralit) have independentpyproject.tomland lockfiles. Shared dev dependencies (ruff, pytest, etc.) drift; cross-package work requires installing each separately.Approach
pyproject.tomlwith[tool.uv.workspace]listing both packages.uv.lock.uv syncat the repo root sets up both packages.extralit.yml,extralit-server.yml) to use the workspace install.Acceptance criteria
uv syncfrom repo root installs both packages in editable mode.uv.lockexists at root; per-package lockfiles removed.