Description
Implement @roo-code/issue-tasks Package - GitHub Issue-Based Task Automation
Summary
This PR introduces a new package @roo-code/issue-tasks
that generalizes the evals system architecture for arbitrary GitHub issue-based task management. The package provides a complete task automation framework that can convert GitHub issues into executable tasks with full database tracking, metrics, and queue management.
Background
The existing @roo-code/evals
package provides an excellent foundation for automated evaluation workflows with database persistence, GitHub integration, and task execution. However, it's specifically designed for evaluation tasks. This new package extracts the core architecture patterns and creates a generalized system for any GitHub issue-based automation.
Implementation Details
Core Architecture
- Database Schema: Tasks, runs, task_metrics, and tool_errors tables using Drizzle ORM
- GitHub Integration: Issue fetching with authentication, rate limiting, and webhook support
- Task Management: Loader, executor, and runner with complete workflow orchestration
- Queue System: Redis-based async task processing with job scheduling
- CLI Interface: Command-line tools for task management and monitoring
Key Features
- Issue-to-Task Conversion: Automatically converts GitHub issues into structured tasks
- Database Persistence: Full audit trail with metrics and error tracking
- Docker Integration: Postgres and Redis containers with automated setup
- Test Infrastructure: Comprehensive test suite with 16/16 tests passing
- Production Ready: Environment management, health checks, and monitoring
Package Structure
packages/issue-tasks/
├── src/
│ ├── db/ # Database schema and queries
│ ├── github/ # GitHub API integration
│ ├── tasks/ # Task management core
│ ├── runner/ # Task execution engine
│ ├── queue/ # Redis-based task queue
│ ├── cli/ # Command-line interface
│ └── __tests__/ # Integration tests
├── docs/ # Complete documentation
├── examples/ # Usage examples
└── scripts/ # Utility scripts
Test Results
All tests pass with full database integration:
- GitHub Client Tests: 4/4 passing - Authentication, issue fetching, rate limiting
- Task Loader Tests: 5/5 passing - Issue conversion, validation, metadata extraction
- Integration Tests: 7/7 passing - End-to-end workflows, database operations, queue processing
Documentation
Complete documentation provided:
- API Documentation: Full TypeScript API reference
- Getting Started Guide: Setup and basic usage examples
- Architecture Overview: System design and component relationships
- Deployment Guide: Production deployment instructions
Files Added
Core Implementation
packages/issue-tasks/src/index.ts
- Main package exportspackages/issue-tasks/src/db/schema.ts
- Database schema definitionspackages/issue-tasks/src/db/db.ts
- Database connection and configurationpackages/issue-tasks/src/github/client.ts
- GitHub API integrationpackages/issue-tasks/src/tasks/loader.ts
- Issue-to-task conversion logicpackages/issue-tasks/src/runner/TaskExecutor.ts
- Task execution enginepackages/issue-tasks/src/runner/TaskRunner.ts
- Workflow orchestrationpackages/issue-tasks/src/queue/TaskQueue.ts
- Redis queue managementpackages/issue-tasks/src/cli/index.ts
- Command-line interface
Infrastructure
packages/issue-tasks/docker-compose.yml
- Database and Redis servicespackages/issue-tasks/Dockerfile
- Application containerizationpackages/issue-tasks/drizzle.config.ts
- Database migration configurationpackages/issue-tasks/vitest.config.ts
- Test configurationpackages/issue-tasks/scripts/wait-for-db.sh
- Database health check
Tests
packages/issue-tasks/src/__tests__/integration.test.ts
- End-to-end integration testspackages/issue-tasks/src/github/__tests__/client.test.ts
- GitHub client testspackages/issue-tasks/src/tasks/__tests__/loader.test.ts
- Task loader tests
Documentation
packages/issue-tasks/README.md
- Package overview and quick startpackages/issue-tasks/docs/API.md
- Complete API documentationpackages/issue-tasks/docs/GETTING_STARTED.md
- Setup and usage guidepackages/issue-tasks/docs/ARCHITECTURE.md
- System architecture overviewpackages/issue-tasks/docs/DEPLOYMENT.md
- Production deployment guide
Examples
packages/issue-tasks/examples/basic-usage.ts
- Basic usage examples
Breaking Changes
None - this is a new package with no impact on existing code.
Migration Guide
Not applicable - this is a new package.
Testing
- All 16 tests pass
- Database integration working
- Docker services automated
- End-to-end workflows verified
- GitHub API integration tested
- Queue processing validated
Checklist
- Implementation complete
- Tests passing (16/16)
- Documentation complete
- Examples provided
- Docker configuration working
- Database schema implemented
- GitHub integration functional
- CLI interface complete
- Queue system operational
- Error handling comprehensive
Related Issues
This implements a generalized version of the patterns established in the @roo-code/evals
package, providing a reusable foundation for GitHub issue-based task automation.
Metadata
Metadata
Assignees
Type
Projects
Status