This repository includes a comprehensive GitHub workflow automation system designed for efficient issue tracking, development management, and project coordination. The system automatically triages issues, manages development workflows, and provides intelligent reporting.
- Intelligent Labeling: Automatically assigns priority, type, and component labels based on issue content
- Smart Prioritization: Detects critical issues and escalates appropriately
- Component Detection: Identifies which parts of the system are affected
- Team Assignment: Routes issues to appropriate team members
- Status Tracking: Maintains issue lifecycle status
- Branch Creation: Automatically creates feature branches for approved issues
- Development Checklists: Generates customized checklists based on issue type
- PR Integration: Links pull requests to issues and manages status updates
- Quality Gates: Enforces code quality and testing requirements
- Automated Cleanup: Manages branch lifecycle and cleanup
- Smart Board Management: Automatically adds high-priority items to project boards
- Status Synchronization: Keeps board columns in sync with issue status
- Progress Tracking: Provides real-time visibility into development progress
- Performance Metrics: Tracks resolution times and team velocity
- Daily Summaries: Automated daily issue activity reports
- Weekly Reviews: Comprehensive weekly performance analysis
- Stale Issue Management: Identifies and manages inactive issues
- Performance Analytics: Tracks team productivity and bottlenecks
Workflow | Trigger | Purpose |
---|---|---|
issue-triage.yml |
Issue opened/edited | Auto-label and triage new issues |
development-kickoff.yml |
Issue labeled as ready | Start development process |
project-board-automation.yml |
Issue/PR events | Manage project board automation |
issue-monitoring.yml |
Schedule + Manual | Generate reports and manage stale issues |
labels-sync.yml |
Label changes | Synchronize repository labels |
Template | Purpose | Labels |
---|---|---|
bug_report.yml |
Bug reports | type:bug , status:triage , priority:medium |
feature_request.yml |
Feature requests | type:feature , status:triage , priority:medium |
security_report.yml |
Security issues | type:security , priority:high , status:triage |
Priority Levels:
priority:critical
π΄ - Immediate attention requiredpriority:high
π‘ - Important issuepriority:medium
π’ - Normal prioritypriority:low
βͺ - Nice to have
Issue Types:
type:bug
π - Something isn't workingtype:feature
β¨ - New feature or enhancementtype:documentation
π - Documentation improvementstype:security
π‘οΈ - Security relatedtype:performance
β‘ - Performance improvementtype:testing
π§ͺ - Testing improvements
Components:
component:frontend
βοΈ - React/Next.js frontendcomponent:backend
π₯οΈ - Node.js/Express backendcomponent:database
ποΈ - Database relatedcomponent:api
π - API endpointscomponent:infrastructure
π³ - Docker/Infrastructure
Status Tracking:
status:triage
π - Needs initial reviewstatus:ready
β - Ready for developmentstatus:in-progress
π - Being worked onstatus:review
π - Under reviewstatus:blocked
β - Blocked by dependenciesstatus:needs-info
β - Waiting for information
All workflows are ready to use once this repository structure is in place.
- Enable Issues and Projects in repository settings
- Ensure Actions have write permissions for issues and pull requests
- Configure branch protection rules if desired
- Create a GitHub Projects board
- Set up columns: Triage, Ready, In Progress, Review, Done
- Workflows will reference these columns
Edit workflows to add team member assignments:
# In issue-triage.yml, update team assignments
if (labels.includes('component:frontend')) {
assignees.push('frontend-team-lead');
}
Use these slash commands in issue comments to trigger actions:
/priority critical
- Change priority to critical/priority high
- Change priority to high/in-progress
- Mark as in progress/ready
- Mark as ready for development/blocked
- Mark as blocked/needs-info
- Request more information
New Issue Opened:
- Auto-labels based on title/content
- Assigns priority level
- Routes to appropriate team
- Adds to project board if high priority
Issue Marked Ready:
- Creates development branch
- Generates development checklist
- Updates status to in-progress
- Notifies assigned developer
PR Created:
- Links to related issue
- Updates issue status to review
- Adds to review column
- Triggers quality checks
- New and closed issues count
- Priority distribution
- Critical issues requiring attention
- Blocked issues list
- Old issues (30+ days)
- Comprehensive weekly performance analysis
- Team activity metrics
- Component activity breakdown
- Resolution time analysis
- Automated recommendations
- Marks issues stale after 30 days of inactivity
- Auto-closes stale issues after 7 additional days
- Protects critical issues from auto-closure
- Provides notifications before closure
No special environment variables required - uses GITHUB_TOKEN
automatically.
For advanced features, you may want to configure:
SLACK_WEBHOOK
- For Slack notifications (optional)TEAMS_WEBHOOK
- For Teams notifications (optional)
Modify Auto-labeling Rules:
Edit the labeling logic in .github/workflows/issue-triage.yml
:
// Add custom detection rules
if (title.includes('your-keyword') || body.includes('your-keyword')) {
labels.push('custom:label');
}
Adjust Timing:
Modify cron schedules in .github/workflows/issue-monitoring.yml
:
schedule:
- cron: '0 9 * * MON' # Weekly report
- cron: '0 17 * * *' # Daily summary
Labels Not Applied:
- Check workflow permissions
- Verify trigger conditions
- Review workflow logs
Branch Creation Failed:
- Ensure Actions have write permissions
- Check branch protection rules
- Verify branch naming doesn't conflict
Reports Not Generated:
- Check cron trigger syntax
- Verify workflow is enabled
- Review execution logs
- Check Actions tab for workflow execution logs
- Verify repository permissions for GitHub Actions
- Ensure issue templates are properly formatted
- Test workflows manually using workflow_dispatch
- All workflows use repository-scoped
GITHUB_TOKEN
- No external API calls or data sharing
- Security issues are handled with appropriate sensitivity
- Private vulnerability reporting encouraged for critical issues
The system is designed to be extensible. You can:
- Add custom label detection rules
- Integrate with external tools
- Create custom notification channels
- Implement additional quality gates
Workflows can be extended to integrate with:
- External analytics platforms
- Monitoring systems
- Custom dashboards
- Reporting tools
To improve the automation system:
- Test changes on a fork first
- Follow the existing workflow patterns
- Update documentation for new features
- Consider backwards compatibility
This automation system is part of the prompt-card-system project and follows the same license terms.
This automation system helps maintain high code quality, efficient development workflows, and excellent project management practices.