A fast CLI for Linear.
brew install sprouted-dev/tap/lincargo install lin-cligit clone https://github.com/sprouted-dev/lin.git
cd lin
cargo install --path .-
Create a Linear API key.
-
Log in:
lin login <your-api-key>To associate the token with a named workspace:
lin login <your-api-key> --name my-workspacelin issue view ENG-123
lin issue search "bug in auth"
lin issue search "login" --team APP --status "In Progress"
lin issue list --team APP
lin issue list --assignee me --status "In Progress"
lin issue me
lin issue me --status "Todo"
lin issue create "Fix login" --team APP
lin issue create "Fix login" --team APP --assignee me --priority 2
lin issue edit ENG-123 --state "In Progress"
lin issue state ENG-123
lin issue state ENG-123 "Done"
lin issue state ENG-123 --list
lin issue attachments ENG-123lin comment view ENG-123
lin comment add ENG-123 "Looks good"
lin comment edit <comment-id> "Updated comment"lin project list
lin project view "My Project"
lin project create "My Project" --teams APP
lin project edit "My Project" --state started
lin project update list "My Project"
lin project update add "My Project" "Sprint update" --health onTracklin cycle list --team APP
lin cycle active --team APPlin initiative list
lin initiative view <initiative-id>lin team listlin user listlin label list
lin label list --team APP
lin label create "Bug" --team APPlin workspace current
lin workspace list
lin workspace set my-workspaceUse the -w flag to target a specific workspace:
lin -w my-workspace issue view ENG-123Most flags accept human-readable names instead of UUIDs:
--teamaccepts a team name (e.g.,Engineering), key (e.g.,APP), or UUID--assigneeaccepts a user name, email,me, or UUID--projectaccepts a project name or UUID- Issue identifiers like
ENG-123are resolved automatically
Run lin --help for the full command reference.
just setup # configure git hooks
just check # format, lint, test