Chương 6: Quy tắc & Tiêu chuẩn phát triển (Rules & Masters)
- Trang 6.1: Tìm hiểu về file quy tắc GEMINI.md và cách tùy chỉnh hành vi AI.
- Trang 6.2: Sử dụng các script kiểm tra tổng thể ( checklist.py & verify_all.py ).
Trang 6.1: Tìm hiểu về file quy tắc GEMINI.md và cách tùy chỉnh hành vi AI.
1. GEMINI.md là gì?
GEMINI.md là file quan trọng nhất trong toàn bộ hệ thống Antigravity Kit. Nó nằm tại:
.agent/rules/GEMINI.md
File này là "hiến pháp" định nghĩa cách AI phải hành xử trong mọi tình huống. Khi AI đọc file này, nó hiểu rõ:
- Ưu tiên nào cao hơn (quy tắc nào được áp dụng khi có xung đột).
- Phân loại yêu cầu như thế nào (câu hỏi, code đơn giản, task phức tạp).
- Chọn Agent nào cho từng loại yêu cầu.
- Các quy tắc code toàn cục phải tuân thủ.
2. Kiến trúc phân cấp ưu tiên
P0: GEMINI.md ← Cao nhất — luôn có hiệu lực
P1: Agent .md ← Quy tắc riêng của từng Agent
P2: SKILL.md ← Kiến thức chuyên sâu từng lĩnh vực
Khi có xung đột giữa các cấp, cấp cao hơn luôn thắng.
3. Cấu trúc của GEMINI.md
File được tổ chức theo hệ thống TIER (Tầng):
TIER 0 — Universal Rules (Luôn áp dụng)
Các quy tắc này hoạt động trong mọi yêu cầu, bất kể Agent nào được kích hoạt:
| Quy tắc | Nội dung |
|---|---|
| Language Handling | Khi người dùng không dùng tiếng Anh, AI dịch nội bộ nhưng trả lời bằng ngôn ngữ của người dùng |
| Clean Code | Mọi code phải theo tiêu chuẩn clean-code — ngắn gọn, tự mô tả, không over-engineer |
| File Dependency Awareness | Trước khi sửa file nào, kiểm tra file phụ thuộc và cập nhật đồng bộ |
| System Map Read | Đọc
|
Request Classifier — Phân loại yêu cầu
Bảng phân loại tự động để AI biết cần làm gì:
| Loại yêu cầu | Từ khóa kích hoạt | Kết quả |
|---|---|---|
| QUESTION | "là gì", "giải thích", "tại sao" | Chỉ trả lời văn bản |
| SURVEY | "phân tích", "liệt kê", "tổng quan" | Phân tích, không tạo file |
| SIMPLE CODE | "sửa", "thêm", "đổi" (1 file) | Chỉnh sửa trực tiếp |
| COMPLEX CODE | "xây dựng", "tạo", "triển khai" | Tạo file kế hoạch
|
| DESIGN/UI | "thiết kế", "UI", "giao diện" | Tạo file kế hoạch + components |
Intelligent Routing Checklist
Checklist bắt buộc AI phải hoàn thành trước khi viết code:
Bước 1: Đã xác định Agent phù hợp chưa?
Bước 2: Đã đọc file .md của Agent chưa?
Bước 3: Đã thông báo Agent cho người dùng chưa?
Bước 4: Đã tải Skills cần thiết chưa?
TIER 1 — Code Rules (Khi viết code)
Chỉ áp dụng khi AI cần viết hoặc sửa code:
| Quy tắc | Nội dung |
|---|---|
| Project Type Routing | Mobile → mobile-developer, Web → frontend-specialist, API → backend-specialist |
| Socratic Gate | Với tác vụ phức tạp: bắt buộc hỏi ít nhất 3 câu làm rõ trước khi code |
| Final Checklist Protocol | Khi người dùng nói "final checks", chạy
|
4. Tùy chỉnh GEMINI.md cho đội ngũ của bạn
Nguyên tắc tùy chỉnh an toàn
✅ Có thể sửa:
- Thêm quy tắc mới vào cuối file.
- Thêm các ràng buộc về ngôn ngữ lập trình hoặc naming convention.
- Định nghĩa các pattern bị cấm trong dự án.
⚠️ Cẩn thận khi sửa:
- Bảng Request Classifier (có thể làm AI nhận diện sai loại yêu cầu).
- Agent Routing rules (có thể gây định tuyến sai Agent).
❌ Không nên xóa:
- Cấu trúc TIER 0 và TIER 1 cơ bản.
- Intelligent Routing Checklist.
Ví dụ tùy chỉnh thực tế
Thêm quy tắc ngôn ngữ:
markdown
## CUSTOM TEAM RULES
### Quy tắc ngôn ngữ
- Tất cả comment trong code phải bằng tiếng Anh
- Tên biến và hàm theo camelCase (không dùng snake_case trong JS/TS)
- Không dùng `any` trong TypeScript — phải có type cụ thể
Thêm pattern bị cấm:
markdown
### Các pattern bị cấm trong dự án này
- KHÔNG dùng `console.log` trong production code (dùng logger service)
- KHÔNG hard-code URL — phải dùng environment variables
- KHÔNG commit secret key hoặc password
- KHÔNG viết SQL raw — phải dùng Prisma ORM
Thêm convention đặt tên:
markdown
### Naming Convention
- Component: PascalCase (UserCard, ProductList)
- Hook: camelCase bắt đầu bằng "use" (useAuth, useCart)
- File component: PascalCase.tsx
- File util: camelCase.ts
- Test file: tên-file.test.ts
Thêm quy tắc về Tech Stack:
markdown
### Tech Stack bắt buộc cho dự án này
- Framework: Next.js 14 (App Router) — không dùng Pages Router
- Styling: Tailwind CSS — không dùng CSS Modules hay styled-components
- Database: Prisma + PostgreSQL — không dùng raw SQL
- Auth: NextAuth.js — không tự viết auth logic
5. Chia sẻ cấu hình với cả đội
Để toàn đội cùng dùng chung một bộ quy tắc:
bash
# Commit thư mục .agent/ vào Git
git add .agent/
git commit -m "chore: add/update Antigravity Kit team rules"
git push
Khi thành viên mới clone dự án, họ sẽ tự động có đầy đủ cấu hình đã được thống nhất.
6. Kiểm tra quy tắc có được áp dụng không
Sau khi sửa GEMINI.md, bạn có thể kiểm tra bằng cách:
👤 Bạn: "Hãy kiểm tra và cho tôi biết các quy tắc nào bạn
đang áp dụng cho dự án này"
🤖 AI: Tôi đang áp dụng các quy tắc từ .agent/rules/GEMINI.md:
- TIER 0: Universal Rules (Language, Clean Code...)
- Custom Team Rules: No console.log, PascalCase components...
- Tech Stack: Next.js 14 App Router, Tailwind CSS...
Trang 6.2: Sử dụng các script kiểm tra tổng thể ( checklist.py & verify_all.py ).
1. Tổng quan
Antigravity Kit cung cấp 2 script Python tổng thể (master scripts) trong thư mục .agent/scripts/. Chúng điều phối toàn bộ bộ script con từ các Skills để thực hiện kiểm tra chất lượng dự án một cách có hệ thống.
| Script | Mục đích | Khi nào dùng |
|---|---|---|
checklist.py |
Kiểm tra nhanh theo thứ tự ưu tiên | Hàng ngày, trước commit |
verify_all.py |
Kiểm tra toàn diện bao gồm E2E và performance | Trước khi release production |
2. checklist.py — Kiểm tra hàng ngày
Cú pháp
bash
# Kiểm tra cơ bản
python .agent/scripts/checklist.py .
# Kiểm tra đầy đủ kèm performance (cần server đang chạy)
python .agent/scripts/checklist.py . --url http://localhost:3000
Thứ tự ưu tiên kiểm tra (P0 → P6)
| Mức | Tên | Công cụ | Dừng nếu lỗi? |
|---|---|---|---|
| P0 | Security Scan | security_scan.py |
✅ Có — Critical |
| P1 | Lint & Type Check | lint_runner.py |
✅ Có — Critical |
| P2 | Schema Validation | schema_validator.py |
❌ Không |
| P3 | Test Runner | test_runner.py |
❌ Không |
| P4 | UX Audit | ux_audit.py + accessibility_checker.py |
❌ Không |
| P5 | SEO Check | seo_checker.py |
❌ Không |
| P6 | Performance | lighthouse_audit.py |
❌ Không (cần URL) |
Logic dừng sớm: Nếu P0 (Security) hoặc P1 (Lint) thất bại, toàn bộ checklist dừng ngay và báo lỗi. Bạn phải sửa các vấn đề Critical trước khi các bước tiếp theo có ý nghĩa.
Ví dụ kết quả
============================================================
🚀 ANTIGRAVITY KIT - MASTER CHECKLIST
============================================================
Project: /path/to/my-project
============================================================
📋 CORE CHECKS
============================================================
🔄 Running: Security Scan
✅ Security Scan: PASSED
🔄 Running: Lint Check
✅ Lint Check: PASSED
🔄 Running: Schema Validation
⏭️ Schema Validation: Script not found, skipping
🔄 Running: Test Runner
✅ Test Runner: PASSED
🔄 Running: UX Audit
✅ UX Audit: PASSED
🔄 Running: SEO Check
⚠️ SEO Check: FAILED
Error: Missing meta description on 3 pages
============================================================
📊 CHECKLIST SUMMARY
============================================================
Total Checks: 6
✅ Passed: 4
❌ Failed: 1
⏭️ Skipped: 1
❌ SEO Check
✅ Security Scan
✅ Lint Check
✅ Test Runner
✅ UX Audit
1 check(s) FAILED - Please fix before proceeding
3. verify_all.py — Kiểm tra toàn diện trước production
Cú pháp
bash
# Cần cung cấp URL của server đang chạy
python .agent/scripts/verify_all.py . --url http://localhost:3000
Kiểm tra thêm so với checklist.py
| Kiểm tra thêm | Công cụ | Mục đích |
|---|---|---|
| Lighthouse Audit | lighthouse_audit.py |
Score Core Web Vitals (LCP, CLS, INP) |
| Playwright E2E | playwright_runner.py |
Kiểm thử end-to-end trên trình duyệt thật |
| Bundle Analysis | bundle_analyzer.py |
Phân tích kích thước bundle JS/CSS |
| Mobile Audit | mobile_audit.py |
Kiểm tra responsive + touch targets |
| i18n Check | (nếu có) | Kiểm tra hardcoded strings |
Yêu cầu trước khi chạy verify_all.py
- ✅ Server phải đang chạy (chạy
/preview starttrước). - ✅ Playwright phải được cài:
npx playwright install. - ✅ Chromium hoặc Chrome phải có sẵn trên máy.
4. Khi nào dùng script nào?
Đang phát triển hàng ngày:
→ python .agent/scripts/checklist.py .
→ Nhanh, dừng sớm khi có lỗi critical
Trước khi tạo Pull Request:
→ python .agent/scripts/checklist.py .
→ Đảm bảo không có Security/Lint issues
Trước khi merge vào main:
→ python .agent/scripts/checklist.py . --url http://localhost:3000
→ Bao gồm cả performance check
Trước khi release lên production:
→ python .agent/scripts/verify_all.py . --url http://localhost:3000
→ Kiểm tra toàn diện kể cả E2E và Lighthouse
5. Tích hợp vào CI/CD
GitHub Actions
yaml
name: Quality Check
on: [push, pull_request]
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: npm ci
- name: Run Antigravity Checklist
run: python .agent/scripts/checklist.py .
# Deploy chỉ chạy khi checklist pass
- name: Deploy
if: success() && github.ref == 'refs/heads/main'
run: npm run deploy
6. Chạy script con riêng lẻ
Ngoài 2 master scripts, bạn cũng có thể chạy từng script con riêng lẻ khi cần:
bash
# Chỉ quét bảo mật
python .agent/skills/vulnerability-scanner/scripts/security_scan.py .
# Chỉ kiểm tra UX
python .agent/skills/frontend-design/scripts/ux_audit.py .
# Chỉ chạy Lighthouse
python .agent/skills/performance-profiling/scripts/lighthouse_audit.py . http://localhost:3000
# Chỉ kiểm tra SEO
python .agent/skills/seo-fundamentals/scripts/seo_checker.py .
7. Kích hoạt từ lệnh chat
Bạn không cần nhớ đường dẫn script. Chỉ cần nói với AI:
"final checks" → AI chạy checklist.py tự động
"son kontrolleri yap" → (Tiếng Thổ) Cũng kích hoạt checklist
"chạy tất cả test" → AI chạy checklist.py
"kiểm tra trước khi deploy" → AI chạy verify_all.py (với URL)
AI được cấu hình để nhận diện các từ khóa này và tự động chạy đúng script cho bạn.
8. Bảng tổng hợp toàn bộ 12 Scripts
| Script | Skill | Khi nào dùng |
|---|---|---|
security_scan.py |
vulnerability-scanner | Mỗi lần deploy |
dependency_analyzer.py |
vulnerability-scanner | Hàng tuần / Mỗi lần deploy |
lint_runner.py |
lint-and-validate | Mỗi lần thay đổi code |
test_runner.py |
testing-patterns | Sau khi thay đổi logic |
schema_validator.py |
database-design | Sau khi thay đổi DB schema |
ux_audit.py |
frontend-design | Sau khi thay đổi UI |
accessibility_checker.py |
frontend-design | Sau khi thay đổi UI |
seo_checker.py |
seo-fundamentals | Sau khi thay đổi trang |
bundle_analyzer.py |
performance-profiling | Trước khi deploy |
mobile_audit.py |
mobile-design | Sau khi thay đổi mobile UI |
lighthouse_audit.py |
performance-profiling | Trước khi deploy |
playwright_runner.py |
webapp-testing | Trước khi deploy |
Ghi nhớ:
checklist.pyvàverify_all.pyđiều phối tất cả các scripts trên theo đúng thứ tự ưu tiên. Trong hầu hết các trường hợp, bạn chỉ cần gọi 2 master scripts và không cần chạy từng cái riêng lẻ.