SuperAPI AI 工具集

linear

编程与开发

查看项目

更新于 10-15 22:14

技能介绍

用途:通过 linearcli 处理日常 issue 工作,通过 GraphQL 辅助脚本处理其余操作。两种方式均无 Linear MCP,不要索要或粘贴密钥。

凭据:来自环境变量,或当前仓库根目录的 .env。默认工作区用 LINEAR_API_KEY,其他工作区各用 LINEAR_API_KEY_<WORKSPACE>。工作区与团队前缀的对应关系以用户自己的说明为准,不得从邮箱、项目或 issue 前缀推断。两处都没有该变量时,说明是哪一个并停止;绝不打印密钥或将其写入文件、命令参数。

GraphQL:scripts/graphql 从环境或根 .env 读取 LINEAR_API_KEY,不从参数读取,将标准输入的完整 GraphQL JSON 请求 POST 到 https://api.linear.app/graphql。切换工作区时可为该子进程重新指向变量,例如:printf '%s' '{"query":"query { viewer { name } }"}' | scripts/graphql;LINEAR_API_KEY="$(python3 scripts/read-credential.py LINEAR_API_KEY_OTHER)" scripts/graphql < request.json。

CLI:linearcli(npm @howells/linearcli)在路径上时,用于列出、读取、搜索、创建、更新和评论 issue,返回 {ok, data, error, command} 信封的 JSON。它只读环境,需通过辅助脚本传入密钥(该脚本也检查根 .env)。示例:LINEAR_API_KEY="$(python3 scripts/read-credential.py LINEAR_API_KEY)" linearcli issues --team ENG --state "In Progress" --fields identifier,title,assignee;linearcli issue OPS-42 --comments;linearcli create --json '{"title":"Fix login redirect","team":"ENG","priority":2}' --dry-run。列表始终传 --fields,写入用 --json,创建、更新或评论前先 --dry-run。linearcli schema 列出命令;未覆盖的关系、批量编辑、自定义查询走 GraphQL。

选择账号:尊重用户明确指定的账号;对 issue 标识、团队或项目使用文档化映射;前缀未列出时,对各已配置工作区做小型只读查询,用包含它的那个。多个工作区都包含可能目标时说明;只读可逐个检查,写入目标仍不明确时先询问。无目标请求(如“check Linear”)优先用仓库文档化的团队或 issue 前缀,否则先列出相关团队再选。读取在服务请求时允许;创建、更新、关闭或评论仅在用户要求该变更时执行。

限制:辅助脚本需要 Python 3。scripts/read-credential.py 从环境或根 .env 取凭据,要求非空单行值。scripts/check-response.py 保留响应,对 GraphQL 错误、无效数据或明确的变更失败以非零退出。声称成功前检查返回实体;结果不确定时不要自动重试变更,先核对当前状态。