最終更新: 2026/06/22 18:56
CI Lint スコープマップ
役割: PR で走る lint/CI チェックを CI ジョブ × 発火 scope(path filter)× 中身で俯瞰する一覧。 「この PR では何個 lint が走るべきか」を scope から逆算し、
gh pr checksの部分リストを all-pass と誤認しないための索引。 各 lint のルール詳細は個別リファレンス(adr-lint_rules / frontmatter-lint_rules / nav-lint-guide / prompt-lint_rules / dev-spec-lint_rules)を正典とする。本書はどれがいつ走るかの地図に徹する。
1. doc 系 lint 4 系統(+ ビルド)
| CI チェック名 | ワークフロー | 発火 scope(paths) | 中身 |
|---|---|---|---|
| adr-lint | adr-lint.yml | docs/** / scripts/adr-lint.mjs | docs/adr/ に 20 ルール(numbered-header / context-section / no-placeholder-marker / cost-estimation-section / rollback-has-quantity / confirmation-has-kpi / references-section 等)+ サブ検査 4 種(--check-frontmatter / --check-legacy-dirs / --count-domains / --check-template-exists)。ルール詳細 → adr-lint_rules |
| adr-lint-doc-consistency (表示名: consistency) | adr-lint-doc-consistency.yml | scripts/adr-lint*.mjs / adr-lint_rules.md(+/rules/**) / frontmatter-lint_rules.md / docs/_meta/templates/** / docs/adr/** | lint コード ↔ doc ルールの双方向同期検査。ALLOWED_TYPES / ALLOWED_STATUSES が frontmatter-lint_rules.md §6/§7 と一致するか等。enum 拡張時はここが要(コードと doc を同一 PR で変える) |
| docs-nav-lint | docs-nav-lint.yml | docs/** / .claude/skills/** / scripts/docs-nav-lint.mjs ほか | 1 ジョブで 3 lint を実行: ① docs-nav-lint(nav 登録漏れ・nav title↔H1 一致 / ADR-0070・ガイド)② skill-staleness-lint(Skill の last_verified 鮮度)③ tier-a-header-lint(Tier A 概要ページ冒頭ブロック 2 種 / ADR-0114) |
| markdown-link-check (表示名: Check Markdown links) | markdown-link-check.yml | docs/adr/**.md + CLAUDE.md のみ | dead link 検出。発火すると check-modified-files-only で変更 .md 全体を走査(ADR 以外の変更 .md も巻き込む) |
| Cloudflare Pages | (Pages 連携) | 全 PR | docs サイトの preview deploy ビルド |
2. scope 別「実際に走る数」
path filter があるため、PR が触るパスで発火するジョブ数が変わる。
| PR が触るパス | 走る CI(doc 系) | 個数 |
|---|---|---|
docs/_internal/** のみ(例: backfill・how-to 追記) | adr-lint / docs-nav-lint / Pages | 常時 3 |
docs/adr/**.md を含む(ADR 本体・Corrigendum) | 上記 3 + consistency + markdown-link-check | 5 |
enum/ルール doc(frontmatter-lint_rules.md / adr-lint_rules.md / templates) | 上記に consistency が追加 | — |
CLAUDE.md | markdown-link-check が追加 | — |
.claude/skills/** | docs-nav-lint(skill-staleness 含む)が追加 | — |
落とし穴:
gh pr checksの空リスト / 部分リスト ≠ all pass。未発火の path filter があるため、「何個走るべきか」を本表で逆算してから判定する。docs/_internal/**単独 PR は「常時 3(adr-lint / docs-nav-lint / Pages)が all green」が正。 落とし穴: markdown-link-check はdocs/adr/**.md変更で発火し変更 .md 全体を走査するため、ADR を 1 つでも含む PR では無関係な doc の既存 dead link まで拾われる。
3. doc 以外の lint(別 scope・参考)
| lint | scope | 担当 |
|---|---|---|
prompt-meta-lint | prompt_eval.yml(prompts/ 系) | プロンプト frontmatter |
decision-pipeline-graph-check / -test / -workflows-api-assert | drp/** | DRP worker(main 領分) |
dev-spec-lint(rules) | 開発仕様書 | spec パイプライン |
4. 保守
- lint ワークフローの path filter / ジョブ構成を変える PR では本書の表を同期する。
- 新しい lint ジョブを足したら §1 と §2 の両方に行を追加する。
- 個別ルールの増減は各リファレンス(§冒頭リンク)側が正典。本書はルール名の列挙に留め、件数のみ追従する。