Automates GitHub issue support with Claude, repository-grounded citations, confidence gating, and maintainer escalation.
- Runs on new/edited issues and issue comments.
- Uses repository files (code + docs) via local tools:
glob_files,grep_files,read_file. - Auto-replies only when confidence/rules pass.
- Escalates uncertain cases with a maintainer draft.
- Supports maintainer commands:
/ai-draft,/ai-post,/ai-ignore.
- Default (no app): comments are authored by
github-actions[bot]. - Optional GitHub App mode: comments are authored by your installed app bot identity (logo/avatar supported).
This repo ships reusable workflows so consumers do not need to copy the TypeScript runtime.
- Copy these two templates into target repo
.github/workflows/:templates/consumer/ai-issue-assistant.ymltemplates/consumer/ai-issue-maintainer-actions.yml
- Copy support config into target repo
.github/support-bot/:.github/support-bot/config.yml.github/support-bot/policy.md.github/support-bot/response-style.md
- Set maintainer handles in
.github/support-bot/config.yml. - Add Actions secret
ANTHROPIC_API_KEYin that repo (owner's own key). - Optional for GitHub App identity:
NOB_APP_IDNOB_APP_PRIVATE_KEY
- Open a test issue.
If app secrets exist, Nob mints an app token automatically. If not, it uses default GITHUB_TOKEN.
Set in Settings -> Secrets and variables -> Actions -> Variables:
CLAUDE_MODEL(optional), default:claude-sonnet-4-6AI_SUPPORT_MODE(optional), default:shadowshadow: never auto-post; always escalate draftguarded: policy-based guarded autopostfull: full policy mode
Use helper scripts from this repo:
- Single repo:
./scripts/bootstrap-repo.sh owner/repo- All repos for an owner:
./scripts/bootstrap-all-repos.sh ownerThese scripts add consumer workflows plus support-bot config files, then push commits.
- Create a GitHub App and install it on target repos.
- Add app credentials as repo/org secrets:
NOB_APP_IDNOB_APP_PRIVATE_KEY
- Keep using each repo's own
ANTHROPIC_API_KEY.
Set in Settings -> Secrets and variables -> Actions:
ANTHROPIC_API_KEY(required): the repo owner's key.NOB_APP_ID(optional): only when using GitHub App identity.NOB_APP_PRIVATE_KEY(optional): only when using GitHub App identity.
This project never requires users to share your key. Every installer uses their own secrets.
/ai-draft: post latest saved draft response./ai-post: post latest draft publicly and mark answered./ai-ignore: addno-ailabel and disable automation for that issue.
- No reply without grounded citations.
- Uncertain or conflicting cases escalate.
- Bot-originated events are ignored to prevent loops.
- Cooldown is enforced to reduce spam.