# Project Constitution — [User Project Name]

Đây là Hiến pháp của dự án [User Project Name]. Mọi hoạt động lập trình và thay đổi mã nguồn của Agent đều phải tuân thủ nghiêm ngặt các nguyên tắc dưới đây.

---

## TẦNG 1: Tầm nhìn & Mục tiêu Cốt lõi (Immutable Vision & Core Goals)
*Định nghĩa lý do tồn tại của ứng dụng và các giá trị cốt lõi của sản phẩm.*

### 1. Sứ mệnh & Tầm nhìn (Mission & Vision)
- **Tầm nhìn**: [Mô tả ứng dụng này giải quyết bài toán gì cho người dùng cuối, tầm nhìn của sản phẩm]
- **Trải nghiệm Người dùng (UX/UX Goals)**: Ưu tiên thiết kế giao diện hiện đại, tinh gọn, thời gian phản hồi nhanh và giảm thiểu thao tác phức tạp cho người dùng.

### 2. Mục tiêu Cốt lõi (Core Goals)
- **Kiến trúc & Hiệu năng**: [Xác định các nguyên tắc thiết kế như Clean Architecture, Offline-First, hoặc tối ưu hóa hiệu năng render]
- **Bảo trì & Phát triển**: Mã nguồn phải dễ hiểu, có tài liệu rõ ràng cho các API công khai và module cốt lõi.

---

## TẦNG 2: Giới hạn Cứng Bất biến (Hard Boundaries - 100% Bắt buộc)
*Các quy tắc biên kỹ thuật và an toàn không được phép vi phạm dưới bất kỳ hình thức nào. Nếu Agent phát hiện vi phạm, hệ thống phải dừng lại lập tức.*

### 1. An sau & Bảo mật (Safety & Credentials)
- **Tuyệt đối KHÔNG lưu trữ cứng credentials**: Tất cả API Keys, Tokens, Passwords bắt buộc phải đi qua file cấu hình môi trường cục bộ (`.env`) hoặc keychain an toàn.
- **Khóa hành động phá hủy**: Nghiêm cấm chạy tự động hoặc đề xuất các lệnh gây mất mát dữ liệu (`rm -rf` diện rộng, xóa cơ sở dữ liệu không điều kiện, force push đè lên nhánh chính) nếu không có sự xác nhận thủ công từ người dùng.

### 2. Tính toàn vẹn của Kiến trúc (Architectural Integrity)
- **Tuân thủ Layer**: Không đặt code logic nghiệp vụ trực tiếp trong UI component. Tuân thủ phân tách giữa UI, Logic điều phối (State management) và các Services/Repositories.
- **No Unrelated Code Churn**: Chỉ chỉnh sửa trong phạm vi scope được yêu cầu. Không tự ý refactor lại các file/module khác đang hoạt động ổn định.
- **Preserve Comments**: Không xóa các comment giải thích nghiệp vụ, tài liệu API, docstrings hoặc các ký hiệu đánh dấu đặc biệt của dự án cũ trừ khi đoạn code liên quan bị loại bỏ hoàn toàn.

---

## TẦNG 3: Vùng Dao động & Linh hoạt (Soft Boundaries - Flex Space)
*Những khu vực cho phép Agent và Developer linh hoạt đưa ra quyết định tối ưu, thử nghiệm giải pháp mới hoặc cấu hình theo nhu cầu thực tế mà không cần xin phép trước.*

### 1. Thư viện & Dependencies bổ trợ (Dependencies & Abstractions)
- **Abstractions**: Agent có thể tự do lựa chọn giải pháp viết mã từ đơn giản (stdlib) đến phức tạp (thêm dependency có sẵn) miễn là đáp ứng tiêu chí tối giản và dễ bảo trì.
- **Thư viện bên thứ ba**: Cho phép Agent đề xuất và sử dụng thêm các thư viện tiện ích nhỏ từ registry (như npm, pub.dev, cocoapods) để giải quyết bài toán UI hoặc utility, miễn là không làm tăng đáng kể dung lượng bundle size hoặc vi phạm giấy phép nguồn mở của dự án.

### 2. Giao diện & Trải nghiệm Trực quan (UI/UX Styling)
- **Visual Presentation**: Cách bố trí màu sắc, typography, hoặc các micro-animations có thể được điều chỉnh linh hoạt để đạt tính thẩm mỹ cao nhất.
- **Hàm bổ trợ cục bộ**: Agent được phép tạo thêm các hàm bổ trợ cục bộ (local helper functions) trong phạm vi file đang sửa để giữ mã nguồn sạch sẽ và tránh lặp code, miễn là không thay đổi giao diện API public.
