← 回到看板Back to the board
開發中In development

Legwork

一個不靠AI下判斷的PR審查工具。它不評論程式碼寫得好不好,只整理查得到來源的資訊:測試覆蓋率、依賴關係、改動會影響到哪裡,然後清楚標出哪些地方真的被驗證過、哪些還沒有。 A deliberately dumb PR review tool — it never lets AI judge whether code is "good." It just overlays test coverage, maps dependencies, and traces blast radius, things you can actually point to a source for, then tells you plainly where someone's actually verified something and where nobody has.

Legwork:改動空間圖,依副檔名分組並標出依賴關係

核心是一道關卡:只要有任何一行改動沒有被測試覆蓋,就直接擋下,連結構導覽都不顯示,只列出沒覆蓋到的那幾行,並回傳非零的exit code,可以接在pre-commit或CI上。全部覆蓋之後,才進入真正的重點:把改動整理成函式、類別、方法的結構樹,每個節點底下直接列出實際改了什麼,並附上這個檔案在整個專案中的依賴關係(依賴誰、被誰依賴),以及被改動的函式在哪些地方被呼叫、前後的原始碼長什麼樣子。 There's a gate at the front: if even one changed line isn't covered by a test, it stops right there — no structural overview, just a list of the uncovered lines, with a nonzero exit code you can wire into pre-commit or CI. Only once everything's covered does the actual point kick in: the diff gets organized into a tree of functions, classes, and methods, each node showing exactly what changed underneath it, plus which files this one depends on, which depend on it, and the real call sites for whatever function got touched, source lines and all.

核心流程刻意不呼叫任何LLM API,只組合現成的靜態分析工具(結構化diff、依賴圖、覆蓋率疊圖、blast radius),避免陷入「用AI審AI」的自我確認循環。以Rust寫成單一執行檔,第一步做成掛在Claude Code上的CLI / MCP hook,暫不做獨立的命令列工具,也不做GitHub整合。 The core loop deliberately never calls an LLM API — it's purely static-analysis infrastructure (structured diffs, dependency maps, coverage overlays, blast radius), specifically to avoid the trap of using AI to grade AI. It's a single Rust binary, built first as a CLI/MCP hook that plugs into Claude Code rather than a standalone tool or a GitHub integration.

Knas的專案。想聊聊的話:A project by Knas. To get in touch: Email GitHub LinkedIn