Skip to content

shhac/lin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lin

Linear CLI for humans and LLMs.

  • Structured JSON output — all output is JSON to stdout, errors to stderr
  • LLM-optimizedlin usage prints concise docs in <1,000 tokens
  • Zero runtime deps — single compiled binary via bun build --compile
  • Smart IDs — accepts issue keys (ENG-123), UUIDs, or URL fragments

Website: lin.paulie.app

Installation

brew install shhac/tap/lin

Claude Code / AI agent skill

npx skills add shhac/lin

This installs the lin skill so Claude Code (and other AI agents) can discover and use lin automatically. See skills.sh for details.

Authentication

Generate a personal API key at Settings > Account > Security > Personal API Keys.

Set an env var (recommended for CI / agent use):

export LINEAR_API_KEY="lin_api_..."

Or store it locally:

lin auth login <api-key>
lin auth status

Command map

lin
├── auth
│   ├── login <api-key> [--alias <name>]
│   ├── logout [--all]
│   ├── status
│   └── workspace list|switch|remove
├── project
│   ├── search <text>
│   ├── list [--team] [--status]
│   ├── get <id>
│   ├── issues <id> [filters]
│   ├── new <name> --team <teams>
│   ├── update title|status|description|content|lead|start-date|target-date|priority|icon|color <id> <value>
│   └── usage
├── roadmap
│   ├── list
│   ├── get <id>
│   ├── projects <id>
│   └── usage
├── document
│   ├── search <text>
│   ├── list [--project] [--creator]
│   ├── get <id>
│   ├── new <title> [--project] [--content]
│   ├── update title|content|project|icon|color <id> <value>
│   └── usage
├── file
│   ├── download <url-or-path> [--output] [--output-dir] [--stdout] [--force]
│   ├── upload <paths...>
│   └── usage
├── issue
│   ├── search <text>
│   ├── list [filters]
│   ├── get <id>
│   ├── new <title> --team <team>
│   ├── update title|status|assignee|priority|project|labels|estimate|description|due-date|cycle|parent <id> <value>
│   ├── comment list|new|get|edit|replies <id> [<body>]
│   ├── relation list|add|remove
│   ├── archive|unarchive|delete <id>
│   ├── attachment list|add|remove
│   └── usage
├── team
│   ├── list
│   ├── get <id>
│   ├── states <team>
│   └── usage
├── user
│   ├── list
│   ├── me
│   └── usage
├── label
│   ├── list
│   └── usage
├── cycle
│   ├── list <team>
│   ├── get <id>
│   └── usage
├── auth
│   └── usage
├── config
│   └── usage
└── usage                          # LLM-optimized docs (<1k tokens)

Each top-level command also has a usage subcommand for detailed, LLM-friendly documentation (e.g., lin issue usage, lin project usage). The top-level lin usage gives a broad overview; per-command usage gives full detail on flags, valid values, and return fields.

Output

  • Lists → JSON arrays
  • Single items → JSON objects
  • Errors → { "error": "message" } to stderr + non-zero exit
  • Empty/null fields are pruned automatically

Filters

Most list/search commands accept:

--team, --status, --assignee, --priority, --label, --cycle, --project, --limit, --cursor

Development

bun install
bun run dev -- --help        # run in dev mode
bun run typecheck             # type check
bun test                      # run tests
bun run lint                  # lint

License

MIT

About

Linear CLI tool for LLM usage

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors