Kiến trúc Flutter — Feature-First
Skill hướng dẫn Claude thiết kế ứng dụng Flutter theo kiến trúc phân lớp UI/Domain/Data với cấu trúc thư mục theo tính năng.
Lập trìnhTrung cấp★ 644⑂ 67Điểm AI 9/10Cập nhật lần cuối: 14 thg 9, 2026
Skill này làm được gì
- Áp dụng kiến trúc khuyến nghị chính thức của Flutter: lớp UI / lớp Logic (tùy chọn) / lớp Data, kèm quy tắc giao tiếp rõ ràng (UI không được gọi Service trực tiếp; chỉ Repository được thay đổi dữ liệu — SSOT).
- Đưa ra mẫu cấu trúc thư mục feature-first:
lib/features/<tính năng>/data|domain|ui, phần dùng chung tách vàocore/vàshared/. - Trung lập với state management: ViewModel, Cubit/Bloc, Provider/Riverpod Notifier đều được, kèm bảng quy ước đặt tên file.
- Mô tả trách nhiệm của View, Business Logic Holder, Repository, Service kèm ví dụ code Dart và ví dụ đăng ký DI với
get_it. - Quy trình 7 bước để thêm tính năng mới: tạo thư mục → Service → Repository → ViewModel → View → đăng ký DI → kiểm tra luồng dữ liệu một chiều.
Phù hợp với ai
- Lập trình viên Flutter bắt đầu dự án mới và muốn có cấu trúc dễ mở rộng ngay từ đầu.
- Nhóm đang muốn refactor ứng dụng cũ từ cách chia theo loại file sang chia theo tính năng.
- Tech lead muốn chuẩn hóa convention kiến trúc cho cả team và cho công cụ AI.
Ví dụ sử dụng
- "Thêm tính năng đăng nhập" → tạo
features/auth/vớiauth_api_service.dart,auth_repository.dart,auth_viewmodel.dart,login_screen.dartvà đăng ký vào service locator. - "Logic cache nên đặt ở đâu?" → skill xác định Repository là SSOT nên cache, xử lý lỗi và refresh thuộc Repository.
- "Logic tính toán này dùng ở 3 màn hình" → đánh giá xem có nên tạo Use Case trong
domain/hay không và đặt file ở đâu.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/evanca/flutter-ai-rules/HEAD/skills/architecture-feature-first/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục skills/architecture-feature-first từ repo GitHub evanca/flutter-ai-rules vào ~/.claude/skills/architecture-feature-first/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/evanca/flutter-ai-rules.git && mkdir -p ~/.claude/skills && cp -r flutter-ai-rules/skills/architecture-feature-first ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và về thư mục home:
cd ~ - Clone repo chứa skill:
git clone https://github.com/evanca/flutter-ai-rules.git - Tạo thư mục skills của Claude:
mkdir -p ~/.claude/skills - Copy riêng skill này:
cp -r flutter-ai-rules/skills/architecture-feature-first ~/.claude/skills/ - Kiểm tra: chạy
ls ~/.claude/skills/architecture-feature-first, thấy fileSKILL.mdlà thành công. - Khởi động lại Claude Code, rồi trong dự án Flutter hãy yêu cầu ví dụ "tạo cấu trúc thư mục cho tính năng mới" — skill sẽ tự kích hoạt.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT