Linear CLI 开发者(智能路由器)
目的
使用 linctl CLI 进行Linear问题跟踪的上下文感知路由。替代Linear MCP工具,提供更快、更可靠命令行操作。
参考仓库: https://github.com/dorkitude/linctl
当自动激活时
- 处理Linear问题、项目或发布时
- 关键词:linear、issue、linctl、IOS-XXXX、release task、sprint、cycle
为什么选择linctl而不是MCP?
- 更可靠:直接CLI调用vs MCP服务器通信
- 上下文更少:更简单的命令语法vs冗长的MCP工具定义
- 更快:无MCP开销
- 为AI代理优化:专为AI代理设计,提供
--json输出
安装
brew tap dorkitude/linctl
brew install linctl
linctl auth # 交互式认证
关键规则
- 始终使用
--json标志以进行结构化输出解析
- 使用问题标识符(IOS-XXXX)而不是UUID用于面向用户的引用
- 默认过滤器排除旧/已完成项 - 需要时使用
--newer-than all_time和--include-completed
- 限制结果 - 默认为50项,使用
--limit处理大型数据集
快速参考
问题命令
| 任务 |
命令 |
| 获取问题详情 |
linctl issue get IOS-1234 --json |
| 列出我的问题 |
linctl issue list --assignee me --json |
| 列出团队问题 |
linctl issue list --team iOS --json |
| 搜索问题 |
linctl issue search "query" --json |
| 创建问题 |
linctl issue create --title "Title" --team iOS --json |
| 更新问题 |
linctl issue update IOS-1234 --state "Done" --json |
| 分配给自己 |
linctl issue assign IOS-1234 |
项目命令
| 任务 |
命令 |
| 列出项目 |
linctl project list --json |
| 获取项目 |
linctl project get <project-id> --json |
| 按团队过滤 |
linctl project list --team iOS --json |
团队命令
| 任务 |
命令 |
| 列出团队 |
linctl team list --json |
| 获取团队 |
linctl team get iOS --json |
| 团队成员 |
linctl team members iOS --json |
用户命令
| 任务 |
命令 |
| 当前用户 |
linctl whoami --json |
| 列出用户 |
linctl user list --json |
| 获取用户 |
linctl user get email@example.com --json |
评论命令
| 任务 |
命令 |
| 列出评论 |
linctl comment list IOS-1234 --json |
| 添加评论 |
linctl comment create IOS-1234 --body "Comment text" |
周期命令
| 任务 |
命令 |
| 当前周期 |
linctl cycle list --team iOS --type current --json |
常见工作流
获取任务分支名称
# 替代:mcp__linear-server__list_issues(query: "IOS-1234")
linctl issue get IOS-1234 --json | jq -r '.gitBranchName'
发布任务层次结构(用于 /impact_linear)
# 步骤1:获取发布任务
linctl issue get IOS-5467 --json
# 步骤2:获取子任务(需要步骤1中的UUID)
linctl issue list --parent-id <uuid> --json --include-completed
# 步骤3:获取史诗子任务(对每个史诗UUID重复)
linctl issue list --parent-id <epic-uuid> --json --include-completed
列出所有Sprint问题
linctl issue list --team iOS --cycle current --json
按状态过滤
linctl issue list --state "In Progress" --json
linctl issue list --state "Done" --include-completed --json
MCP到linctl迁移表
| MCP工具 |
linctl等价命令 |
mcp__linear-server__get_issue(id) |
linctl issue get <id> --json |
mcp__linear-server__list_issues(...) |
linctl issue list [filters] --json |
mcp__linear-server__create_issue(...) |
linctl issue create [options] |
mcp__linear-server__update_issue(...) |
linctl issue update <id> [options] |
mcp__linear-server__list_comments(issueId) |
linctl comment list <id> --json |
mcp__linear-server__create_comment(...) |
linctl comment create <id> --body "..." |
mcp__linear-server__list_teams |
linctl team list --json |
mcp__linear-server__get_team(query) |
linctl team get <key> --json |
mcp__linear-server__list_projects |
linctl project list --json |
mcp__linear-server__get_project(query) |
linctl project get <id> --json |
mcp__linear-server__list_users |
linctl user list --json |
mcp__linear-server__get_user(query) |
linctl user get <email> --json |
mcp__linear-server__list_cycles(...) |
linctl cycle list --team <key> --json |
优先级值
| 优先级 |
名称 |
| 0 |
无 |
| 1 |
紧急 |
| 2 |
高 |
| 3 |
正常(默认) |
| 4 |
低 |
时间过滤器(--newer-than)
all_time - 无过滤
6_months_ago - 默认
1_month_ago
1_week_ago
- ISO-8601日期
输出格式
--json - 结构化JSON(推荐用于代理)
--plaintext - Markdown格式化
- 默认:表格格式
常见错误
忘记–json
# 错误 - 表格输出,难以解析
linctl issue get IOS-1234
# 正确 - 结构化JSON
linctl issue get IOS-1234 --json
缺少–include-completed
# 错误 - 遗漏已完成/取消项
linctl issue list --newer-than all_time --json
# 正确 - 包括所有状态
linctl issue list --newer-than all_time --include-completed --json
在面向用户输出中使用UUID
# 错误 - UUID是内部的
"Task: cab796c7-b58d-4876-b1a4-cc9f39da1431"
# 正确 - 标识符可读
"Task: IOS-5467"
相关技能与文档
- cpp → 使用Linear获取分支名称
- impact_linear → 使用Linear收集发布上下文
- designReview → 使用Linear获取问题上下文
导航:这是一个智能路由器。CLI详情见:https://github.com/dorkitude/linctl