Goal: Transition the IHE GitHub organization from a centralized, manual workflow to a decentralized, "domain-led" model. Objective: Enable technical "Domain Leads" to author and publish computable standards (AsciiDoc, FHIR IG) autonomously, while reducing the administrative burden on non-technical Organization Owners.
- Organization: IHE on GitHub
- Plan: GitHub Free (No access to "Sub-organizations" or advanced "Custom Roles").
- Primary Technologies:
- FHIR IG Publisher (Existing stack).
- AsciiDoc / Asciidoctor (Target stack for technical frameworks).
- GitHub Pages (Hosting for computable standards).
- GitHub Actions (CI/CD for auto-rendering documents).
To solve the lack of nested namespaces, the project uses a Delegated Authority model:
- Personnel: Non-technical IHE staff.
- Responsibilities:
- Creating new repositories from Templates.
- Assigning Domain Teams as "Admin" to those repos.
- Handling the Email Request flow (Trigger: Domain lead sends email with Repo Name, Tech Stack, and Lead Username).
- Constraint: Must be a "zero-code" workflow using only the GitHub UI.
- Personnel: Technical leads (e.g., ITI, PCC domains).
- Permissions: Team Maintainer status.
- Responsibilities:
- Managing their own contributors (adding/removing team members from their assigned team).
- Configuring Repo Settings (Branch protection, Secrets).
- Managing Subdomains (e.g.,
iti.ihe.net) via GitHub Pages settings.
The agent should help build the following repository templates:
IHE/template-asciidoc:- Standard directory structure for IHE Technical Frameworks.
.github/workflows/publish.yml: Auto-renders.adocto HTML/PDF and deploys togh-pagesbranch.
IHE/template-fhir-ig:- Based on existing FHIR IG Publisher standards.
IHE/template-base:- Generic boilerplate (License, Contributing.md, README) for new domains.
- Story 1: A Domain Lead emails an Org Admin requesting a new AsciiDoc-based repo titled
iti-pds-fhir. - Story 2: The Org Admin uses the
template-asciidocto create the repo and assigns theITI-Domainteam as Admin. - Story 3: The Domain Lead (as Team Maintainer) adds three new contributors to the
ITI-Domainteam without involving the Org Admin. - Story 4: The Domain Lead sets up
iti.ihe.netto point to the new repo's documentation.
- Team Setup: Create GitHub Teams for each domain; appoint Maintainers.
- Permissions: Set Org-level repository creation to "Owners Only."
- CI/CD: Develop the Asciidoctor GitHub Action for the template.
- Documentation: Build the
IHE/playbooksrepo to host the guides atplaybooks.ihe.net. - Domain Verification: Ensure
ihe.netis verified at the Org level to secure subdomains.
- Provide a "Just-in-case" section in playbooks for Billing and Audit Logs.
- Ensure all CI/CD logic is "embedded" in templates so it persists after the project lead (6-month term) disengages.