Trung cấp
⏱ 20 phút
5
CLAUDE.md — Bộ nhớ Dự án
Tạo CLAUDE.md để Claude Code hiểu dự án của bạn sâu hơn qua mỗi phiên làm việc
🎯 Mục tiêu bài học
- ✓ Hiểu vai trò của CLAUDE.md trong Claude Code
- ✓ Biết cách tạo CLAUDE.md hiệu quả cho dự án
- ✓ Áp dụng CLAUDE.md để tăng chất lượng output
CLAUDE.md là gì?
CLAUDE.md là file văn bản đặc biệt ở thư mục gốc của dự án. Claude Code tự động đọc file này mỗi khi khởi động — giúp AI hiểu ngay bối cảnh, quy ước, và yêu cầu đặc biệt của dự án mà không cần bạn giải thích lại.
Tạo CLAUDE.md tự động
> /init
Claude Code sẽ scan toàn bộ dự án và tự tạo CLAUDE.md với thông tin về stack, cấu trúc, và conventions. Sau đó bạn review và chỉnh sửa thêm.
Cấu trúc CLAUDE.md mẫu
# ClaudeLearn Project
## Tech Stack
- Backend: FastAPI (Python 3.12)
- Database: AWS DynamoDB
- Frontend: Jinja2 templates + Tailwind CSS
- Deploy: AWS Elastic Beanstalk + CodePipeline
## Project Structure
- application.py — FastAPI entry point (EB uses this)
- app/database.py — DynamoDB client và helpers
- app/lessons_data.py — Seed data cho các bài học
- templates/ — Jinja2 HTML templates
- .ebextensions/ — Elastic Beanstalk config
## Development Commands
- Run local: uvicorn application:app --reload --port 8000
- Install deps: pip install -r requirements.txt
## Conventions
- Tên biến bằng tiếng Anh, comment bằng tiếng Việt
- Mọi function phải có type hints
- DynamoDB items dùng snake_case cho attribute names
- HTML templates dùng block content để extend base.html
## Important Notes
- KHÔNG dùng SQL database — chỉ DynamoDB
- AWS region: us-east-1
- DYNAMODB_TABLE env var để config tên bảng
Những gì nên đưa vào CLAUDE.md
- Tech stack và phiên bản — Python 3.12, React 18, PostgreSQL 15...
- Cấu trúc thư mục — Giải thích vai trò từng thư mục quan trọng
- Lệnh thường dùng — npm test, make build, docker compose up...
- Conventions — Code style, naming, comment language
- Điều KHÔNG được làm — Không mock DB, không commit .env, không dùng any type
- Thông tin domain — Thuật ngữ nghiệp vụ đặc thù của dự án
CLAUDE.md nhiều cấp
Bạn có thể đặt CLAUDE.md ở nhiều cấp:
project/
├── CLAUDE.md ← Toàn bộ project
├── frontend/
│ └── CLAUDE.md ← Chỉ áp dụng khi làm việc trong frontend/
└── backend/
└── CLAUDE.md ← Chỉ áp dụng khi làm việc trong backend/
💡 Mẹo
Sau mỗi lần bạn dạy Claude Code điều gì đó mới về dự án, hãy thêm vào CLAUDE.md. File này sẽ ngày càng "thông minh" hơn theo thời gian.