@@ -4,10 +4,20 @@ A comprehensive Linear integration plugin for ElizaOS that enables issue trackin
44
55## Features
66
7+ ### 🤖 Natural Language Understanding
8+ All actions now support advanced natural language parsing powered by LLM:
9+ - ** Flexible References** : Reference issues by ID, title keywords, assignee, or recency
10+ - ** Smart Filtering** : Use natural language for complex searches and filters
11+ - ** Context Awareness** : Understands relative references like "my issues" or "today's activity"
12+ - ** Graceful Fallbacks** : Falls back to pattern matching when LLM parsing fails
13+
14+ ## Core Features
15+
716### 📋 Issue Management
817- ** Create Issues** : Create new issues with title, description, priority, assignees, and labels
918- ** Get Issue Details** : Retrieve comprehensive information about specific issues
1019- ** Update Issues** : Modify existing issues with new information
20+ - ** Delete Issues** : Archive issues (move to archived state)
1121- ** Search Issues** : Find issues using various filters and search criteria
1222- ** Add Comments** : Comment on existing issues
1323
@@ -50,6 +60,20 @@ LINEAR_WORKSPACE_ID=your_workspace_id_here
5060LINEAR_DEFAULT_TEAM_KEY=your_default_team_key_here # e.g., ENG, ELIZA, COM2
5161```
5262
63+ ### Default Team Behavior
64+
65+ When ` LINEAR_DEFAULT_TEAM_KEY ` is configured, it affects the following actions:
66+
67+ - ** Create Issue** : New issues will be assigned to the default team if no team is specified
68+ - ** Search Issues** : Searches will be filtered by the default team unless:
69+ - A team filter is explicitly provided
70+ - The user asks for "all" issues
71+ - ** List Projects** : Projects will be filtered by the default team unless:
72+ - A specific team is mentioned
73+ - The user asks for "all" projects
74+
75+ This helps ensure that actions are scoped to the most relevant team by default while still allowing users to access all data when needed.
76+
5377## Usage
5478
5579### Register the Plugin
@@ -83,8 +107,11 @@ agent.registerPlugin(linearPlugin);
83107
84108#### Get Issue
85109``` typescript
86- // Natural language
87- " Show me issue ENG-123"
110+ // Natural language examples
111+ " Show me issue ENG-123" // Direct ID
112+ " What's the status of the login bug?" // Search by title
113+ " Show me the latest high priority issue assigned to Sarah" // Complex query
114+ " Get John's most recent task" // Assignee + recency
88115
89116// With options
90117{
@@ -98,7 +125,9 @@ agent.registerPlugin(linearPlugin);
98125#### Search Issues
99126``` typescript
100127// Natural language
101- " Show me all high priority bugs assigned to me"
128+ " Show me all high priority bugs assigned to me" // Uses default team if configured
129+ " Show me all issues across all teams" // Searches all teams
130+ " Show me issues in the ELIZA team" // Searches specific team
102131
103132// With options
104133{
@@ -107,6 +136,7 @@ agent.registerPlugin(linearPlugin);
107136 query : " bug" ,
108137 priority : [1 , 2 ], // Urgent and High
109138 state : [" in-progress" , " todo" ],
139+ team : " ELIZA" , // Override default team
110140 limit : 20
111141 }
112142}
@@ -136,10 +166,31 @@ agent.registerPlugin(linearPlugin);
136166}
137167```
138168
139- #### Add Comment
169+ #### Delete Issue
140170``` typescript
141171// Natural language
172+ " Delete issue ENG-123"
173+ " Remove COM2-7 from Linear"
174+ " Archive the bug report BUG-456"
175+
176+ // With options
177+ {
178+ action : " DELETE_LINEAR_ISSUE" ,
179+ options : {
180+ issueId : " issue-id-or-identifier"
181+ }
182+ }
183+ ```
184+
185+ > ** Note** : Linear doesn't support permanent deletion. This action archives the issue, moving it to an archived state where it won't appear in active views.
186+
187+ #### Add Comment
188+ ``` typescript
189+ // Natural language examples
142190" Comment on ENG-123: This has been fixed in the latest release"
191+ " Tell the login bug that we need more information from QA"
192+ " Reply to COM2-7: Thanks for the update"
193+ " Add a note to the payment issue saying it's blocked by API changes"
143194
144195// With options
145196{
@@ -153,16 +204,21 @@ agent.registerPlugin(linearPlugin);
153204
154205#### List Teams
155206``` typescript
156- // Natural language
157- " Show me all teams"
207+ // Natural language examples
208+ " Show me all teams" // Lists all teams
209+ " Which engineering teams do we have?" // Filter by name
210+ " Show me the teams I'm part of" // Personal teams
211+ " Show me the ELIZA team details" // Specific team lookup
158212```
159213
160214#### List Projects
161215``` typescript
162216// Natural language
163- " Show me all projects"
217+ " Show me all projects" // Uses default team filter if configured
218+ " Show me all projects across all teams" // Lists all projects
219+ " Show me projects for the engineering team" // Lists projects for specific team
164220
165- // Filter by team
221+ // With options
166222{
167223 action : " LIST_LINEAR_PROJECTS" ,
168224 options : {
@@ -173,8 +229,12 @@ agent.registerPlugin(linearPlugin);
173229
174230#### Get Activity
175231``` typescript
176- // Natural language
177- " Show me recent Linear activity"
232+ // Natural language examples
233+ " Show me recent Linear activity" // All recent activity
234+ " What happened in Linear today?" // Time-based filter
235+ " Show me what issues John created this week" // User + action + time
236+ " Activity on ENG-123" // Resource-specific activity
237+ " Show me failed operations" // Filter by success status
178238
179239// With options
180240{
0 commit comments