GitHub Delivery Operating System
Structured sprint execution, QA governance, and production release control — embedded directly in your GitHub repos.
One command to install
Add Delivery OS to any repository. No clone, no config — just run:
From your repo root
npx github-delivery-os install --with-templates .
Add --with-labels to create labels via gh CLI (requires gh auth). Use --dry-run to preview first.
Why this exists
Engineering teams often rely on informal coordination in GitHub — manual approvals, inconsistent sprint tracking, reactive QA, and socially enforced releases. As teams scale, that creates:
- Delivery ambiguity
- QA bottlenecks
- Unclear accountability
- Release risk
- Cross-team misalignment
Delivery OS embeds structured intake, sprint orchestration, QA governance, and release gates directly into your repos — without replacing CI/CD or disrupting workflows.
What you get
Sprint child creation
Create a sprint issue → each feature line becomes a child issue. Burn-down and auto-close at 100%.
Dual approval gates
Production releases require both release approver and QA sign-off before deploy.
Auto-assign QA
Issues with
qa or qa-request labels get assigned to your QA team.
Telegram alerts
Optional notifications for bugs, QA requests, sprints, and releases.
Workflows installed
| Workflow | Purpose |
|---|---|
| sprint-child-creator | Creates child issues when a sprint (SPRINT -) is opened |
| auto-close-sprint | Burn-down, sprint health, auto-close at 100% |
| notify-release-approver | Pings approver when production release issue opens |
| authorize-deployment | Dual approval (release approver + QA) |
| auto-assign-qa | Assigns QA team to qa / qa-request issues |
| telegram-issues | Telegram alerts for bugs, QA, sprints, releases |
| setup-labels | One-time workflow to create required labels |
Quick start (after install)
- Create labels: Actions → Setup Labels → Run workflow
- Configure variables: Settings → Secrets and variables → Actions → Variables
RELEASE_APPROVER,QA_APPROVER,QA_ASSIGNEES - Optional: Add
TELEGRAM_BOT_TOKENandTELEGRAM_CHAT_IDfor alerts