Add BlackRoad Completion Framework

- GitHub Actions workflows (auto-merge, branch-tracker, issue-to-board, stale-cleanup)
- Issue templates (agent-task, bug, task)
- PR template
- Automation scripts (slack-to-github, create-issue)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Alexa Louise
2025-11-30 07:40:23 -06:00
parent 33d7a4ec82
commit d3c9e82850
11 changed files with 835 additions and 36 deletions

85
.github/ISSUE_TEMPLATE/agent-task.yml vendored Normal file
View File

@@ -0,0 +1,85 @@
name: "🤖 Agent Task"
description: "For Codex or other agents to pick up"
title: "[AGENT] "
labels: ["agent-task", "automated"]
body:
- type: markdown
attributes:
value: |
## Agent-Executable Task
This issue is designed to be picked up and executed by Codex or another AI agent.
Keep instructions clear, specific, and executable.
- type: dropdown
id: priority
attributes:
label: Priority
options:
- "P0 - Immediate"
- "P1 - Today"
- "P2 - This week"
- "P3 - When available"
validations:
required: true
- type: textarea
id: instruction
attributes:
label: Instruction
description: What should the agent do? Be specific and executable.
placeholder: |
Create a new API endpoint at /api/users/preferences that:
- Accepts GET and PUT requests
- GET returns current user preferences from database
- PUT updates preferences with validation
- Follow existing patterns in /api/users/profile
validations:
required: true
- type: textarea
id: files
attributes:
label: Files to touch
description: Which files should be created or modified?
placeholder: |
- Create: src/pages/api/users/preferences.ts
- Modify: src/types/user.ts (add PreferencesType)
- Modify: prisma/schema.prisma (if needed)
validations:
required: false
- type: textarea
id: done
attributes:
label: Definition of done
description: How does the agent know it's complete?
placeholder: |
- Endpoint responds correctly to GET/PUT
- TypeScript compiles without errors
- Tests pass (if tests exist for this area)
validations:
required: true
- type: textarea
id: constraints
attributes:
label: Constraints / Don'ts
description: What should the agent avoid?
placeholder: |
- Don't modify the auth middleware
- Don't add new dependencies
- Follow existing code style
validations:
required: false
- type: dropdown
id: agent
attributes:
label: Assigned agent
options:
- "Codex"
- "Any available agent"
- "Specific agent (note in context)"
validations:
required: false

71
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
name: "🐛 Bug"
description: "Something is broken"
title: "[BUG] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## Bug Report
What's broken? Let's fix it.
- type: dropdown
id: severity
attributes:
label: Severity
description: How bad is it?
options:
- "🔥 Critical - Production down, data loss, security issue"
- "🟠 High - Major feature broken, no workaround"
- "🟡 Medium - Feature broken but has workaround"
- "🟢 Low - Minor issue, cosmetic, edge case"
validations:
required: true
- type: textarea
id: what
attributes:
label: What's broken?
description: One sentence description
placeholder: "Login button doesn't work on mobile Safari"
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: What should happen?
placeholder: "Clicking login should open the auth modal"
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
description: What actually happens?
placeholder: "Nothing happens. Console shows: TypeError..."
validations:
required: true
- type: textarea
id: repro
attributes:
label: How to reproduce
description: Steps to trigger the bug
placeholder: |
1. Open site on iPhone Safari
2. Tap Login button
3. Nothing happens
validations:
required: true
- type: textarea
id: context
attributes:
label: Environment / Context
description: Browser, OS, device, account type, etc.
placeholder: "iOS 17, Safari, iPhone 15 Pro"
validations:
required: false

View File

@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: BlackRoad OS Docs
url: https://github.com/BlackRoad-OS/blackroad-os-docs
about: Check the docs before opening an issue
- name: "💬 Quick question / discussion"
url: https://github.com/YOUR_USERNAME/YOUR_REPO/discussions
about: "For questions, ideas, or discussions that aren't actionable tasks yet"

65
.github/ISSUE_TEMPLATE/task.yml vendored Normal file
View File

@@ -0,0 +1,65 @@
name: "🎯 Task"
description: "Standard work item - features, changes, improvements"
title: "[TASK] "
labels: ["task"]
body:
- type: markdown
attributes:
value: |
## Quick Task Creation
Keep it simple. One task = one thing to do.
- type: dropdown
id: priority
attributes:
label: Priority
description: How urgent is this?
options:
- "P0 - Do it now (blocks everything)"
- "P1 - Today"
- "P2 - This week"
- "P3 - Backlog"
validations:
required: true
- type: textarea
id: what
attributes:
label: What needs to happen?
description: One sentence. If it's more than one sentence, split into multiple issues.
placeholder: "Add a logout button to the nav bar"
validations:
required: true
- type: textarea
id: done
attributes:
label: Definition of done
description: How do we know this is complete?
placeholder: |
- Logout button visible in nav
- Clicking it clears session and redirects to /login
- Works on mobile
validations:
required: true
- type: textarea
id: context
attributes:
label: Context (optional)
description: Any additional info that helps
placeholder: "Related to issue #45. See Figma design at..."
validations:
required: false
- type: dropdown
id: assignee
attributes:
label: Who should handle this?
description: Human or agent?
options:
- "Codex / Agent"
- "Human (me)"
- "Unassigned - triage needed"
validations:
required: false