Skip to content

公開リポジトリにテンプレートの数値の lint を入れて違反を直す #247

Open

Description

@furedea-agent

要約

  • 公開している 5 リポジトリに,テンプレートと同じ数値の lint (引数 3,ネスト 2,複雑度 10,1 ファイル 500 行) を入れ,今ある違反をすべて直す.
  • AGENTS.md から数値の規則を消した (docs(agents): move numeric limits to linters and add mutation testing #231) ので,lint の無いリポジトリでは数値が守られない.非公開の swe-conform と jit-research-preview は対象外.
  • 決めること: なし (会話で合意済み).
flowchart LR
  A["1 段目: furedea.com / effort-or-luck / agent-harness / apple-mail-cli"] -->|手順を固める| B["2 段目: reflex-state"]
  B --> C[各 PR を Codex でレビュー → 人がマージ]
Loading
リポジトリ 言語 違反の目安 (main)
furedea.com TypeScript 5 (複雑度 2,引数 2,ネスト 1)
effort-or-luck TypeScript 約 22 (複雑度 11,引数 4,ネスト 4,500 行超え 3 ファイル)
reflex-state TypeScript 約 157 (複雑度 64,引数 22,ネスト 62,500 行超え 9 ファイル)
agent-harness Rust 未計測 (clippy はビルドが要るため,レーンで数える)
apple-mail-cli Rust 未計測 (同上)

受け入れ条件

  • 5 リポジトリそれぞれで,テンプレート (template-typescript / template-rust) と同じ数値の規則が lint の設定と lefthook (file-length) に入っている
  • 違反が 0 件.理由のない無効化 (oxlint-disable,#[allow] など) で逃げていない.やむを得ないものは理由つきで人が判断する
  • 振る舞いを変えない分割にとどめ,既存のテストと CI が通る
  • 各 PR を Codex のレビューにかけてからマージする
範囲・除外・前提
  • 範囲: furedea.com,effort-or-luck,reflex-state,agent-harness,apple-mail-cli の lint 設定,lefthook.yml,違反のあるソース.
  • 除外: 非公開の swe-conform と jit-research-preview.テンプレート側の変更.
  • 前提: 開始は fix(agents): stop asking for commands the hooks can prove safe #242 の後.公開リポジトリなので,コードとコメントとコミットメッセージは英語.
  • 数え方: TypeScript は template-typescript の .oxlintrc.json の数値の規則を main に当てて数えた.

Activity

  1. furedea-agent commented on Oct 19, 2026

    @furedea-agent
    ContributorAuthor

    計画

    リポジトリごとに 1 レーン.1 段目の 4 つを並列で進め,そこで分かった注意点を 2 段目の reflex-state に渡す.

    段 レーン リポジトリ ブランチ
    1 lint-site furedea.com refactor/apply-numeric-lint
    1 lint-eol effort-or-luck refactor/apply-numeric-lint
    1 lint-ah agent-harness refactor/apply-numeric-lint
    1 lint-mail apple-mail-cli refactor/apply-numeric-lint
    2 lint-reflex reflex-state refactor/apply-numeric-lint

    各レーン:

    • 1. git fetch origin と rebase.AGENTS.md を読む
    • 2. テンプレートの数値の規則を写す
      • TypeScript: template-typescript の .oxlintrc.json の complexity 10,max-depth 2,max-params 3,max-lines 500
      • Rust: template-rust の Cargo.toml の [lints.clippy] と clippy.toml (too-many-arguments-threshold 3,excessive-nesting-threshold 2,cognitive-complexity-threshold 15,allow_attributes_without_reason) と lefthook の file-length
    • 3. 違反の一覧を出し,件数を PR に書く
    • 4. 既存のテストを先に通しておき,振る舞いを変えない分割で直す.テストの無い分岐を分けるときは,先に挙動を固定するテストを足す
    • 5. どうしても直せないものだけ,理由つきの無効化を候補として PR に挙げる (人が判断)
    • 6. lint,テスト,lefthook (--all-files),CI.コミットは lefthook を通す
    • 7. PR (日本語の本文,Refs furedea/dotfiles#247).マージの前に Codex の adversarial review を挟む

    開始は #242 の後.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions