Getting Started
A package containing core common operations
Overview
common-infra is a uv workspace monorepo: every package lives under
libs/ as an independently versioned, independently released member. The
workspace root owns the shared tooling (lint, types, tests, docs, CI); each
member owns its own pyproject.toml, source, and tests.
Prerequisites
- uv — manages Python, the venv, and all
dependencies:
curl -LsSf https://astral.sh/uv/install.sh | sh
If this repo consumes private packages, configure your registry read token
first — see CONTRIBUTING.md in the repo root for the one-time setup.
Set up a clone
git clone https://github.com/null-capital/common-infra.gitcd common-infra
doppler run --project global --config prd -- ./run sync./run sync creates the venv, installs all dependencies (uv sync --all-extras), and installs the git hooks. For private packages, the standard
doppler run command routes GEMFURY_READ_TOKEN to uv without persisting it.
Install a package
Released versions publish to Gemfury; consumers install with the private index configured:
uv add common-<package> # e.g. common-coreVerify
./run check./run check runs exactly what CI runs (lint + format + types + test), so
green locally means green in CI.
Add a package
./run package add <name> # scaffolds libs/<name> wired into the workspace./run package remove <name> # exact inverseNew members join CI, the release train, and the docs reference automatically —
all three enumerate libs/ at run time.
Next steps
- Guides — how to use the packages
- API Reference — generated from the docstrings
- Development — the day-to-day contribution workflow