9.6 KiB
Guide: GitHub Issues and Project Board Workflow
Prerequisites: Basic understanding of GitHub issues and projects
Purpose: Step-by-step workflow for managing issues and project board
Overview
This guide covers how to work with GitHub issues and the project board to track and process different requests, features, and improvements.
Project Board: https://github.com/users/darrenhinde/projects/2/views/2
Time: Varies by task
Quick Commands Reference
# List issues
gh issue list --repo darrenhinde/OpenAgentsControl
# Create issue
gh issue create --repo darrenhinde/OpenAgentsControl --title "Title" --body "Body" --label "label1,label2"
# Add issue to project
gh project item-add 2 --owner darrenhinde --url https://github.com/darrenhinde/OpenAgentsControl/issues/NUMBER
# View issue
gh issue view NUMBER --repo darrenhinde/OpenAgentsControl
# Update issue
gh issue edit NUMBER --repo darrenhinde/OpenAgentsControl --add-label "new-label"
# Close issue
gh issue close NUMBER --repo darrenhinde/OpenAgentsControl
Step 1: Creating Issues
Issue Types
Feature Request
- Labels:
feature,enhancement - Include: Goals, key features, success criteria
- Template: See "Feature Issue Template" below
Bug Report
- Labels:
bug - Include: Steps to reproduce, expected vs actual behavior
- Template: See "Bug Issue Template" below
Improvement
- Labels:
enhancement,framework - Include: Current state, proposed improvement, impact
Question
- Labels:
question - Include: Context, specific question, use case
Priority Labels
priority-high- Critical, blocking workpriority-medium- Important, not blockingpriority-low- Nice to have
Category Labels
agents- Agent system relatedframework- Core framework changesevals- Evaluation frameworkidea- High-level proposal
Creating an Issue
# Basic issue
gh issue create \
--repo darrenhinde/OpenAgentsControl \
--title "Add new feature X" \
--body "Description of feature" \
--label "feature,priority-medium"
# Feature with detailed body
gh issue create \
--repo darrenhinde/OpenAgentsControl \
--title "Build plugin system" \
--label "feature,framework,priority-high" \
--body "$(cat <<'EOF'
## Overview
Brief description
## Goals
- Goal 1
- Goal 2
## Key Features
- Feature 1
- Feature 2
## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
EOF
)"
Step 2: Adding Issues to Project Board
Add Single Issue
# Add issue to project
gh project item-add 2 \
--owner darrenhinde \
--url https://github.com/darrenhinde/OpenAgentsControl/issues/NUMBER
Add Multiple Issues
# Add issues 137-142 to project
for i in {137..142}; do
gh project item-add 2 \
--owner darrenhinde \
--url https://github.com/darrenhinde/OpenAgentsControl/issues/$i
done
Verify Issues on Board
# View project items
gh project item-list 2 --owner darrenhinde --format json | jq '.items[] | {title, status}'
Step 3: Processing Issues
Workflow States
- Backlog - New issues, not yet prioritized
- Todo - Prioritized, ready to work on
- In Progress - Currently being worked on
- In Review - PR submitted, awaiting review
- Done - Completed and merged
Moving Issues
# Update issue status (via project board UI or gh CLI)
# Note: Status updates are typically done via web UI
Assigning Issues
# Assign to yourself
gh issue edit NUMBER \
--repo darrenhinde/OpenAgentsControl \
--add-assignee @me
# Assign to someone else
gh issue edit NUMBER \
--repo darrenhinde/OpenAgentsControl \
--add-assignee username
Step 4: Working on Issues
Start Work
-
Assign issue to yourself
gh issue edit NUMBER --repo darrenhinde/OpenAgentsControl --add-assignee @me -
Move to "In Progress" (via web UI)
-
Create branch (optional)
git checkout -b feature/issue-NUMBER-description -
Reference issue in commits
git commit -m "feat: implement X (#NUMBER)"
Update Progress
# Add comment to issue
gh issue comment NUMBER \
--repo darrenhinde/OpenAgentsControl \
--body "Progress update: Completed X, working on Y"
Complete Work
-
Create PR
gh pr create \ --repo darrenhinde/OpenAgentsControl \ --title "Fix #NUMBER: Description" \ --body "Closes #NUMBER\n\nChanges:\n- Change 1\n- Change 2" -
Move to "In Review" (via web UI)
-
After merge, issue auto-closes (if PR uses "Closes #NUMBER")
Step 5: Using Issues for Request Processing
Request Types
User Feature Request
- Create issue with
featurelabel - Add to project board
- Prioritize based on impact
- Break down into subtasks if needed
- Assign to appropriate person/team
Bug Report
- Create issue with
buglabel - Add reproduction steps
- Prioritize based on severity
- Assign for investigation
- Link to related issues if applicable
Improvement Suggestion
- Create issue with
enhancementlabel - Discuss approach in comments
- Get consensus before implementation
- Create implementation plan
- Execute and track progress
Breaking Down Large Issues
For complex features, create parent issue and subtasks:
# Parent issue
gh issue create \
--repo darrenhinde/OpenAgentsControl \
--title "[EPIC] Plugin System" \
--label "feature,framework,priority-high" \
--body "Parent issue for plugin system work"
# Subtask issues
gh issue create \
--repo darrenhinde/OpenAgentsControl \
--title "Plugin manifest system" \
--label "feature" \
--body "Part of #PARENT_NUMBER\n\nImplement plugin.json manifest"
Step 6: Issue Templates
Feature Issue Template
## Overview
Brief description of the feature
## Goals
- Goal 1
- Goal 2
- Goal 3
## Key Features
- Feature 1
- Feature 2
- Feature 3
## Related Issues
- #123 (related issue)
## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
Bug Issue Template
## Description
Brief description of the bug
## Steps to Reproduce
1. Step 1
2. Step 2
3. Step 3
## Expected Behavior
What should happen
## Actual Behavior
What actually happens
## Environment
- OS: macOS/Linux/Windows
- Version: 0.5.2
- Node: v20.x
## Additional Context
Any other relevant information
Improvement Issue Template
## Current State
Description of current implementation
## Proposed Improvement
What should be improved and why
## Impact
- Performance improvement
- Developer experience
- User experience
## Implementation Approach
High-level approach to implementation
## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
Step 7: Automation and Integration
Auto-Close Issues
Use keywords in PR descriptions:
Closes #123Fixes #123Resolves #123
Link Issues to PRs
# In PR description
gh pr create \
--title "Add feature X" \
--body "Implements #123\n\nChanges:\n- Change 1"
Issue References in Commits
# Reference issue in commit
git commit -m "feat: add plugin system (#137)"
# Close issue in commit
git commit -m "fix: resolve permission error (closes #140)"
Best Practices
Issue Creation
✅ Clear titles - Descriptive and specific
✅ Detailed descriptions - Include context and goals
✅ Proper labels - Use consistent labeling
✅ Success criteria - Define what "done" means
✅ Link related issues - Show dependencies
Issue Management
✅ Regular triage - Review and prioritize weekly
✅ Keep updated - Add comments on progress
✅ Close stale issues - Clean up old/irrelevant issues
✅ Use milestones - Group related issues
✅ Assign owners - Clear responsibility
Project Board
✅ Update status - Keep board current
✅ Limit WIP - Don't overload "In Progress"
✅ Review regularly - Weekly board review
✅ Archive completed - Keep board clean
Common Workflows
Processing User Request
- Receive request (via issue, email, chat)
- Create issue with appropriate labels
- Add to project board
- Triage and prioritize
- Assign to team member
- Track progress via status updates
- Review and merge PR
- Close issue and notify requester
Planning New Feature
- Create epic issue for overall feature
- Break down into subtasks
- Add all to project board
- Prioritize subtasks
- Assign to team members
- Track progress across subtasks
- Complete and close when all subtasks done
Bug Triage
- Create bug issue with reproduction steps
- Label with severity (critical, high, medium, low)
- Add to project board
- Assign for investigation
- Reproduce and diagnose
- Fix and test
- Create PR with fix
- Close issue after merge
Checklist
Before closing an issue:
- All success criteria met
- Tests passing
- Documentation updated
- PR merged (if applicable)
- Related issues updated
- Stakeholders notified
Related Files
- Registry guide:
guides/updating-registry.md - Release guide:
guides/creating-release.md - Testing guide:
guides/testing-agent.md - Debugging:
guides/debugging.md
External Resources
Last Updated: 2026-01-30
Version: 0.5.2