Thank you for your interest in contributing.
This document provides a lightweight, consistent workflow used across all Civic Interconnect repositories.
Install the following tools:
- Git
- VS Code (recommended)
- Python 3.12+
- uv (package and environment manager)
- pre-commit (installed via uv)
- Fork the repository on GitHub.
- Clone your fork and open it in VS Code.
git clone https://github.com/YOUR_USERNAME/REPO_NAME.git
cd REPO_NAME
Create a local environment and install dependencies.
uv python pin 3.12
uv venv
.venv/Scripts/activate # Windows
# source .venv/bin/activate # Mac or Linux
uv sync --extra dev --extra docs --upgrade
uv run pre-commit installRun standard local checks.
git pull origin main
uvx ruff check . --fix
uvx ruff format .
uvx deptry .
uv run pyright
uv run pytest
uvx pre-commit autoupdate
uvx pre-commit run --all-files
Most repositories include a provenance/ptag.json file that records:
- who created the repo
- data sources used
- scripts or adapters used
- schema versions
This file is validated automatically by the GitHub Actions workflow against the canonical PTag core schema. If the file is invalid, the action will fail with details.
For more on how provenance and schemas fit together across the organization, see: docs/provenance-and-schemas-overview.md.
uv build
uv run mkdocs build --strict
uv run mkdocs serve
git add .
git commit -m "Your message"
git push -u origin main
Open a PR from your fork to the main branch of the target repository.
Guidelines for good PRs are here:
REF_PULL_REQUESTS.md
If you have questions, open an issue in the target repository.
Thank you for contributing.