← setup-matt-pocock-skills · 技能图谱

Issue tracker: GitLab

此仓库的 Issue 和 PRD 存放在 GitLab Issues 中。所有操作使用 glab CLI。

Issues and PRDs for this repo live as GitLab issues. Use the glab CLI for all operations.

此仓库的 Issue 和 PRD 存放在 GitLab Issues 中。所有操作使用 glab CLI。

Conventions

约定

  • Create an issue: glab issue create --title "..." --description "...". Use a heredoc for multi-line descriptions. Pass --description - to open an editor.
  • Read an issue: glab issue view <number> --comments. Use -F json for machine-readable output.
  • List issues: glab issue list -F json with appropriate --label filters.
  • Comment on an issue: glab issue note <number> --message "...". GitLab calls comments "notes".
  • Apply / remove labels: glab issue update <number> --label "..." / --unlabel "...". Multiple labels can be comma-separated or by repeating the flag.
  • Close: glab issue close <number>. glab issue close does not accept a closing comment, so post the explanation first with glab issue note <number> --message "...", then close.
  • Merge requests: GitLab calls PRs "merge requests". Use glab mr create, glab mr view, glab mr note, etc. — the same shape as gh pr ... with mr in place of pr and note/--message in place of comment/--body.
  • 创建 Issueglab issue create --title "..." --description "..."。多行描述使用 heredoc。传入 --description - 打开编辑器。
  • 读取 Issueglab issue view <number> --comments。使用 -F json 获取机器可读输出。
  • 列出 Issueglab issue list -F json,配合适当的 --label 过滤器。
  • 评论 Issueglab issue note <number> --message "..."。GitLab 将评论称为"notes"。
  • 应用 / 移除标签glab issue update <number> --label "..." / --unlabel "..."。多个标签可以用逗号分隔或重复该标志。
  • 关闭glab issue close <number>glab issue close 不接受关闭评论,因此先用 glab issue note <number> --message "..." 发布说明,然后关闭。
  • Merge request:GitLab 将 PR 称为"merge request"。使用 glab mr createglab mr viewglab mr note 等——与 gh pr ... 结构相同,用 mr 替代 pr,用 note/--message 替代 comment/--body

Infer the repo from git remote -vglab does this automatically when run inside a clone.

git remote -v 推断仓库——glab 在克隆目录内运行时会自动执行此操作。

Merge requests as a triage surface

Merge request 作为分诊入口

MRs as a request surface: no. (Set to yes if this repo treats external merge requests as feature requests; /triage reads this flag.)

MR 作为请求入口:否。(如果此仓库将外部 merge request 视为功能请求,则设为 yes/triage 会读取此标志。)

When set to yes, MRs run through the same labels and states as issues, using the glab mr equivalents:

设为 yes 时,MR 使用 glab mr 的等效命令,经过与 Issue 相同的标签和状态流转:

  • Read an MR: glab mr view <number> --comments and glab mr diff <number> for the diff.
  • List external MRs for triage: glab mr list -F json, then keep only MRs whose author is not a project member/owner (a contributor's MR, not a maintainer's in-flight work).
  • Comment / label / close: glab mr note, glab mr update --label/--unlabel, glab mr close.
  • 读取 MRglab mr view <number> --commentsglab mr diff <number> 查看差异。
  • 列出外部 MR 进行分诊glab mr list -F json,然后仅保留作者不是项目成员/所有者的 MR(贡献者的 MR,而非维护者正在进行的工作)。
  • 评论 / 标签 / 关闭glab mr noteglab mr update --label/--unlabelglab mr close

Unlike GitHub, GitLab numbers issues and MRs separately, so #42 is unambiguous once you know which surface the maintainer means.

与 GitHub 不同,GitLab 对 Issue 和 MR 分别编号,因此一旦你知道维护者指的是哪个入口,#42 就是明确的。

When a skill says "publish to the issue tracker"

当技能说"发布到 Issue 跟踪器"

Create a GitLab issue.

创建一个 GitLab Issue。

When a skill says "fetch the relevant ticket"

当技能说"获取相关工单"

Run glab issue view <number> --comments.

运行 glab issue view <number> --comments

Wayfinding operations

导航操作

Used by /wayfinder. The map is a single issue with child issues as tickets.

/wayfinder 使用。地图是一个单独的 Issue,以 Issue 作为工单。

  • Map: a single issue labelled wayfinder:map, holding the Notes / Decisions-so-far / Fog body. glab issue create --label wayfinder:map. (On GitLab tiers with native epics, an epic may hold the map instead; a labelled issue works everywhere.)
  • Child ticket: an issue carrying Part of #<map> at the top of its description and labels wayfinder:<type> (research/prototype/grilling/task), plus wayfinder:claimed once claimed.
  • Blocking: GitLab's native /blocked_by #<n> quick action (or a Blocked by: #<n>, #<n> line in the description as fallback). A ticket is unblocked when every issue it lists is closed.
  • Frontier query: glab issue list -F json scoped to the map's children, drop any with an open blocker or the wayfinder:claimed label; first in map order wins.
  • Claim: glab issue update <n> --label wayfinder:claimed — the session's first write.
  • Resolve: glab issue note <n> --message "<answer>", then glab issue close <n>, then append a context pointer (gist + link) to the map's Decisions-so-far.
  • 地图:一个标记为 wayfinder:map 的 Issue,包含 Notes / Decisions-so-far / Fog 正文。glab issue create --label wayfinder:map。(在支持原生 epic 的 GitLab 版本中,epic 可以代替承载地图;标记的 Issue 在所有版本中都可用。)
  • 子工单:在描述顶部带有 Part of #<map> 的 Issue,标签为 wayfinder:<type>research/prototype/grilling/task),加上认领后的 wayfinder:claimed
  • 阻塞:GitLab 原生的 /blocked_by #<n> 快速操作(或描述中的 Blocked by: #<n>, #<n> 行作为回退)。当其列出的每个 Issue 都关闭时,工单即解除阻塞。
  • 前沿查询glab issue list -F json 限定在地图的子 Issue 范围内,丢弃任何有开放阻塞或 wayfinder:claimed 标签的;按地图顺序第一个胜出。
  • 认领glab issue update <n> --label wayfinder:claimed——会话的第一次写入。
  • 解决glab issue note <n> --message "<answer>",然后 glab issue close <n>,然后将上下文指针(gist + 链接)追加到地图的 Decisions-so-far。