名称: linear
描述: 查询和管理 Linear 的事项、项目及团队工作流。
主页: https://linear.app
元数据: {"clawdis":{"emoji":"📊","requires":{"env":["LINEAR_API_KEY"]}}}
管理事项、查看项目状态,并随时掌握团队工作进展。
export LINEAR_API_KEY="你的API密钥"
# 可选:为需要团队的命令设置默认团队标识
export LINEAR_DEFAULT_TEAM="TEAM"
查找团队标识:
{baseDir}/scripts/linear.sh teams
如果设置了 LINEAR_DEFAULT_TEAM,在 team 参数中可省略团队标识,并直接调用:
{baseDir}/scripts/linear.sh create "标题" ["描述"]
# 我的工作
{baseDir}/scripts/linear.sh my-issues # 分配给你的所有事项
{baseDir}/scripts/linear.sh my-todos # 仅你的待办事项
{baseDir}/scripts/linear.sh urgent # 查看团队中所有紧急/高优先级事项
# 浏览
{baseDir}/scripts/linear.sh teams # 列出可用团队
{baseDir}/scripts/linear.sh team <TEAM_KEY> # 获取指定团队的所有事项
{baseDir}/scripts/linear.sh project <项目名> # 查看项目中的事项
{baseDir}/scripts/linear.sh issue <TEAM-123> # 获取事项详情
{baseDir}/scripts/linear.sh branch <TEAM-123> # 获取对应的 GitHub 分支名
# 操作
{baseDir}/scripts/linear.sh create <TEAM_KEY> "标题" ["描述"]
{baseDir}/scripts/linear.sh comment <TEAM-123> "评论内容"
{baseDir}/scripts/linear.sh status <TEAM-123> <todo|progress|review|done|blocked>
{baseDir}/scripts/linear.sh assign <TEAM-123> <用户名>
{baseDir}/scripts/linear.sh priority <TEAM-123> <urgent|high|medium|low|none>
# 概览
{baseDir}/scripts/linear.sh standup # 每日站会摘要
{baseDir}/scripts/linear.sh projects # 所有项目及其进度
{baseDir}/scripts/linear.sh standup
显示内容:你的待办事项、团队中受阻的事项、最近完成的事项以及处于评审状态的事项。
{baseDir}/scripts/linear.sh create TEAM "修复认证超时错误" "用户5分钟后被自动登出"
{baseDir}/scripts/linear.sh urgent # 查看需要关注的事项
始终使用 Linear 生成的分支名,以实现自动化的议题状态跟踪。
{baseDir}/scripts/linear.sh branch TEAM-212
# 返回:dev/team-212-fix-auth-timeout-bug
# 1. 从 Linear 获取分支名
BRANCH=$({baseDir}/scripts/linear.sh branch TEAM-212)
# 2. 首先拉取最新的 main 分支(main 分支应始终与 origin 保持一致)
cd /path/to/repo
git checkout main && git pull origin main
# 3. 基于 origin/main 创建该分支的工作树
git worktree add .worktrees/team-212 -b "$BRANCH" origin/main
cd .worktrees/team-212
# 4. 进行工作、提交、推送
git push -u origin "$BRANCH"
⚠️ 切勿在 main 分支上直接修改文件。 所有更改都应在工作树中进行。
# 完整工作流示例
ISSUE="TEAM-212"
BRANCH=$({baseDir}/scripts/linear.sh branch $ISSUE)
# 始终从最新的 main 分支开始
cd ~/workspace/your-repo
git checkout main && git pull origin main
# 创建工作树(位于 .worktrees/ 目录下)
git worktree add .worktrees/${ISSUE,,} -b "$BRANCH" origin/main
cd .worktrees/${ISSUE,,}
# ... 进行修改 ...
git add -A && git commit -m "fix: implement $ISSUE"
git push -u origin "$BRANCH"
gh pr create --title "$ISSUE: <标题>" --body "Closes $ISSUE"
| 等级 | 数值 | 适用场景 |
|---|---|---|
| urgent | 1 | 生产环境问题、阻塞项 |
| high | 2 | 本周、重要事项 |
| medium | 3 | 当前冲刺/周期内 |
| low | 4 | 锦上添花型需求 |
| none | 0 | 待办清单、远期规划 |
团队标识和 ID 通过 API 发现,并在首次查找后缓存于本地。
使用 linear.sh teams 可刷新并列出可用团队。
LINEAR_API_KEY 环境变量TEAM-123灵感来源于 Peter Schilling 的 schpet/linear-cli (ISC License)。
本项目是为 Clawdbot 集成而独立实现的 bash 版本。