Sức mạnh tối thượng của CLAUDE.md
CLAUDE.md là gì?
CLAUDE.md là tệp cấu hình cốt lõi của Claude Code, được đặt trong thư mục gốc dự án. Nó hoạt động như một cẩm nang dự án cho Claude, định nghĩa ngữ cảnh, quy tắc, quy ước và kỳ vọng của dự án.
Đây không chỉ là tệp cấu hình, mà còn là cầu nối cho sự cộng tác giữa con người và AI.
Tại sao CLAUDE.md lại quan trọng đến vậy?
1. Ngữ cảnh là Sức mạnh
Khả năng của Claude Code phụ thuộc phần lớn vào sự hiểu biết về dự án. Một CLAUDE.md được soạn thảo tốt có thể:
- 🧠 Xây dựng nhận thức dự án: Giúp Claude hiểu sâu về mục tiêu và cấu trúc dự án
- 🎯 Đặt tiêu chuẩn làm việc: Định nghĩa yêu cầu chất lượng và phong cách code
- ⚡ Cải thiện hiệu quả thực thi: Tránh giải thích lặp đi lặp lại và hướng sai
- 🛡️ Đảm bảo tính nhất quán: Thành viên team chia sẻ cùng một bộ quy tắc cộng tác
2. Từ Hỗn loạn đến Trật tự
Dự án không có CLAUDE.md:
> Giúp tôi refactor function này
Claude: Function này làm gì? Framework gì? Có quy ước nào không?
Bạn: Đây là React component, chúng tôi dùng TypeScript...
Claude: Hiểu rồi, có quy tắc nào khác không?
Bạn: Chúng tôi dùng functional components, không dùng class components...
Claude: Hiểu, testing framework là gì?
Bạn: Jest... (vòng lặp vô tận)
Dự án có CLAUDE.md:
> Giúp tôi refactor function này
Claude: Hiểu rồi, dựa trên cấu hình dự án, tôi sẽ dùng functional components, TypeScript types, tuân theo quy ước đặt tên của bạn, và thêm Jest tests tương ứng. Bắt đầu refactoring...
Cấu trúc CLAUDE.md
Template Cơ bản
# Tên Dự án
## Tổng quan Dự án
[Mô tả ngắn gọn và mục tiêu chính của dự án]
## Tech Stack
- Frontend: React 18 + TypeScript
- State Management: Redux Toolkit
- Styling: Styled Components
- Testing: Jest + React Testing Library
- Build: Vite
## Cấu trúc Dự án
src/ ├── components/ # Reusable components ├── pages/ # Page components ├── hooks/ # Custom Hooks ├── services/ # API services ├── store/ # Redux store ├── types/ # TypeScript types ├── utils/ # Utility functions └── styles/ # Style files
## Chuẩn Coding
- Sử dụng functional components + Hooks
- Tất cả components phải có TypeScript types
- Sử dụng ESLint + Prettier để formatting
- Tên component sử dụng PascalCase
- Tên file sử dụng kebab-case
- Ưu tiên named exports
## Yêu cầu Testing
- Tất cả components phải có unit tests
- Yêu cầu coverage: >80%
- Đặt tên test file: `*.test.tsx`
## Git Workflow
- Sử dụng feature branch
- Format commit message: `type(scope): description`
- PR phải pass tất cả checks
## Ghi chú Quan trọng
- API calls phải có error handling
- Thông tin nhạy cảm sử dụng environment variables
- Tính năng mới cần cập nhật documentation
Mẹo Cấu hình Nâng cao
1. Cấu hình Modular
Với dự án lớn, cấu hình có thể chia thành nhiều phần:
# Ứng dụng Lớn của Tôi
## Thông tin Cốt lõi
[Thông tin dự án cơ bản]
## Architecture Decision Records (ADR)
### ADR-001: Lựa chọn State Management
Chúng tôi chọn Redux Toolkit thay vì Context API vì:
- Logic state phức tạp
- Cần time-travel debugging
- Team quen thuộc với hệ sinh thái Redux
### ADR-002: Thiết kế API Layer
Sử dụng RTK Query cho data fetching:
- Caching và synchronization tự động
- Built-in loading/error states
- TypeScript first
## Development Workflow
### Quy trình Phát triển Tính năng Mới
1. Tạo feature branch: `feature/feature-name`
2. Sử dụng approach TDD: viết tests trước, sau đó implement
3. Đảm bảo TypeScript không có lỗi
4. Chạy full test suite
5. Submit PR và yêu cầu code review
### Code Review Checklist
- [ ] TypeScript types đúng
- [ ] Tests cover chức năng mới
- [ ] Error handling hoàn chỉnh
- [ ] Xem xét hiệu suất (memo, callback, v.v.)
- [ ] Hỗ trợ accessibility
2. Làm giàu Ngữ cảnh
## Ngữ cảnh Kinh doanh
### Người dùng Mục tiêu
- Chính: Chuyên gia 25-40 tuổi
- Thiết bị: Mobile-first, hỗ trợ desktop
- Use cases: Thời gian đi làm, giờ nghỉ văn phòng
### Tính năng Cốt lõi
1. **User Authentication**: OAuth2 + JWT
2. **Data Sync**: Real-time sync, hỗ trợ offline
3. **Notification System**: Push + email alerts
### Yêu cầu Hiệu suất
- Load màn hình đầu: <2 giây
- Phản hồi tương tác: <100ms
- Hỗ trợ 1000+ người dùng đồng thời
3. Chuẩn Cộng tác Team
## Quy ước Team
### Chuẩn Đặt tên
- **Components**: `UserProfile.tsx`
- **Hooks**: `useUserData.ts`
- **Services**: `userService.ts`
- **Types**: `UserType.ts`
### Pattern Error Handling
```typescript
// Error handling thống nhất cho API calls
try {
const data = await userService.getProfile();
return { data, error: null };
} catch (error) {
logger.error('Failed to get user profile', error);
return { data: null, error: error.message };
}
Chuẩn Code Review
- Tính đúng đắn chức năng ✅
- Khả năng đọc code ✅
- Tác động hiệu suất ✅
- Xem xét bảo mật ✅
## Case Studies Thực tế
### Case 1: Thất bại Refactoring
**Vấn đề**: Không có cấu hình CLAUDE.md rõ ràng
```bash
> Refactor module xác thực người dùng
# Sự bối rối của Claude:
# - Sử dụng scheme xác thực nào?
# - Phong cách code hiện tại như thế nào?
# - Cần backward compatibility không?
# - Yêu cầu testing là gì?
Kết quả: Hướng refactoring không phù hợp với yêu cầu dự án, cần làm lại nhiều lần.
Case 2: Thành công Refactoring
Cấu hình: CLAUDE.md chi tiết
## Cấu hình Authentication System
- Sử dụng JWT + Refresh Token
- Hỗ trợ nhiều phương thức đăng nhập: email, OAuth bên thứ ba
- Quản lý session: lưu trữ Redis
- Yêu cầu bảo mật: hỗ trợ 2FA, thực thi chính sách mật khẩu
## Authentication Module Hiện tại
- Thư mục `src/auth/` chứa tất cả code liên quan đến authentication
- `AuthContext` cung cấp authentication state toàn cục
- `authService` xử lý API calls
- `authUtils` cung cấp authentication utilities
Thực thi:
> Refactor module xác thực người dùng, cải thiện bảo mật và thêm hỗ trợ 2FA
Kết quả: Claude hiểu chính xác yêu cầu và hoàn thành refactoring chất lượng cao trong một lần.
Chiến lược Cấu hình Động
1. Cải tiến Dần dần
Bắt đầu đơn giản, làm giàu dần:
Tuần 1: Cấu trúc cơ bản
# Tên Dự án
- React + TypeScript
- Sử dụng functional components
Tháng 1: Đặc tả chi tiết
# Tên Dự án
[Tech stack chi tiết, cấu trúc file, chuẩn coding]
Tháng 3: Ngữ cảnh sâu
# Tên Dự án
[Bao gồm business logic, quyết định kiến trúc, quy ước team]
2. Cộng tác Team
- 📝 Version Control: Bao gồm CLAUDE.md trong quản lý Git
- 🔄 Cập nhật Thường xuyên: Cập nhật đồng bộ với phát triển dự án
- 👥 Đồng thuận Team: Đảm bảo tất cả thành viên hiểu và tuân theo
- 🔍 Review Thường xuyên: Kiểm tra hiệu quả và độ chính xác của cấu hình
Tóm tắt Thực hành Tốt nhất
✅ Điều nên làm đúng
- Cụ thể và Rõ ràng: Tránh mô tả mơ hồ
- Giữ Cập nhật: Cập nhật cấu hình khi dự án phát triển
- Bao gồm Ví dụ: Cung cấp ví dụ code và patterns
- Document Quyết định: Ghi lại các lựa chọn kiến trúc và kỹ thuật quan trọng
- Nhất quán Team: Đảm bảo thành viên team chia sẻ cấu hình
❌ Bẫy cần tránh
- Quá chi tiết: Đừng viết tiểu thuyết, giữ ngắn gọn và thực tế
- Thông tin Lỗi thời: Thường xuyên dọn dẹp thông tin vô dụng hoặc sai
- Sở thích Cá nhân: Tránh cấu hình quá cá nhân hóa
- Bỏ qua Kinh doanh: Cấu hình kỹ thuật nên phù hợp với nhu cầu kinh doanh
- Tư duy Tĩnh: Cấu hình nên thích ứng với thay đổi dự án
Sau khi nắm vững bản chất của CLAUDE.md, bạn có thể tiếp tục học Chế độ Plan để hiểu cách xử lý các tác vụ phức tạp nhiều bước.