Org-wide community health files, shared release machinery, and the GitHub profile for PyDevices. This repository does not ship a product; it is what every other PyDevices repository points at for the parts they'd otherwise duplicate.
- Community health defaults —
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,SUPPORT.md,PULL_REQUEST_TEMPLATE.md, and.github/ISSUE_TEMPLATE/— GitHub's fallback for any repo in the org that doesn't define its own. profile/README.md— the org profile page shown on github.com/PyDevices.- The reusable publishing workflows and the tag contract —
.github/workflows/reusable-*.ymlimplement the whole release chain (prepare a release PR, tag on merge, build, publish to TestPyPI, attach assets, request MIP publication, optionally publish to PyPI, report health) shared by seven publishing repositories. Callers pin apublishing-vNtag, never a branch; those tags are immutable by policy and by an active GitHub tag ruleset on this repository that blocks moving or deleting one. Seedocs/publishing-automation.mdfor the runbook anddocs/workflows.mdfor the full workflow inventory. RELEASE_HEALTH.md— one row per published distribution (version, TestPyPI/assets/MIP/PyPI outcome, last-updated, linked to the run), regenerated by.github/workflows/release-health.ymlfromrelease-health/data.jsonevery time a publishing repository's release chain reports in. Don't hand-edit either file.- The workspace manifest —
workspace/repos.jsonis the single source of truth for the multi-repository local workspace (every PyDevices repo, its local checkout name, role, and status);workspace/bootstrap.shclones or updates everyactiveentry as siblings on disk. Other copies of this list (see.cursor/environment.json) are meant to converge on it, not fork from it. - The repository database and site generator —
data/repos_db.jsonis the single source of truth for the repository map: tier, description, buttons, and where each repo's landing page is published.scripts/generate_sites.pyrenders it into the org portal, into per-repo.site/trees, intoprofile/README.md, and into pydevices/docs/ecosystem.md. Edit the database, not the generated markup — run the generator by hand from a full workspace checkout (python3 dotgithub/scripts/generate_sites.py) after editing it; it validates the database first and is idempotent. - Org docs —
docs/covers repo layout, doc style and docstring conventions, how the ReadTheDocs sites build, GitHub presence (Discussions/Issues/Pages/licensing), the platform roadmap, and the public modernization roadmap.
Board / Detect inventory docs live in pydevices/docs (Pages).
Website: https://pydevices.github.io/
This repo is the org-level glue for community health files, shared release automation, issue templates, and shared docs. It does not publish a product Pages site of its own; the product repos publish their own Pages content (or a page generated into the portal), while this repo provides the shared org profile, publishing machinery, and documentation references.