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:
85
.github/ISSUE_TEMPLATE/agent-task.yml
vendored
Normal file
85
.github/ISSUE_TEMPLATE/agent-task.yml
vendored
Normal 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
71
.github/ISSUE_TEMPLATE/bug.yml
vendored
Normal 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
|
||||
6
.github/ISSUE_TEMPLATE/config.yml
vendored
6
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -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
65
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal 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
|
||||
Reference in New Issue
Block a user