Getting Started¶
1. Install the GitHub App¶
Install Signed Off on your organization: github.com/apps/signed-off
When prompted, grant access to All repositories. This is required so the app can read templates from your org's .github and .github-private repos alongside the repos where issues are opened.
2. Create your first template¶
Templates are Markdown files stored in your repositories. To create a shared default that applies across all repos, add a file to your org's .github repository. For example, for a Bug issue type:
## Pre-triage
- [ ] Steps to reproduce confirmed
- [ ] Affected version(s) noted
## Review
- [ ] [Security implications checked](https://wiki.example.com/security-review)
- [ ] Linked to a milestone
Tip
Wrap a label in [text](url) to attach a doc link. It appears as a small icon next to the item and opens in a new tab — it's never required to save state.
The app searches for templates in this order when an issue is opened, stopping at the first file found:
| Priority | Location | Use case |
|---|---|---|
| 1 | {issue-repo}/.github/CHECKLIST/{type}.md |
Repo-specific override |
| 2 | {org}/.github-private/.github/CHECKLIST/{type}.md |
Org-wide private default |
| 3 | {org}/.github/.github/CHECKLIST/{type}.md |
Org-wide public default |
See the Templates guide for the full format, including enforcement levels and per-template exception approver teams.
3. Open an issue¶
Open a new issue in any repo where the app is installed. Set the Issue type to Bug (GitHub's native issue type field — not a label).
Within a few seconds, the bot posts a managed comment with the rendered checklist.
4. Update checklist items¶
Click the Open checklist link in the bot comment. GitHub OAuth verifies you're a repo collaborator, then shows the full checklist editor.
Mark items as:
- Done — work is complete
- N/A — not applicable to this issue
- Need Exception — requires approval from a second party (see Exceptions)
5. Embed the status badge¶
Copy the badge URL from the bot comment and paste it into any Markdown — a PR description, wiki page, or dashboard:
The badge updates live as checklist state changes.
6. (Optional) Configure org-wide settings¶
To customise behaviour — approver team, cache TTL, icon set, or which repos can override templates — create .github/checklist-app.json in your org's .github repository. All fields are optional.
{
"exceptionApproversTeam": "security-leads",
"noTemplateBehavior": "comment",
"repoOverrides": {
"default": "allow",
"exceptions": ["production-*"]
}
}
See the Configuration reference for all available fields.