Overview
TheTracker interface defines how the orchestrator integrates with issue tracking systems. Tracker plugins fetch issue details, generate branch names, and create prompts for agents to work on specific issues.
Plugin Slot: trackerDefault Plugin:
github
Interface Definition
Methods
Plugin name identifier (e.g.
"github", "linear", "jira").Fetch issue details from the tracker.Parameters:
identifier- Issue identifier (e.g."42","INT-1327", GitHub URL)project- Project configuration
Check if issue is completed/closed.Parameters:
identifier- Issue identifierproject- Project configuration
Generate a URL for the issue.Parameters:
identifier- Issue identifierproject- Project configuration
Optional: Extract a human-readable label from an issue URL (e.g.
"INT-1327", "#42").Parameters:url- Issue URLproject- Project configuration
Generate a git branch name for the issue.Parameters:
identifier- Issue identifierproject- Project configuration
"fix-auth-bug-42", "int-1327-improve-performance")Generate a prompt for the agent to work on this issue.Parameters:
identifier- Issue identifierproject- Project configuration
Optional: List issues with filters.Parameters:
filters- Filter criteria (state, labels, assignee, limit)project- Project configuration
Optional: Update issue state.Parameters:
identifier- Issue identifierupdate- Fields to update (state, labels, assignee, comment)project- Project configuration
Optional: Create a new issue.Parameters:
input- Issue fields (title, description, labels, assignee, priority)project- Project configuration
Related Types
Issue
Unique issue identifier
Issue title
Full issue description (may be markdown)
URL to view issue
Issue state:
"open", "in_progress", "closed", or "cancelled"Array of label strings
Username of assignee
Priority level (higher = more urgent)
IssueFilters
IssueUpdate
CreateIssueInput
Usage Examples
Implementing a Tracker Plugin
Using Tracker in Session Manager
Implementation Notes
Issue Identifier Normalization
Trackers should accept flexible identifier formats:- GitHub:
"42","#42","https://github.com/owner/repo/issues/42" - Linear:
"INT-1327","https://linear.app/team/issue/INT-1327" - Jira:
"PROJ-123","https://company.atlassian.net/browse/PROJ-123"
Prompt Generation
ThegeneratePrompt() method should:
- Include issue title and description
- Add issue URL for reference
- Include relevant metadata (labels, priority)
- Format for agent consumption (markdown preferred)
Authentication
Trackers typically rely on environment variables or CLI tools:- GitHub:
ghCLI (uses~/.config/gh/hosts.yml) - Linear:
LINEAR_API_KEYenvironment variable - Jira:
JIRA_TOKEN+JIRA_URL
Built-in Plugins
- github - GitHub Issues (default, uses
ghCLI) - linear - Linear (uses GraphQL API)
