Skip to content

Commit 24ba458

Browse files
more natural language parsing, add deleteIssue action
1 parent cd3a9f2 commit 24ba458

12 files changed

Lines changed: 1439 additions & 210 deletions

File tree

README.md

Lines changed: 70 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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
5060
LINEAR_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
{

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@elizaos/plugin-linear",
3-
"version": "1.2.11",
3+
"version": "1.2.12",
44
"description": "Linear integration plugin for ElizaOS",
55
"main": "dist/index.js",
66
"module": "dist/index.js",

0 commit comments

Comments
 (0)