GitHub composite actions that power the Takt lean-delivery workflow.
Takt is a lean software-development workflow for GitHub that enables a true one-piece flow: one issue → one commit → fast-forward merge to main. It eliminates the wait-states and task-switching caused by traditional Pull Request peer-review gates by replacing them with automated quality checks and clear ownership.
The full workflow is implemented across two GitHub repositories:
| Repository | Role |
|---|---|
devx-cafe/gh-tt |
A gh CLI extension that gives developers three commands — workon, wrapup, deliver — to drive the day-to-day flow from a terminal |
devx-cafe/takt-actions (this repo) |
GitHub composite actions consumed by the CI/CD workflows that run when code is delivered |
Bridges the gap between GitHub Pull Requests and the Takt flow.
On PR approval (or manual dispatch), it collapses the PR's commit history into a single synthetic commit parented on origin/main and pushes it to a ready/<branch> branch — identical to what gh tt deliver does for issue branches.
Triggered by a push to any ready/* branch.
Fast-forward merges the commit to the target branch (main by default), then performs context-aware cleanup: closes the PR, closes linked issues, and deletes the ready/* and development branches.
Developer workspace GitHub Actions CI
─────────────────── ─────────────────────────────────────────────
gh tt workon -i <N> → creates / checks-out issue branch
gh tt wrapup → push → wrapup.yml (runs checks on dev branch)
gh tt deliver → push → ready.yml
├─ trunk-worthy job (quality gate)
└─ merge-to-trunk job
└─ uses: takt-actions/ready-to-trunk
OR, for teams that use Pull Requests:
Open PR / approval → pr-to-ready.yml
└─ uses: takt-actions/pr-to-ready → ready/*
└─ (same ready.yml flow above)
Copy the workflow files from .github/workflows/ into your own repository and add a READY_PUSHER secret (a PAT with contents, pull-requests, and issues write permissions):
ready.yml— triggers onready/**pushes; runs quality checks then callsready-to-trunk.pr-to-ready.yml— triggers on PR approval; callspr-to-readyto enter the Takt flow.
See each action's own README for full input documentation: