feat: add Linear integration with polling, output handlers, and settings UI#27
Draft
dawilco wants to merge 2 commits into
Draft
feat: add Linear integration with polling, output handlers, and settings UI#27dawilco wants to merge 2 commits into
dawilco wants to merge 2 commits into
Conversation
…ngs UI - Add Linear as an automation source (polls issues via GraphQL API) - Add Linear output handlers: comment, transition, create issue - Add Settings > Linear page with API key config and test connection - Add Linear as source option in automation creation UI - Include 87 tests (74 orchestrator + 13 handler) - Use official Linear SVG logo icon Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@dawilco is attempting to deploy a commit to the Charlie Rabiller's projects Team on Vercel. A member of the Team first needs to authorize it. |
Author
|
resolves #26 |
…dge, and bidirectional sync Phase 1 - Linear MCP Tools: - Register update_linear_issue tool (comment + transition by identifier or UUID) - Register create_linear_issue tool (with team, priority, labels support) - Register get_linear_issue tool (full details with comments, sub-issues, metadata) Phase 2 - Linear-to-Kanban Bridge: - Add createKanbanTaskFromLinearItem() mirroring JIRA bridge - Wire into runAutomation to auto-create kanban tasks from Linear polls - Add Linear-aware agent prompts with get/update_linear_issue instructions - Add git workflow instructions (branch naming, PR creation, status transitions) Phase 3 - Queue Auto-Advance: - Add QueueConfig and QueueItem types to automation utils - Add queue state file (~/.dorothy/automation-queue.json) with CRUD operations - Add queue-aware processing (sequential/concurrent/parallel modes) - Add kanban-driven queue advancement (done -> next backlog item auto-planned) - Add automation:startBacklog, automation:getBacklogStatus, automation:retryFailed IPC handlers - Add queue config UI (mode selector, max concurrent agents) - Increase agent timeout to 30min for queue mode Phase 4 - Git Workflow per Ticket: - Auto-generate branch names from Linear identifiers (dorothy/ENG-123-title) - Add git/PR instructions to Linear task agent prompts Phase 5 - Bidirectional Status Sync: - Add syncKanbanToLinear() for ongoing/done transitions - Kanban ongoing -> Linear "In Progress", done -> Linear "Done" + completion comment Phase 6 - Backlog Progress UI: - Add BacklogProgress component with real-time status polling - Show progress bar, kanban column counts, queue stats - Start Backlog and Retry Failed action buttons Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
|
Its late here EST, testing it out but at the minimum Linear should be useful for this project! |
Owner
|
Hey @dawilco , thanks a lot for the contribution. Agree linear is a good fit, I'll take a look to your PR soon. BTW your PR is still in Draft, it's wanted ? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #26
Summary
Full Linear integration with autonomous backlog processing capabilities:
update_linear_issue,create_linear_issue,get_linear_issueregistered as agent-callable toolsCommits
1. Baseline Linear Integration
2. Autonomous Backlog Processing (Phases 1-6)
Phase 1 - Linear MCP Tools:
update_linear_issue— comment + transition by identifier or UUIDcreate_linear_issue— with team, priority, labels support, uses GraphQL variablesget_linear_issue— full details with comments, sub-issues, cycle, estimatesPhase 2 - Linear-to-Kanban Bridge:
createKanbanTaskFromLinearItem()mirrors JIRA bridge patternPhase 3 - Queue Auto-Advance:
QueueConfigtype: sequential/concurrent/parallel modes~/.dorothy/automation-queue.jsonautomation:startBacklog,getBacklogStatus,retryFailedIPC handlersPhase 4 - Git Workflow:
dorothy/ENG-123-sanitized-titlePhase 5 - Bidirectional Sync:
Phase 6 - Progress UI:
BacklogProgresscomponent with 10s pollingFiles Changed
mcp-orchestrator/src/tools/automations.tsmcp-orchestrator/src/utils/automations.tselectron/handlers/kanban-handlers.tselectron/handlers/automation-handlers.tssrc/app/automations/page.tsxelectron/preload.tssrc/types/electron.d.tsTest plan
npx vitest run— all 875 tests pass (31 files)npx tsc --noEmit— no new TypeScript errors in modified files🤖 Generated with Claude Code