Skip to content

Commit 8434f97

Browse files
committed
chore: Update to README and publish 0.24.1
1 parent 171ec3e commit 8434f97

File tree

4 files changed

+5859
-1787
lines changed

4 files changed

+5859
-1787
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212
- **CLI commands**: Both `agent2linear` and `a2l` (short alias) are now available
1313
- **Repository**: Moved to https://github.com/smorin/agent2linear
1414
- **npm package**: Published as `agent2linear` for better discoverability
15+
- **Publishing**: Added `np` for automated releases (`npm run release`)
16+
- **License**: Added MIT license file for npm compliance
1517
- All documentation and examples updated to reflect new naming
1618

1719
### Added - Issue Commands Complete (M15)

README.md

Lines changed: 259 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,172 @@
22

33
Command-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
12148
npm 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
18159
npx 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
8841120
See [MILESTONES.md](./MILESTONES.md) for detailed project milestones and progress.

0 commit comments

Comments
 (0)