@dabble/linear-cli 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,11 +15,11 @@ Help the developer wrap up their work on the current Linear issue.
15
15
  2. **Summarize the work** by checking:
16
16
  - `git log --oneline <base>..HEAD` to see commits
17
17
  - `git diff --stat <base>..HEAD` to see files changed
18
- 3. **Ask what they want to do** using AskUserQuestion:
19
- - Close the issue in Linear
20
- - Create a PR first
21
- - Add final notes to the issue
22
- - Just clean up (worktree only)
18
+ 3. **Ask what they want to do:**
19
+ - Create PR and close
20
+ - Close issue (no PR)
21
+ - Add notes and close
22
+ - Just clean up (keep issue open)
23
23
 
24
24
  ## After Selection
25
25
 
@@ -50,11 +50,7 @@ You've made 3 commits on ISSUE-12: Add caching layer
50
50
  - src/cache.ts (new file, 45 lines)
51
51
  - src/api.ts (modified, +12 -3)
52
52
 
53
- What would you like to do?
54
- 1. Create PR and close issue
55
- 2. Close issue (no PR)
56
- 3. Add notes and close
57
- 4. Just clean up worktree (don't close)
53
+ [Presents options above]
58
54
  ```
59
55
 
60
56
  ## Notes
@@ -21,47 +21,11 @@ Skip straight to starting work on that issue (see "Starting Work on an Issue" be
21
21
 
22
22
  ### Presenting Options
23
23
 
24
- Always present a numbered list with these rules:
25
- - Show up to **5 issues maximum** (yours are already sorted first by the CLI)
26
- - If more than 5 issues exist, note how many more after the list
27
- - **Always** include "Product planning" as the final option
28
-
29
- ### Format
30
-
31
- ```
32
- Here's what's ready to work on:
33
-
34
- 1. ISSUE-5: Add caching layer [Backlog] (assigned to you)
35
- 2. ISSUE-8: Fix login timeout [Backlog]
36
- 3. ISSUE-12: Update API docs [Backlog]
37
- 4. ISSUE-18: Do Something Else [Backlog]
38
- 5. ISSUE-29: Another thing [Backlog]
39
- ... and 7 more unblocked issues
40
- 6. Product planning - brainstorm features, review backlog, plan next phase
41
-
42
- Which would you like to work on?
43
- ```
44
-
45
- ### If NO unblocked issues:
46
-
47
- ```
48
- No unblocked issues at the moment.
49
-
50
- 1. Product planning - brainstorm features, review backlog, plan next phase
51
-
52
- Would you like to work on product planning?
53
- ```
54
-
55
- ### If exactly ONE issue:
56
-
57
- ```
58
- There's one issue ready to work on:
59
-
60
- 1. ISSUE-5: Add caching layer [Backlog] (assigned to you)
61
- 2. Product planning - brainstorm features, review backlog, plan next phase
62
-
63
- Which would you like?
64
- ```
24
+ Present interactive options:
25
+ - Up to **3 issues** (CLI already sorts yours first)
26
+ - **Always** include "Product planning" as an option
27
+ - If >3 issues, note how many more
28
+ - User can always type a specific issue ID
65
29
 
66
30
  ## Starting Work on an Issue
67
31
 
@@ -70,25 +34,19 @@ When the user selects an issue (or provides one directly via `/next ISSUE-12`):
70
34
  1. Run `linear issue start <id>` to assign and set In Progress
71
35
  2. Run `linear branch <id>` to create a git branch
72
36
  3. Run `linear issue show <id>` to display full context
73
- 4. **Enter plan mode** using the EnterPlanMode tool
74
-
75
- This ensures every issue starts with a proper implementation plan before writing code.
37
+ 4. **Enter plan mode** to explore the codebase and design an implementation approach
76
38
 
77
39
  ## If they choose "Product planning"
78
40
 
79
- Start a planning session by asking:
80
-
81
- "What would you like to focus on?"
82
- - Review and prioritize the backlog
41
+ Ask what they want to focus on:
42
+ - Review and prioritize backlog
83
43
  - Brainstorm new features
84
44
  - Plan the next phase
85
- - Something specific
86
45
 
87
- Then follow the product-planning skill guidelines to facilitate the session.
46
+ Then follow the product-planning skill guidelines.
88
47
 
89
48
  ## Notes
90
49
 
91
50
  - Always use long flags (--unblocked, not -u) for clarity
92
51
  - The CLI already sorts your assigned issues first
93
- - If presenting options, use the AskUserQuestion tool for a clean interface
94
52
  - The "Product planning" option ensures there's always something productive to do
@@ -24,10 +24,10 @@ Run `linear standup` to get:
24
24
  ## After Running
25
25
 
26
26
  1. Present the output from `linear standup` to the user
27
- 2. Offer to help with:
28
- - Drafting a standup message for Slack/Teams
29
- - Identifying what to work on next (suggest `/next`)
30
- - Resolving any blockers
27
+ 2. Ask what they want to do next:
28
+ - Draft standup message (for Slack/Teams)
29
+ - Find next issue (run /next)
30
+ - Resolve blockers
31
31
 
32
32
  ## Example Flow
33
33
 
@@ -52,7 +52,7 @@ Here's your standup summary:
52
52
  - 4 commits on beautiful-tech
53
53
  - PR #42 merged: ISSUE-5: Add caching layer
54
54
 
55
- Would you like me to help draft a standup message, or shall we look at what to work on next?
55
+ [Presents options above]
56
56
  ```
57
57
 
58
58
  ## Notes
@@ -41,18 +41,26 @@ linear login # Interactive setup
41
41
  linear logout # Remove config
42
42
  linear whoami # Show current user/team
43
43
 
44
+ # Roadmap (overview)
45
+ linear roadmap # Projects with milestones and progress
46
+
44
47
  # Issues
45
48
  linear issues --unblocked # Ready to work on (no blockers)
46
49
  linear issues --open # All non-completed issues
50
+ linear issues --backlog # Backlog issues only
47
51
  linear issues --in-progress # Issues currently in progress
48
52
  linear issues --mine # Only your assigned issues
53
+ linear issues --project "Name" # Issues in a project
54
+ linear issues --milestone "M1" # Issues in a milestone
49
55
  linear issues --label bug # Filter by label
50
56
  # Flags can be combined: linear issues --in-progress --mine
51
57
  linear issue show ISSUE-1 # Full details with parent context
52
58
  linear issue start ISSUE-1 # Assign to you + set In Progress
53
59
  linear issue create --title "Fix bug" --project "Phase 1" --assign --estimate M
60
+ linear issue create --title "Task" --milestone "Beta" --estimate S
54
61
  linear issue create --title "Blocked task" --blocked-by ISSUE-1
55
62
  linear issue update ISSUE-1 --state "In Progress"
63
+ linear issue update ISSUE-1 --milestone "Beta"
56
64
  linear issue update ISSUE-1 --append "Notes..."
57
65
  linear issue update ISSUE-1 --blocks ISSUE-2 # Add blocking relation
58
66
  linear issue close ISSUE-1
@@ -65,6 +73,19 @@ linear project show "Phase 1" # Details with issues
65
73
  linear project create "Name" --description "..."
66
74
  linear project complete "Phase 1"
67
75
 
76
+ # Milestones
77
+ linear milestones --project "P1" # Milestones in a project
78
+ linear milestone show "Beta" # Details with issues
79
+ linear milestone create "Beta" --project "P1" --target-date 2024-03-01
80
+
81
+ # Reordering (drag-drop equivalent)
82
+ linear projects reorder "P1" "P2" "P3" # Set project order
83
+ linear project move "Urgent" --before "Phase 1" # Move single project
84
+ linear milestones reorder "Alpha" "Beta" --project "P1"
85
+ linear milestone move "Beta" --after "Alpha" --project "P1"
86
+ linear issues reorder ISSUE-1 ISSUE-2 ISSUE-3 # Set issue order
87
+ linear issue move ISSUE-5 --before ISSUE-1 # Move single issue
88
+
68
89
  # Labels
69
90
  linear labels # List all labels
70
91
  linear label create "bug" --color "#FF0000"
@@ -112,6 +133,13 @@ gh pr create --title "ISSUE-5: Add caching layer"
112
133
 
113
134
  ## Workflow Guidelines
114
135
 
136
+ ### Getting oriented
137
+ ```bash
138
+ linear roadmap # See all projects, milestones, progress
139
+ linear issues --project "P1" # Issues in a specific project
140
+ linear issues --milestone "M1" # Issues in a specific milestone
141
+ ```
142
+
115
143
  ### Starting work on an issue
116
144
  ```bash
117
145
  linear issues --unblocked # Find what's ready
@@ -163,6 +191,21 @@ linear issue update ISSUE-2 --append "## Notes\n\nDiscovered X, trying Y approac
163
191
  linear issue comment ISSUE-2 "Found the root cause in auth.ts:142"
164
192
  ```
165
193
 
194
+ ### Organizing with milestones
195
+ Milestones group related issues within a project:
196
+
197
+ ```bash
198
+ # Create milestone for a release
199
+ linear milestone create "Beta" --project "Phase 1" --target-date 2024-03-01
200
+
201
+ # Add issues to milestone
202
+ linear issue create --title "Core feature" --milestone "Beta" --estimate M
203
+ linear issue update ISSUE-5 --milestone "Beta"
204
+
205
+ # Reorder milestones to reflect priority
206
+ linear milestones reorder "Alpha" "Beta" "Stable" --project "Phase 1"
207
+ ```
208
+
166
209
  ### Completing a phase
167
210
  ```bash
168
211
  linear issue close ISSUE-7 # Close remaining issues
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: product-planning
3
+ description: Facilitate product thinking and structure work in Linear.
4
+ ---
5
+
6
+ # Product Planning
7
+
8
+ Help users think through product ideas and structure them as actionable work in Linear.
9
+
10
+ ## Mindset
11
+
12
+ - **Thought partner, not ticket factory** - Understand before creating issues
13
+ - **Problem before solution** - What problem? For whom? How painful?
14
+ - **Default to smaller** - Cut scope ruthlessly, defer the non-essential
15
+ - **Incremental delivery** - Ship value early, learn, iterate
16
+
17
+ ## Style
18
+
19
+ Like Jason Fried without swearing. Concise, simple wording. Short back-and-forth dialog over long answers. Casual.
20
+
21
+ ## Start: Gather Context
22
+
23
+ ```bash
24
+ linear roadmap # Projects, milestones, progress
25
+ linear issues --open # Active work
26
+ ```
27
+
28
+ Read `product.md` if it exists—contains product vision, brand, tech decisions, prior planning context.
29
+
30
+ ## Process
31
+
32
+ ### 1. Explore the Problem
33
+
34
+ Before solutions:
35
+ - What problem? For whom? How painful?
36
+ - What job is the user hiring this product/feature to do?
37
+ - What happens if we don't solve it?
38
+ - What constraints? (time, tech, dependencies)
39
+ - What's uncertain or risky?
40
+
41
+ Proactively search the web when exploring unfamiliar territory (competitors, market, technical approaches).
42
+
43
+ ### 2. Design the Solution
44
+
45
+ - What approaches exist? Tradeoffs?
46
+ - What's the riskiest assumption to test first?
47
+ - What's the **simplest version** that delivers value?
48
+ - What can wait for later?
49
+ - How will users discover and use this? What's prominent vs. hidden?
50
+
51
+ Cut scope aggressively—except for core/differentiating features where polish and detail set you apart.
52
+
53
+ For technical work, explore the existing codebase first to understand patterns and architecture.
54
+
55
+ ### 3. Structure the Work
56
+
57
+ **Sizing:** XS/S/M = single issue, < 1 day. L/XL = needs breakdown.
58
+
59
+ ```bash
60
+ # Parent issue (the goal)
61
+ linear issue create --title "User auth system" --estimate L --project "Phase 2"
62
+
63
+ # Sub-issues (the steps)
64
+ linear issue create --title "Design auth flow" --parent ISSUE-10 --estimate S
65
+ linear issue create --title "Implement login" --parent ISSUE-10 --estimate M
66
+ linear issue create --title "Add sessions" --parent ISSUE-10 --blocked-by ISSUE-11 --estimate M
67
+ ```
68
+
69
+ ### 4. Organize
70
+
71
+ **Milestones** for phases within a project:
72
+ ```bash
73
+ linear milestone create "Beta" --project "Phase 2" --target-date 2024-03-01
74
+ linear issue create --title "Core feature" --milestone "Beta" --estimate M
75
+ ```
76
+
77
+ **Dependencies** make `--unblocked` useful:
78
+ ```bash
79
+ linear issue create --title "Need API credentials" --blocks ISSUE-5
80
+ ```
81
+
82
+ ### 5. Prioritize
83
+
84
+ ```bash
85
+ linear projects reorder "Phase 1" "Phase 2" "Phase 3"
86
+ linear milestones reorder "Alpha" "Beta" --project "Phase 2"
87
+ linear issue move ISSUE-5 --before ISSUE-1
88
+ ```
89
+
90
+ ## Update product.md
91
+
92
+ After planning, update `product.md` with any new or refined:
93
+ - Product vision, problem statement, target users
94
+ - Brand voice or positioning
95
+ - Technical architecture decisions
96
+ - Key decisions made and rationale
97
+ - Deferred items and why
98
+
99
+ Create the file if it doesn't exist. Keep it concise.
100
+
101
+ ## Session Summary
102
+
103
+ Track progress throughout the session, then summarize:
104
+
105
+ 1. **Created** - Issues/milestones with IDs
106
+ 2. **Decided** - Key decisions and rationale
107
+ 3. **Deferred** - What we cut (and why)
108
+ 4. **Next** - `linear issues --unblocked`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dabble/linear-cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Linear CLI with unblocked issue filtering, built for AI-assisted development",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,136 +0,0 @@
1
- ---
2
- name: product-planning
3
- description: Help with product planning, feature brainstorming, and backlog management using Linear.
4
- allowed-tools: Bash(linear:*), Bash(curl:*)
5
- ---
6
-
7
- # Product Planning Skill
8
-
9
- Help the developer think through product direction, brainstorm features, and manage their Linear backlog.
10
-
11
- ## When to Use This Skill
12
-
13
- Use this skill when the developer wants to:
14
- - Brainstorm new features or improvements
15
- - Review and prioritize the backlog
16
- - Break down large ideas into actionable issues
17
- - Plan a new phase or milestone
18
- - Think through product strategy
19
-
20
- ## Approach
21
-
22
- ### 1. Understand Current State
23
-
24
- First, gather context:
25
-
26
- ```bash
27
- # See all open issues (backlog + in progress, excludes completed)
28
- linear issues --open
29
-
30
- # See active projects/phases
31
- linear projects
32
- ```
33
-
34
- ### 2. Facilitate Discussion
35
-
36
- Ask good questions to help clarify thinking:
37
-
38
- - "What problem are we trying to solve?"
39
- - "Who benefits from this feature?"
40
- - "What's the simplest version that would be valuable?"
41
- - "What are the dependencies or blockers?"
42
- - "How does this fit with the current phase?"
43
-
44
- ### 3. Break Down Ideas
45
-
46
- When a feature is identified, help break it into Linear issues:
47
-
48
- **For small features (S/M):**
49
- - Create a single issue with clear acceptance criteria
50
- - Assign appropriate estimate
51
-
52
- **For large features (L/XL):**
53
- - Create a parent issue describing the overall goal
54
- - Break into sub-issues, each S or M sized
55
- - Identify dependencies between sub-issues
56
-
57
- ```bash
58
- # Create parent issue
59
- linear issue create --title "User authentication system" --estimate L --project "Phase 2"
60
-
61
- # Create sub-issues
62
- linear issue create --title "Design auth flow" --parent ISSUE-10 --estimate S
63
- linear issue create --title "Implement login endpoint" --parent ISSUE-10 --estimate M
64
- linear issue create --title "Add session management" --parent ISSUE-10 --estimate M --blocked-by ISSUE-12
65
- ```
66
-
67
- ### 4. Organize Into Phases
68
-
69
- If planning a new phase:
70
-
71
- ```bash
72
- # Create the phase
73
- linear project create "Phase 3: User Dashboard" --description "Build the main user-facing dashboard with key metrics"
74
-
75
- # Add issues to it
76
- linear issue create --title "Dashboard layout" --project "Phase 3" --estimate M
77
- ```
78
-
79
- ## Brainstorming Prompts
80
-
81
- When the developer is stuck, try these prompts:
82
-
83
- **For new features:**
84
- - "What do users complain about most?"
85
- - "What manual process could we automate?"
86
- - "What would make you excited to use this product?"
87
-
88
- **For improvements:**
89
- - "Where do users get confused?"
90
- - "What takes too long?"
91
- - "What breaks most often?"
92
-
93
- **For prioritization:**
94
- - "What would have the biggest impact with the least effort?"
95
- - "What's blocking other work?"
96
- - "What do users ask for most?"
97
-
98
- ## Output Format
99
-
100
- After a planning session, summarize:
101
-
102
- 1. **New issues created** - List with IDs and estimates
103
- 2. **Backlog changes** - Any reprioritization or updates
104
- 3. **Next steps** - What to work on next
105
- 4. **Open questions** - Things that need more thought
106
-
107
- ## Example Session
108
-
109
- ```
110
- Developer: "I want to add user notifications"
111
-
112
- Claude: Let me check the current state...
113
- [runs linear issues --all]
114
-
115
- Good context. A few questions:
116
- 1. What triggers notifications? (events, mentions, etc.)
117
- 2. Where do they appear? (in-app, email, push?)
118
- 3. Is this blocking other work?
119
-
120
- Developer: "Just in-app for now, triggered by comments on their issues"
121
-
122
- That's a nicely scoped M-sized feature. Let me create it:
123
- [runs linear issue create --title "In-app notifications for issue comments" --estimate M --project "Phase 2"]
124
-
125
- Created ISSUE-15. Should I break this down further, or is it small enough to tackle as one unit?
126
- ```
127
-
128
- ## Integration with /next
129
-
130
- When invoked from the `/next` command (user chose "product planning"), start by asking:
131
-
132
- "What would you like to focus on today?"
133
- - Review and prioritize the backlog
134
- - Brainstorm new features
135
- - Plan the next phase
136
- - Something specific (let them describe)