1. Tổng quan dự án: Kết thúc hỗn loạn cấu hình công cụ AI
Trong bối cảnh lập trình viên thường xuyên sử dụng đa công cụ AI hỗ trợ như Claude Code, Cursor và GitHub Copilot, việc quản lý cấu hình riêng lẻ cho từng công cụ đã tạo ra nhiều vấn đề nghiêm trọng. Mỗi công cụ yêu cầu định dạng cấu hình khác nhau (.cursorrules, CLAUDE.md, .github/copilot-instructions.md), dẫn đến:
- Khó khăn trong việc đồng bộ quy tắc giữa các công cụ
- Nguy cơ xung đột logic khi các công cụ đưa ra gợi ý mâu thuẫn
- Tốn kém thời gian bảo trì và cập nhật quy tắc
Giải pháp dotai ra đời với nguyên lý cốt lõi: Một tệp cấu hình duy nhất điều khiển tất cả công cụ AI. Chỉ cần duy trì cấu hình tại .ai/config.yml, công cụ sẽ tự động chuyển đổi và đồng bộ quy tắc sang định dạng phù hợp với từng công cụ (Claude, Cursor, Copilot, Windsurf, Cline, Aider).
2. Triết lý thiết kế: Chuyển từ hỗn loạn đa nguồn sang nguồn chân lý duy nhất
2.1 Mô hình kiến trúc Adapter Pattern
Lõi hệ thống áp dụng mẫu thiết kế Adapter Pattern với hai thành phần chính:
- Cấu hình trung tâm (.ai/config.yml): Định nghĩa quy tắc ngữ nghĩa, độc lập với định dạng cụ thể của từng công cụ
- Bộ điều hợp công cụ (Tool Adapters): Thực hiện chuyển đổi hai chiều giữa cấu hình trung tâm và định dạng riêng của từng công cụ
Ví dụ quy tắc "tất cả hàm phải có chú thích kiểu dữ liệu" được chuyển đổi như sau:
| Công cụ | Định dạng đầu ra |
|---|---|
| Claude | ## Quy chuẩn mã hóa\n- Thêm chú thích kiểu dữ liệu cho tất cả hàm |
| Aider | - always_annotate_types: true |
| Cursor | Thêm chú thích kiểu dữ liệu cho tất cả hàm. |
3. Cài đặt và khởi tạo dự án
3.1 Thiết lập môi trường
# Tạo môi trường ảo
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Cài đặt dotai
pip install dotai
3.2 Khởi tạo dự án
cd /path/to/your/project
dotai init
Quá trình khởi tạo tự động phân tích dự án để điền thông tin cấu hình dựa trên:
- Tệp cấu hình dự án (
pyproject.toml,package.json) - Công cụ định dạng (
.prettierrc,.ruff.toml) - Khung kiểm thử (
pytest.ini,jest.config.js)
4. Cấu hình quy tắc hiệu quả
4.1 Phân tầng quy tắc
rules:
# Tầng 1: Nguyên tắc cốt lõi
- Mã nguồn ưu tiên tính rõ ràng, sau đó mới đến sự tinh gọn
# Tầng 2: Kiến trúc hệ thống
- Ưu tiên lập trình hàm để giảm thiểu tác dụng phụ
# Tầng 3: Quy chuẩn ngôn ngữ
- Tất cả hàm phải có chú thích kiểu dữ liệu
# Tầng 4: Phong cách mã hóa
- Cấm sử dụng số ma thuật (Magic Numbers)
4.2 Đồng bộ cấu hình kiểm thử
testing:
framework: pytest
coverage_target: 90
test_dir: tests
Khi có quy tắc "viết kiểm thử cho chức năng mới", dotai sẽ sinh mã kiểm thử theo khung pytest thay vì unittest dựa trên cấu hình này.
5. Tích hợp vào quy trình làm việc
5.1 Đồng bộ cấu hình
# Xem trước thay đổi
dotai diff
# Đồng bộ thực thi
dotai sync
Các tệp cấu hình cụ thể sẽ được tạo ra:
CLAUDE.md.cursorrules.github/copilot-instructions.md
5.2 Tích hợp với Git
# Cấu hình pre-commit
repos:
- repo: local
hooks:
- id: dotai-sync
entry: dotai sync
6. Kỹ thuật nâng cao
6.1 Xử lý quy tắc xung đột
rules:
- Ưu tiên tính rõ ràng và ổn định hơn sự tinh gọn # Ghi chú độ ưu tiên
- Bắt buộc bắt ngoại lệ cho mọi thao tác có thể thất bại
6.2 Bảng xử lý sự cố
| Hiện tượng | Nguyên nhân | Giải pháp |
|---|---|---|
| Tệp cấu hình không được tạo | Thiếu adapter hoặc lỗi định dạng | Kiểm tra trạng thái hỗ trợ qua dotai tools |