Giới thiệu trên Hacker News: RepoGuard – Công cụ kiểm tra kiến trúc cho mã nguồn do AI tạo ra (Cursor, Claude)
URL bài viết: https://github.com/taylormatematica-beep/repoguard URL bình luận: https://news.ycombinator.com/item?id=49946607 Điểm: 2 Số bình luận: 0
RepoGuard
Người giám hộ kiến trúc cho các cơ sở mã được hỗ trợ bởi AI.
Ngăn AI biến kho lưu trữ của bạn thành một "mớ hỗn độn" kiến trúc trên TypeScript, Python và Golang.
⚡ Vấn đề
Các trợ lý mã hóa AI (Cursor, GitHub Copilot, Claude Code, Windsurf) có thể viết 300 dòng mã trong 5 giây. Tuy nhiên, nếu không có các rào cản nghiêm ngặt cho kho lưu trữ, chúng thường xuyên:
Bỏ qua các lớp kiến trúc: Thực hiện các truy vấn cơ sở dữ liệu thô (Prisma, Drizzle, SQLAlchemy, GORM) trực tiếp bên trong các thành phần giao diện người dùng hoặc trình xử lý HTTP.
Tái tạo các hàm hỗ trợ hiện có: Viết các tiện ích xử lý ngày/chuỗi trùng lặp thay vì nhập từ /utils hoặc các gói dùng chung.
Bỏ qua an toàn kiểu dữ liệu và xử lý lỗi: Rải rác : any trong TypeScript hoặc loại bỏ lỗi bằng _ = err trong Go để vượt qua quá trình biên dịch nhanh.
Làm lộ các bí mật nhạy cảm: Mã hóa cứng các khóa API giả hoặc thêm tiền tố NEXT_PUBLIC_ vào các bí mật riêng tư, đóng gói chúng vào mã JavaScript phía máy khách.
RepoGuard hoạt động như một người giám sát kiến trúc tự động: nó tạo ra các tệp ngữ cảnh .cursorrules, CLAUDE.md và .windsurfrules tùy chỉnh, nghiêm ngặt; xác minh các thay đổi trước khi commit; và chạy các cuộc kiểm tra nội tuyến trên mỗi Pull Request.
🚀 Bắt đầu nhanh
Chạy trực tiếp trong bất kỳ kho lưu trữ nào (không yêu cầu cài đặt):
npx repoguard-rules init
Hoặc cài đặt toàn cục:
npm install -g repoguard-rules
repoguard init
Điều gì xảy ra trong 2 giây:
🔍 Tự động phát hiện ngăn xếp công nghệ của bạn (Next.js, NestJS, Express, FastAPI, Django, Gin, Fiber, Prisma, GORM, v.v.).
📝 Tạo tệp .cursorrules tùy chỉnh (cho Cursor AI).
🤖 Tạo tệp CLAUDE.md toàn diện (cho Claude Code).
🌊 Tạo tệp .windsurfrules (cho Windsurf IDE).
🛡️ Tạo tệp .github/copilot-instructions.md (cho GitHub Copilot).
⚙️ Cấu hình các hook bảo vệ pre-commit và quy trình CI.
🛠️ Lệnh CLI và định dạng
Lệnh
Mô tả
npx repoguard-rules init
Quét cơ sở mã và tạo các tệp ngữ cảnh AI tùy chỉnh.
npx repoguard-rules audit
Đánh giá toàn bộ cơ sở mã và trả về Điểm sức khỏe kiến trúc (từ A+ đến F).
npx repoguard-rules audit --format=sarif
Tạo tiêu chuẩn OASIS SARIF v2.1.0 để tích hợp GitHub Code Scanning.
npx repoguard-rules audit --format=json
Xuất JSON có thể đọc bằng máy cho các quy trình CI/CD tùy chỉnh.
npx repoguard-rules diff
Kiểm tra các thay đổi git chưa commit theo các quy tắc kiến trúc trong thời gian thực.
npx repoguard-rules hook install
Cấu hình .git/hooks/pre-commit cục bộ để ngăn chặn vi phạm quy tắc.
npx repoguard-rules rules
Hiển thị tất cả 12 quy tắc kiến trúc tích hợp và mô tả.
Bỏ qua tệp và thư mục (.repoguardignore)
Thêm tệp .repoguardignore vào thư mục gốc của bạn để bỏ qua các tệp hoặc thư mục cụ thể:
# .repoguardignore
legacy/
migrations/
test/fixtures/
🛡️ Các quy tắc kiến trúc tích hợp
ID quy tắc
Danh mục
Mức độ nghiêm trọng
Rào cản được thực thi
RULE-01
Kiến trúc
Lỗi
Cấm các truy vấn ORM/DB thô trong các thành phần giao diện người dùng và Bộ điều khiển (TS/JS).
RULE-PY-01
Kiến trúc
Cảnh báo / Nghiêm trọng
Thực thi phân tách lớp FastAPI; cấm các truy vấn DB trực tiếp và các commit thô (db.commit()) bên trong các trình xử lý tuyến đường.
RULE-GO-01
Kiến trúc
Cảnh báo / Nghiêm trọng
Thực thi Kiến trúc sạch trong Go; cấm các thao tác cơ sở dữ liệu/GORM thô bên trong các trình xử lý HTTP của Gin, Fiber hoặc Echo.
RULE-GO-02
Xử lý lỗi
Cảnh báo
Gắn cờ các lỗi không được kiểm tra bị bỏ qua thông qua định danh trống (_ = err) trong Go.
RULE-02
Bảo mật
Nghiêm trọng
Gắn cờ các bí mật được mã hóa cứng, khóa riêng tư và mã thông báo API.
RULE-09
Bảo mật
Nghiêm trọng
Gắn cờ các bí mật riêng tư bị lộ qua các tiền tố công khai (NEXT_PUBLIC_*SECRET*, VITE_*SECRET*).
QUY TẮC-03
An toàn kiểu dữ liệu (Type Safety)
Cảnh báo
Cấm sử dụng các lối thoát hiểm `lazy : any` và `as any` trong TypeScript.
QUY TẮC-04
Chất lượng mã (Code Quality)
Thông tin
Thực thi ghi nhật ký có cấu trúc thay vì `console.log` thô.
QUY TẮC-05
Next.js / SSR
Lỗi
Ngăn chặn lỗi không khớp khi kết xuất (hydration mismatch) từ các biến toàn cục của trình duyệt (window/localStorage).
QUY TẮC-06
Bảo mật
Nghiêm trọng
Phát hiện các nguy cơ tấn công SQL injection trong các chuỗi truy vấn thô.
QUY TẮC-07
Thiết kế API
Cảnh báo
Thực thi xác thực lược đồ (Zod/Pydantic) đối với các tải trọng yêu cầu đến.
QUY TẮC-08
Nguyên tắc DRY (Don't Repeat Yourself)
Thông tin
Ngăn chặn các trợ lý AI sao chép các hàm tiện ích chung hiện có.
🤖 Tích hợp GitHub Action & Bảo mật
Thêm việc thực thi kiến trúc liên tục vào quy trình CI/CD của bạn:
# .github/workflows/repoguard.yml
name: Kiểm toán Kiến trúc RepoGuard
on: [pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npx repoguard-rules audit --strict
Quét mã GitHub (SARIF):
- run: npx repoguard-rules audit --format=sarif > repoguard.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: repoguard.sarif
💎 Các gói & Nâng cấp Doanh nghiệp
RepoGuard hoàn toàn miễn phí và mã nguồn mở cho các kho lưu trữ công khai và phát triển cục bộ. Đối với việc thực thi PR CI/CD tự động, các nhóm riêng tư và các công cụ quy tắc kiến trúc tùy chỉnh:
Gói
Giá
Phù hợp với
Bao gồm
Mã nguồn mở
0 USD (Miễn phí vĩnh viễn)
Các nhà phát triển cá nhân & kho lưu trữ công khai
Quét CLI cục bộ không giới hạn, .cursorrules, CLAUDE.md, pre-commit hooks, tất cả 12 quy tắc tích hợp sẵn
Developer Pro
12 USD / tháng
Kỹ sư độc lập & nhà thầu
Kho lưu trữ riêng tư không giới hạn, Bot đánh giá PR tự động, công cụ quy tắc tùy chỉnh, công cụ phát hiện rò rỉ bí mật
Engineering Team
39 USD / tháng
Các công ty khởi nghiệp & tổ chức kỹ thuật
Tối đa 5 nhà phát triển, công cụ chặn hợp nhất CI/CD toàn tổ chức GitHub, nhật ký kiểm toán kiến trúc SOC2, cảnh báo Slack/Discord
👉 Đăng ký Developer Pro (12 USD/tháng) • Nâng cấp Team (39 USD/tháng) • 🇧🇷 Pagar no PIX (67 R$ à vista)
👥 Cộng tác viên & Cộng đồng
Xin gửi lời cảm ơn đặc biệt đến các kỹ sư mã nguồn mở đã đóng góp cho RepoGuard:
@taylormatematica-beep (Người bảo trì chính & Tác giả)
@NihalPN — Tác giả QUY TẮC-PY-01 & các rào cản kiến trúc FastAPI (PR #3)
🌟 Hỗ trợ & Cộng đồng
🌐 Tài liệu & Trung tâm trực tuyến: https://taylormatematica-beep.github.io/repoguard/
📦 Kho NPM: https://www.npmjs.com/package/repoguard-rules
🐱 Product Hunt: https://www.producthunt.com/products/repoguard
Nếu RepoGuard giúp giữ cho mã hóa AI của bạn sạch sẽ, hãy cân nhắc gắn ⭐ cho kho lưu trữ này!
Nguồn tin: Hacker News AI — Tác giả: taylormatematic. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.