22
33Command-line tool for creating Linear issues and projects with support for initiatives. Designed for AI agents and automation.
44
5+ ---
6+
7+ ## 🎯 Why Aliases? (The Killer Feature)
8+
9+ ** The Problem** : Linear uses UUIDs everywhere. They're impossible to remember and painful for both humans and AI agents.
10+
11+ ** The Solution** : agent2linear lets you use friendly aliases instead of UUIDs.
12+
13+ ### Before vs After
14+
15+ ``` bash
16+ # ❌ Without aliases (UUID Hell)
17+ a2l project create \
18+ --title " Mobile Redesign" \
19+ --team team_9b2e5f8a-c3d1-4e6f-8a9b-2c3d4e5f6a7b \
20+ --initiative init_4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a \
21+ --status status_3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f
22+
23+ # ✅ With aliases (Clean & Readable)
24+ a2l project create \
25+ --title " Mobile Redesign" \
26+ --team mobile \
27+ --initiative q2-product \
28+ --status planned
29+ ```
30+
31+ ### Benefits
32+
33+ ** For Humans:**
34+ - 🧠 ** Memorable** : ` --team backend ` vs ` --team team_9b2e5f8a... `
35+ - 📖 ** Self-documenting** : Commands are readable without looking up IDs
36+ - ⚡ ** Faster** : Type less, work faster
37+
38+ ** For AI Agents (Why this tool exists!):**
39+ - 💭 ** Context persistence** : AI remembers "backend" across conversations, not UUIDs
40+ - 🎯 ** Fewer errors** : Less likely to corrupt "backend" than a 36-character UUID
41+ - 🪙 ** Token efficient** : Aliases save tokens in AI context windows
42+ - 🗣️ ** Natural language** : Maps to how humans describe things
43+
44+ ### What You Can Alias
45+
46+ Create aliases for ** 11 entity types** : ` team ` , ` initiative ` , ` project ` , ` member ` , ` workflow-state ` , ` project-status ` , ` issue-label ` , ` project-label ` , ` issue-template ` , ` project-template ` , ` cycle `
47+
48+ ### Quick Start with Aliases
49+
50+ The setup wizard automatically creates helpful aliases:
51+
52+ ``` bash
53+ a2l setup
54+ # Auto-creates aliases for:
55+ # - Workflow states (todo, in-progress, done, canceled)
56+ # - Project statuses (planned, started, completed, paused)
57+ # - Team members (john-smith, jane-doe)
58+ ```
59+
60+ ** Manual alias management:**
61+
62+ ``` bash
63+ # Add aliases
64+ a2l alias add team backend team_abc123
65+
66+ # Bulk sync (auto-generates from names)
67+ a2l teams sync-aliases
68+
69+ # List aliases
70+ a2l alias list
71+ a2l alias list teams
72+ ```
73+
74+ ** 💡 Learn more** : See the [ Aliases] ( #aliases ) section for full documentation.
75+
76+ ---
77+
78+ ## ⚡ Quick Start (5 minutes)
79+
80+ Get up and running with agent2linear in 3 easy steps:
81+
82+ ### Step 1: Install (or use with npx)
83+
84+ ** Option A: Global Install** (recommended for frequent use)
85+ ``` bash
86+ npm install -g agent2linear
87+ ```
88+
89+ ** Option B: Use with npx** (no installation needed - great for trying it out!)
90+ ``` bash
91+ npx agent2linear --version
92+ ```
93+
94+ Both methods work identically. Examples below use the short alias ` a2l ` for convenience.
95+
96+ ### Step 2: Run the Setup Wizard
97+
98+ ``` bash
99+ agent2linear setup
100+ ```
101+
102+ ** Or with npx:**
103+ ``` bash
104+ npx agent2linear setup
105+ ```
106+
107+ The interactive setup wizard will:
108+ - ✅ Guide you to get your Linear API key → https://linear.app/settings/api
109+ - ✅ Validate your connection to Linear
110+ - ✅ Help you select your default team
111+ - ✅ Optionally create helpful aliases (workflow states, members, project statuses)
112+ - ✅ Walk you through key features with a 7-screen tutorial
113+
114+ ** That's it!** The wizard configures everything for you.
115+
116+ ### Step 3: Start Working
117+
118+ ``` bash
119+ # Create your first issue (auto-assigned to you!)
120+ a2l issue create --title " My first issue"
121+
122+ # List YOUR assigned issues (the default - most common command!)
123+ a2l issue list
124+
125+ # List all issues in your team
126+ a2l issue list --all
127+
128+ # Create a project
129+ a2l project create --title " Q1 Goals"
130+
131+ # Get help anytime
132+ a2l issue create --help
133+ ```
134+
135+ ** 🎉 You're now productive!** Explore the full documentation below for advanced features.
136+
137+ 💡 ** Tip:** The setup wizard created helpful aliases for you. Try ` a2l alias list ` to see them.
138+
139+ ---
140+
5141## Installation
6142
7143### For End Users
8144
9- Install globally via npm :
145+ ** Global Install** (recommended for regular use) :
10146
11147``` bash
12148npm install -g agent2linear
149+
150+ # Verify installation
151+ agent2linear --version
152+ a2l --version
13153```
14154
15- Or use without installing :
155+ ** Use with npx ** (no installation needed) :
16156
17157``` bash
158+ # Try it out without installing
18159npx agent2linear --help
160+ npx agent2linear setup
161+
162+ # Both commands work: agent2linear and a2l
163+ npx agent2linear issue list
19164```
20165
166+ ** Which should you choose?**
167+ - Install globally if you'll use agent2linear frequently
168+ - Use npx for trying it out or one-off usage
169+ - Both methods provide identical functionality
170+
21171### For Development
22172
23173``` bash
@@ -29,41 +179,75 @@ npm run build
29179
30180## Configuration
31181
32- Set your Linear API key as an environment variable:
182+ ### Recommended: Use the Setup Wizard
183+
184+ The easiest way to configure agent2linear is with the interactive setup wizard:
33185
34186``` bash
35- export LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
187+ agent2linear setup
36188```
37189
38- ## Usage
190+ The wizard will:
191+ - Guide you to get your Linear API key from https://linear.app/settings/api
192+ - Let you choose between saving to config file or using an environment variable
193+ - Validate your API key by connecting to Linear
194+ - Help you select your default team interactively
195+ - Optionally create helpful aliases for workflow states, members, and project statuses
196+ - Provide a guided tour of features
39197
40- The CLI is available via two commands:
41- - ` agent2linear ` - Full command name
42- - ` a2l ` - Short alias for convenience
198+ ### Alternative: Manual Configuration
199+
200+ If you prefer manual setup, you can set your Linear API key as an environment variable:
43201
44202``` bash
45- # Show help (both work identically)
46- agent2linear --help
47- a2l --help
203+ export LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
204+ ```
48205
49- # List initiatives (interactive)
50- agent2linear initiatives list
51- a2l initiatives list
206+ Or use the interactive config editor:
52207
53- # Set default initiative
54- agent2linear initiatives set < id>
208+ ``` bash
209+ agent2linear config edit
210+ ```
211+
212+ ** Configuration files:**
213+ - Global: ` ~/.config/agent2linear/config.json `
214+ - Project: ` .agent2linear/config.json `
215+
216+ ** See also:** Run ` agent2linear config --help ` for all configuration options.
217+
218+ ## Usage
55219
56- # Create a project (interactive)
57- agent2linear project create
220+ The CLI provides two command names that work identically:
221+ - ` agent2linear ` - Full command name
222+ - ` a2l ` - Short alias (used in most examples for brevity)
58223
59- # Create a project (non-interactive)
60- agent2linear project create --title " My Project" --description " Description" --state planned
224+ ### Common Commands
61225
62- # Show configuration
63- agent2linear config show
226+ ``` bash
227+ # Get help
228+ a2l --help
229+ a2l issue --help
230+ a2l issue create --help
231+
232+ # Work with issues (most common workflows)
233+ a2l issue list # List YOUR assigned issues
234+ a2l issue list --all # List all team issues
235+ a2l issue create --title " Fix bug" # Create issue (auto-assigned to you)
236+ a2l issue view ENG-123 # View issue details
237+ a2l issue update ENG-123 --state done # Update issue
238+
239+ # Work with projects
240+ a2l project create --title " Q1 Goals" # Create project
241+ a2l project list # List all projects
242+ a2l project view " My Project" # View project by name
243+
244+ # Configuration
245+ a2l config list # Show current config
246+ a2l config edit # Interactive config editor
247+ a2l setup # Run setup wizard again
64248```
65249
66- ** Note ** : All examples below use ` agent2linear ` , but ` a2l ` works identically as a shorter alternative .
250+ ** 💡 Tip: ** Most examples in this README use the short ` a2l ` alias for convenience. You can use ` agent2linear ` anywhere you see ` a2l ` .
67251
68252## Issue Commands
69253
@@ -879,6 +1063,58 @@ npx vitest run --reporter=verbose
8791063 - Lines: 99.04%
8801064- Coverage reports available in ` coverage/` directory after running ` npm run test:coverage`
8811065
1066+ # # Publishing
1067+
1068+ This project uses [np](https://github.com/sindresorhus/np) for automated publishing to npm.
1069+
1070+ ** Prerequisites:**
1071+ - npm account with publish access
1072+ - Logged in: ` npm whoami`
1073+ - Clean git working directory
1074+
1075+ ** Release Process:**
1076+
1077+ ` ` ` bash
1078+ # Interactive release with np (recommended)
1079+ npm run release
1080+
1081+ # np will automatically:
1082+ # 1. Run tests and build (via prepublishOnly)
1083+ # 2. Bump version in package.json
1084+ # 3. Create git tag
1085+ # 4. Push to GitHub
1086+ # 5. Publish to npm
1087+ # 6. Create GitHub release
1088+ ` ` `
1089+
1090+ ** Manual Publishing (not recommended):**
1091+
1092+ ` ` ` bash
1093+ # Ensure everything is ready
1094+ npm run typecheck
1095+ npm run lint
1096+ npm run build
1097+ npm run test
1098+
1099+ # Publish to npm
1100+ npm publish
1101+
1102+ # Tag and push
1103+ git tag v0.24.0
1104+ git push origin main --tags
1105+ ` ` `
1106+
1107+ ** After Publishing:**
1108+
1109+ ` ` ` bash
1110+ # Verify package is available
1111+ npm view agent2linear
1112+
1113+ # Test installation
1114+ npx agent2linear --version
1115+ npx a2l --version
1116+ ` ` `
1117+
8821118# # Project Status
8831119
8841120See [MILESTONES.md](./MILESTONES.md) for detailed project milestones and progress.
0 commit comments