React Doctor — เครื่องมือวินิจฉัยที่ตรวจสอบโค้ด React ที่ AI สร้างขึ้นด้วยการวิเคราะห์แบบสถิต
(github.com/millionco)ใครกันที่กำลังตรวจทานว่าโค้ด React ที่ AI coding agent เขียนขึ้นนั้นถูกต้องจริงหรือไม่ React Doctor คือเครื่องมือที่เริ่มต้นจากคำถามนี้ เพียงสแกนโปรเจกต์ด้วยคำสั่งบรรทัดเดียว npx react-doctor@latest ผลการวินิจฉัยครอบคลุมทั้งการจัดการสถานะ, side effect, ประสิทธิภาพ, ความปลอดภัย, การเข้าถึง, และสถาปัตยกรรมโดยรวม จะถูกแสดงในเทอร์มินัลพร้อมคะแนนตั้งแต่ 0~100 พัฒนาโดย Million.co และเผยแพร่ภายใต้ไลเซนส์ MIT
คุณสมบัติหลัก
- รองรับการเชื่อมต่อกับ AI agent อย่างชัดเจน เมื่อรัน
react-doctor installระบบจะลงทะเบียน skill ให้กับ agent หลักอย่าง Claude Code, Cursor, Codex, OpenCode โดยอัตโนมัติ และติดตั้ง git post-checkout/post-merge hook ด้วย เป็นโครงสร้างที่ agent ตัวหนึ่งก่อปัญหา แล้วให้อีกตัวหนึ่งเข้ามาแก้ - มาพร้อมกฎมากกว่า 100 ข้อที่อิงบน oxlint มีการพัฒนากฎไว้โดยตรงในปลั๊กอิน oxlint ของตัวเอง (
oxlint-plugin-react-doctor) ทำให้วิเคราะห์ได้รวดเร็วโดยไม่ต้องมี ESLint runtime แยกต่างหาก และยังมีชุดกฎสำเร็จรูปแยกตามเฟรมเวิร์กอย่าง Next.js, TanStack, React Native, Expo - รวมกฎของ React Compiler ไว้ด้วย ผ่านกฎตระกูล
react-hooks-js/*ทำให้ตรวจพบได้ทันทีหากยังมีโค้ด memoization แบบเขียนเองหลงเหลืออยู่ในสภาพแวดล้อมที่เปิดใช้ React Compiler - รองรับ GitHub Actions แบบเนทีฟ เพียงเพิ่ม official action ที่อยู่บน Marketplace ก็สามารถทิ้งผลวินิจฉัยเป็น inline annotation และ sticky comment ในทุก PR ได้ หากใช้โหมด
--diffจะสแกนเฉพาะไฟล์ที่เปลี่ยนเพื่อลดเวลา CI - เป็นสตรีมมิงไปป์ไลน์ที่สร้างบน Effect v4 ภายในสแกนเอนจินประกอบด้วย dependency injection, tagged error, และ control flow แบบ generator ของไลบรารี Effect พร้อมรันการ lint และการวิเคราะห์ dead code แบบขนาน
- เข้าถึงแบบโปรแกรมได้เช่นกัน ผ่านฟังก์ชัน
diagnose()ของแพ็กเกจ@react-doctor/apiซึ่งสามารถรับผลวินิจฉัยแบบมี type จากโค้ด Node.js ได้โดยตรง - มีฟีเจอร์แชร์คะแนน สามารถโพสต์ผลการสแกนไปยัง
react.doctor/shareเพื่อแชร์ให้ทีมงานหรือคนนอกดูได้
จุดแตกต่าง
ต่างจากปลั๊กอิน React แบบเดิมที่อิง ESLint ซึ่งนักพัฒนาต้องเลือกและตั้งค่ากฎทีละข้อ React Doctor วางตำแหน่งตัวเองเป็น “เครื่องมือตรวจสอบ” ที่พร้อมรันวินิจฉัยทั้งหมวดหมู่ได้ทันทีหลังติดตั้ง โดยเฉพาะการชูกรณีใช้งานเรื่องการตรวจสอบคุณภาพของโค้ดที่ AI เขียนขึ้นอย่างเด่นชัด ถือเป็นทิศทางที่น่าสนใจ
ตั้งแต่การย้ายไปใช้ Effect v4 ใน v0.2.4, การวิเคราะห์แบบขนานและการตรวจจับ agent ใน v0.2.7 จนถึงเวอร์ชันปัจจุบัน v0.2.8 โครงการนี้ยังคงออกรุ่นถี่อย่างต่อเนื่อง แม้จะยังไม่ถึงเมเจอร์เวอร์ชันและ API อาจยังเปลี่ยนแปลงได้ แต่ความเร็วในการพัฒนาและแนวโน้มการขยายขอบเขตการรองรับก็สม่ำเสมอ เป็นเครื่องมือที่น่าจับตาในฐานะด่านตรวจสุดท้ายของคุณภาพโค้ดเบสในยุคที่การสร้างโค้ดด้วย AI กลายเป็นเรื่องปกติ
1 ความคิดเห็น
เห็นว่าใช้กับ
bunxได้ด้วย เลยลองเอาไปใช้กับโปรเจ็กต์ที่กำลังพัฒนาอยู่ แล้วมันจับทั้ง error กับ warning ได้เยอะมากเลยครับส่วนใหญ่จะเป็นเรื่องที่ไม่ได้มีนัยสำคัญมากนัก แต่ก็ช่วยหา error บางอย่างที่ผมมองข้ามไปได้ เลยคิดว่าเป็นเครื่องมือที่อย่างน้อยก็น่าลองใช้สักครั้งครับ