# Chương 2: Cài đặt & Thiết lập hệ thống

# Trang 2.1: Yêu cầu hệ thống (Chi tiết về phiên bản Node.js >= 16 và Python >= 3.10).

## 1. Tóm tắt yêu cầu

Trước khi cài đặt Antigravity Kit, hãy đảm bảo máy tính của bạn đã đáp ứng các yêu cầu tối thiểu sau:

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-th%C3%A0nh-ph%E1%BA%A7n-phi%C3%AAn-b%E1%BA%A3n"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Thành phần</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Phiên bản tối thiểu</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Mục đích sử dụng</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Node.js**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">16.0 hoặc mới hơn</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chạy công cụ CLI `ag-kit` và ứng dụng web</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**npm** hoặc **yarn**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Đi kèm với Node.js</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Quản lý gói phụ thuộc</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Python**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">3.10 hoặc mới hơn</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chạy các script kiểm tra tự động của Kit</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Git**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Bất kỳ phiên bản nào</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cập nhật Kit và quản lý phiên bản</td></tr></tbody></table>

</div>---

## 2. Node.js

### Tại sao cần Node.js?

Công cụ dòng lệnh `ag-kit` được xây dựng trên nền tảng Node.js. Bạn cần Node.js để:

- Chạy lệnh `npx @vudovn/ag-kit init` để cài đặt bộ kit.
- Sử dụng lệnh `ag-kit` nếu cài đặt toàn cục.

### Kiểm tra phiên bản Node.js

Mở Terminal (Command Prompt / PowerShell) và chạy:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--1" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
node --version
```

Kết quả hợp lệ phải hiển thị phiên bản **&gt;= 16.0**, ví dụ: `v20.11.0`.

### Cài đặt Node.js

Nếu chưa có, tải và cài đặt từ trang chính thức:

- **Khuyến nghị:** [nodejs.org](https://nodejs.org/) — Chọn phiên bản **LTS (Long Term Support)** để đảm bảo ổn định.

> **Mẹo:** Nên cài đặt phiên bản Node.js LTS mới nhất (hiện tại là **Node.js 20.x LTS**) để có sự tương thích tốt nhất với tất cả các gói npm hiện đại.

---

## 3. Python

### Tại sao cần Python?

Các script kiểm tra chất lượng tự động của Antigravity Kit (<span class="inline-flex break-all leading-tight">checklist.py</span>, <span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">verify\_all.py</span></span></span>) và nhiều script con trong từng Skill đều được viết bằng Python. Để các tính năng tự động hóa hoạt động, Python phải:

1. Được cài đặt trên máy tính.
2. Có thể gọi bằng lệnh `python` (hoặc `python3`) từ bất kỳ vị trí nào trong Terminal.

### Kiểm tra phiên bản Python

```bash
python --version

```

Kết quả hợp lệ phải hiển thị phiên bản **&gt;= 3.10**, ví dụ: `Python 3.12.1`.

### Cài đặt Python (Windows)

<div id="bkmrk-t%E1%BA%A3i-t%E1%BB%AB-python.org.-t">1. Tải từ [python.org](https://www.python.org/downloads/).
2. Trong quá trình cài đặt, **bắt buộc phải tích chọn** vào ô **"Add Python to PATH"** ở màn hình đầu tiên của trình cài đặt.
3. Sau khi cài xong, mở lại Terminal mới và chạy `python --version` để xác nhận.

  
</div>> <div>**Lưu ý quan trọng (Windows):** Nếu bỏ qua bước tích chọn "Add Python to PATH", lệnh `python` sẽ không được nhận dạng và các script kiểm tra của Kit sẽ không hoạt động. Bạn có thể khắc phục bằng cách gỡ cài đặt và cài lại Python với tùy chọn đó.</div>

### Cài đặt Python (macOS / Linux)

```bash
# macOS (dùng Homebrew)
brew install python3

# Ubuntu / Debian
sudo apt update && sudo apt install python3 python3-pip

```

## 4. Git

### Tại sao cần Git?

- Lệnh `ag-kit update` dùng Git để tải phiên bản mới nhất của bộ kit từ GitHub.
- Cho phép bạn commit thư mục `.agent/` vào repository của dự án để chia sẻ cấu hình với cả đội.

### Kiểm tra phiên bản Git

```bash
bash
git --version
```

Kết quả hợp lệ ví dụ: `git version 2.43.0`.

### Cài đặt Git

- **Windows:** Tải từ [git-scm.com](https://git-scm.com/).
- **macOS:** Chạy `brew install git` hoặc cài Xcode Command Line Tools.
- **Linux:** `sudo apt install git` (Ubuntu/Debian) hoặc `sudo dnf install git` (Fedora).

---

## 5. Kiểm tra nhanh toàn bộ hệ thống

Chạy các lệnh sau để kiểm tra tất cả thành phần cùng lúc:

```bash
node --version   # Kiểm tra Node.js
npm --version    # Kiểm tra npm
python --version # Kiểm tra Python
git --version    # Kiểm tra Git

```

Nếu tất cả đều trả về số phiên bản hợp lệ, hệ thống của bạn đã sẵn sàng để cài đặt Antigravity Kit.

---

## 6. Hệ điều hành được hỗ trợ

Antigravity Kit tương thích với tất cả các hệ điều hành phổ biến:

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-h%E1%BB%87-%C4%91i%E1%BB%81u-h%C3%A0nh-tr%E1%BA%A1ng-t"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Hệ điều hành</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Trạng thái</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Ghi chú</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Windows 10/11**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Được hỗ trợ đầy đủ</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Có thể dùng Command Prompt, PowerShell hoặc Windows Terminal</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**macOS**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Được hỗ trợ đầy đủ</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Khuyến nghị dùng iTerm2 hoặc Terminal tích hợp sẵn</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Linux (Ubuntu, Debian, Fedora...)**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Được hỗ trợ đầy đủ</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Dùng bất kỳ terminal chuẩn nào</td></tr></tbody></table>

</div>---

> **Sau khi đảm bảo đủ các yêu cầu trên**, hãy chuyển sang **Trang 2.2: Hướng dẫn cài đặt nhanh** để tiến hành cài đặt Antigravity Kit vào dự án của bạn.

# Trang 2.2: Hướng dẫn cài đặt nhanh (Sử dụng lệnh npx).

## 1. Trước khi bắt đầu

Đảm bảo các yêu cầu hệ thống đã được đáp ứng (tham khảo **Trang 2.1: Yêu cầu hệ thống**):

- ✅ Node.js &gt;= 16.0
- ✅ Python &gt;= 3.10 (trong PATH)
- ✅ Git

---

## 2. Phương pháp 1: Cài đặt nhanh bằng `npx` (Khuyến nghị)

Đây là cách **nhanh nhất và đơn giản nhất** để bắt đầu. Bạn không cần cài bất kỳ thứ gì lên toàn bộ máy tính.

### Bước 1: Di chuyển vào thư mục dự án

Mở Terminal và di chuyển vào thư mục gốc của dự án bạn muốn cài đặt:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--1" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
cd đường/dẫn/đến/dự-án-của-bạn
```

**Ví dụ:**

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--2" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="5" data-line-number="5" data-line-start="5"><div class="line-content"></div></div></div></div></div></div>```bash
bash
# Windows
cd C:\Users\ten-ban\Projects\my-awesome-project


# macOS / Linux
cd ~/Projects/my-awesome-project
```

### Bước 2: Chạy lệnh cài đặt

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--3" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
npx @vudovn/ag-kit init
```

`npx` sẽ tự động tải công cụ `ag-kit` về (tạm thời) và chạy lệnh khởi tạo. Bạn **không cần** cài đặt gì trước đó.

### Bước 3: Chờ quá trình hoàn tất

Quá trình cài đặt sẽ tự động:

1. Kết nối với GitHub để tải phiên bản mới nhất.
2. Tạo thư mục `.agent/` trong dự án của bạn.
3. Bơm toàn bộ 20 Agents, 36 Skills và 11 Workflows vào đó.

Khi hiển thị thông báo thành công, quá trình cài đặt đã hoàn tất.

---

## 3. Phương pháp 2: Cài đặt toàn cục (`Global Install`)

Phương pháp này phù hợp nếu bạn làm việc với **nhiều dự án khác nhau** và muốn dùng lệnh `ag-kit` từ bất kỳ đâu.

### Bước 1: Cài đặt `ag-kit` lên toàn bộ máy

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--5" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
npm install -g @vudovn/ag-kit
```

Lệnh này chỉ cần chạy **một lần duy nhất** trên máy tính của bạn.

### Bước 2: Xác nhận cài đặt thành công

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--6" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
ag-kit --version
```

Nếu hiển thị số phiên bản, cài đặt toàn cục đã thành công.

### Bước 3: Khởi tạo vào từng dự án

Mỗi khi muốn tích hợp vào một dự án mới, di chuyển vào thư mục dự án đó và chạy:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--7" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="2" data-line-number="2" data-line-start="2"><div class="line-content"></div></div></div></div></div></div>```bash
bash
cd đường/dẫn/đến/dự-án
ag-kit init
```

---

## 4. Điều gì xảy ra sau khi cài đặt?

Sau khi cài đặt thành công, một thư mục `.agent/` sẽ xuất hiện trong dự án của bạn với cấu trúc như sau:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--9" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="12" data-line-number="12" data-line-start="12"><div class="line-content"></div></div></div></div></div></div>```html
your-project/
├── src/
├── package.json
├── ...
└── .agent/ ← Thư mục mới được tạo ra
├── ARCHITECTURE.md # Tài liệu kiến trúc tổng thể của Kit
├── AGENT_FLOW.md # Sơ đồ luồng hoạt động của các Agent
├── agents/ # 20 file cấu hình Specialist Agent
├── skills/ # 36 thư mục Knowledge Module (Skills)
├── workflows/ # 11 file quy trình làm việc (Workflows)
├── rules/ # Quy tắc hành vi toàn cục (GEMINI.md)
└── scripts/ # Script kiểm tra Python tổng thể
```

Từ thời điểm này, khi bạn mở dự án và bắt đầu trò chuyện với AI, nó sẽ tự động đọc các cấu hình trong thư mục `.agent/` và hoạt động như một đội chuyên gia.

---

## 5. Quan trọng: Cấu hình <span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">.gitignore</span></span></span>

### Vấn đề

Nếu bạn đang dùng các trình soạn thảo AI như **Cursor** hoặc **Windsurf**, việc thêm `.agent/` vào

<div id="bkmrk--11">  
</div><span class="inline-flex break-all leading-tight">.gitignore</span> sẽ khiến IDE không index được thư mục này. Hậu quả là các **Slash Commands** (như `/plan`, `/debug`) sẽ **không xuất hiện** trong dropdown gợi ý của chat.

### Giải pháp được khuyến nghị

**Không** thêm `.agent/` vào file

<div id="bkmrk--12">  
</div><span class="inline-flex break-all leading-tight">.gitignore</span> chung của dự án. Thay vào đó, thêm vào file **local git exclude** (chỉ áp dụng trên máy tính của bạn):

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--13" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="2" data-line-number="2" data-line-start="2"><div class="line-content"></div></div></div></div></div></div>```bash
bash
# Mở file local exclude
echo ".agent/" >> .git/info/exclude
```

Cách này giúp:

- ✅ Git **không** track thư mục `.agent/` lên remote repository.
- ✅ IDE vẫn **index** được thư mục để Slash Commands hoạt động.
- ✅ Thư mục `.agent/` hoàn toàn **cục bộ** (local) và không ảnh hưởng đến <div>  
    </div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">.gitignore</span></span></span> chung.

> **Lưu ý:** Nếu bạn muốn **chia sẻ cấu hình Kit** với toàn bộ đội ngũ (khuyến nghị cho các dự án nhóm), hãy commit thư mục `.agent/` bình thường vào Git. Cách này đảm bảo mọi người trong đội đều dùng cùng một bộ Agent, Skill và Workflow đã được thống nhất.

---

## 6. Cập nhật lên phiên bản mới

Khi có phiên bản mới của Antigravity Kit, bạn có thể cập nhật bằng lệnh:

```bash
bash
ag-kit update
```

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--15" node="[object Object]"><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>> ⚠️ **Cảnh báo:** Lệnh `update` sẽ **xóa và thay thế toàn bộ** thư mục `.agent/` bằng phiên bản mới nhất. Nếu bạn có các Workflow hoặc Agent tùy chỉnh, hãy **sao lưu** trước khi cập nhật.

---

## 7. Xử lý sự cố thường gặp

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-v%E1%BA%A5n-%C4%91%E1%BB%81-nguy%C3%AAn-nh%C3%A2n-g"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Vấn đề</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Nguyên nhân</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Giải pháp</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`npx: command not found`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Node.js chưa được cài đặt</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài đặt Node.js từ nodejs.org</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`ag-kit: command not found`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài đặt toàn cục chưa thành công</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chạy lại `npm install -g @vudovn/ag-kit`</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Thư mục `.agent/` đã tồn tại</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Đã cài đặt trước đó</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Thêm tham số `--force`: `ag-kit init --force`</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Script Python không chạy</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Python không có trong PATH</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài lại Python với tùy chọn "Add to PATH"</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Slash commands không hiện</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`.agent/` bị trong <div>  
</div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">.gitignore</span></span></span></td><td class="px-3 py-2 leading-snug border border-gray-500/20">Dùng <div>  
</div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">.git/info/exclude</span></span></span> thay thế (xem Mục 5)</td></tr></tbody></table>

</div>---

> **Bước tiếp theo:** Sau khi cài đặt thành công, hãy đọc **Trang 3.1: AI Agents và cơ chế định tuyến thông minh** để hiểu cách tận dụng tối đa bộ kit.

# Trang 2.3: Cài đặt toàn cục (Global Install) và cấu hình biến môi trường PATH.

## 1. Cài đặt toàn cục là gì?

**Cài đặt toàn cục (Global Install)** có nghĩa là bộ công cụ `ag-kit` được cài đặt ở cấp độ **toàn bộ hệ thống** thay vì chỉ trong một dự án cụ thể. Sau khi cài toàn cục, bạn có thể gõ lệnh `ag-kit` từ bất kỳ thư mục nào trên máy tính.

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-%C2%A0-c%C3%A0i-%C4%91%E1%BA%B7t-nhanh-%28npx"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20"> </th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Cài đặt nhanh (`npx`)</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Cài đặt toàn cục (`npm -g`)</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Tốc độ lần đầu**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chậm hơn (phải tải mỗi lần)</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Nhanh hơn (đã có sẵn)</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Cần cài trước**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Không</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Có</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Phù hợp khi**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Dùng thỉnh thoảng</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Dùng thường xuyên, nhiều dự án</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Cập nhật**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Tự động lấy bản mới nhất</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cần chạy lại lệnh cài</td></tr></tbody></table>

</div>---

## 2. Cài đặt toàn cục lên hệ thống

### Bước 1: Mở Terminal với quyền phù hợp

- **Windows:** Mở **PowerShell** hoặc **Command Prompt** (không cần quyền Admin nếu npm được cài bình thường).
- **macOS/Linux:** Mở **Terminal** thông thường.

### Bước 2: Chạy lệnh cài đặt toàn cục

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--1" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
npm install -g @vudovn/ag-kit
```

`-g` là tham số báo cho npm biết đây là cài đặt toàn cục (global).

### Bước 3: Xác nhận cài đặt thành công

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--2" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
ag-kit --version
```

Nếu hiển thị số phiên bản (ví dụ: `2.0.2`), cài đặt đã thành công.

### Bước 4: Khởi tạo cho từng dự án

Mỗi khi cần dùng cho một dự án mới, chỉ cần:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--3" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="2" data-line-number="2" data-line-start="2"><div class="line-content"></div></div></div></div></div></div>```bash
bash
cd đường/dẫn/dự-án
ag-kit init
```

---

## 3. Biến môi trường PATH là gì và tại sao quan trọng?

**PATH** là một biến môi trường của hệ thống. Nó chứa danh sách các thư mục mà hệ điều hành sẽ tự động tìm kiếm khi bạn gõ một lệnh trong Terminal.

**Ví dụ dễ hiểu:** Khi bạn gõ `ag-kit init`, hệ điều hành sẽ duyệt qua từng thư mục trong biến PATH để tìm xem có file thực thi tên `ag-kit` ở đâu không. Nếu tìm thấy → chạy. Nếu không → báo lỗi "command not found".

**Vì sao điều này quan trọng với Antigravity Kit?**

- Lệnh `ag-kit` cần có trong PATH để bạn gọi được từ mọi nơi.
- Lệnh `python` cần có trong PATH để các **script kiểm tra tự động** của Kit có thể chạy được.

---

## 4. Kiểm tra và cấu hình PATH

### Kiểm tra PATH hiện tại

**Windows (PowerShell):**

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--6" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```powershell
powershell
$env:PATH -split ";"
```

**macOS / Linux:**

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--7" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```bash
bash
echo $PATH
```

### Kiểm tra `ag-kit` có trong PATH chưa

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--8" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="3" data-line-number="3" data-line-start="3"><div class="line-content"></div></div></div></div></div></div>```bash
bash
# Tất cả hệ điều hành
where ag-kit # Windows
which ag-kit # macOS / Linux
```

Nếu lệnh trên trả về đường dẫn (ví dụ: `C:\Users\ten-ban\AppData\Roaming\npm\ag-kit`), bạn đã cấu hình đúng.

### Kiểm tra `python` có trong PATH chưa

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--9" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="2" data-line-number="2" data-line-start="2"><div class="line-content"></div></div></div></div></div></div>```bash
bash
where python # Windows
which python # macOS / Linux
```

---

## 5. Cấu hình PATH thủ công (khi gặp lỗi)

### Windows — Thêm thư mục npm global vào PATH

**B1:** Tìm thư mục npm global:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--11" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```powershell
powershell
npm config get prefix
```

Kết quả thường là: `C:\Users\ten-ban\AppData\Roaming\npm`

**B2:** Thêm vào PATH:

1. Mở **Settings** → tìm kiếm "Environment Variables".
2. Nhấn "**Edit the system environment variables**".
3. Chọn biến **Path** trong phần "User variables" → nhấn **Edit**.
4. Nhấn **New** → dán đường dẫn từ Bước 1 vào.
5. Nhấn **OK** và **khởi động lại Terminal**.

**B3:** Xác nhận lại:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--12" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```powershell
powershell
ag-kit --version
```

### macOS / Linux — Thêm vào `.bashrc` hoặc `.zshrc`

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--13" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="11" data-line-number="11" data-line-start="11"><div class="line-content"></div></div></div></div></div></div>```bash
bash
# Tìm thư mục npm global
npm config get prefix
# Thường là: /usr/local hoặc /home/ten-ban/.npm-global


# Thêm vào file cấu hình shell
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
# Hoặc cho bash:
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc


# Áp dụng thay đổi
source ~/.zshrc # hoặc source ~/.bashrc
```

---

## 6. Quy trình làm việc điển hình với nhiều dự án

Đây là quy trình khuyến nghị khi bạn làm việc với nhiều dự án trên cùng một máy:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--15" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="9" data-line-number="9" data-line-start="9"><div class="line-content"></div></div></div></div></div></div>```html
1. Cài đặt một lần:
npm install -g @vudovn/ag-kit


2. Cho mỗi dự án mới:
cd my-new-project
ag-kit init


3. Cập nhật định kỳ (không làm thường xuyên):
ag-kit update ← chạy trong thư mục dự án
```

---

## 7. Gỡ cài đặt toàn cục (khi cần)

Nếu bạn muốn gỡ bỏ cài đặt toàn cục:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--17" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1"><div class="line-content"></div></div></div></div></div></div>```html
bash
npm uninstall -g @vudovn/ag-kit
```

> **Lưu ý:** Gỡ cài đặt toàn cục không xóa bất kỳ thư mục `.agent/` nào đã được tạo trong các dự án. Để xóa khỏi một dự án cụ thể, hãy xóa thủ công thư mục `.agent/` đó.

# Trang 2.4: Giải thích cấu trúc thư mục .agent/ (Agents, Skills, Workflows, Rules, Scripts).

## 1. Tổng quan cấu trúc

Sau khi chạy lệnh `ag-kit init`, thư mục `.agent/` được tạo ra trong dự án của bạn với cấu trúc như sau:

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk-" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="9" data-line-number="9" data-line-start="9"><div class="line-content">  
</div></div></div></div></div></div>```html
.agent/
├── ARCHITECTURE.md # Tài liệu kiến trúc tổng thể
├── AGENT_FLOW.md # Sơ đồ luồng hoạt động chi tiết
├── mcp_config.json # Cấu hình MCP servers (tích hợp bên thứ 3)
├── agents/ # 20 file cấu hình Specialist Agent
├── skills/ # 36 thư mục kiến thức chuyên sâu
├── workflows/ # 11 file quy trình làm việc
├── rules/ # Quy tắc hành vi toàn cục (GEMINI.md)
└── scripts/ # Script kiểm tra tổng thể (Python)
```

Mỗi thư mục có một vai trò cụ thể và rõ ràng. Dưới đây là giải thích chi tiết từng thành phần.

---

## 2. File <span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">ARCHITECTURE.md</span></span></span>

**Đây là "bản đồ hệ thống"** dành cho AI.

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-m%E1%BB%A5c-n%E1%BB%99i-dung-m%E1%BB%A5c-%C4%91%C3%ADc"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Mục</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Nội dung</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Mục đích**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cung cấp cái nhìn tổng thể về toàn bộ kiến trúc của Kit cho AI</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Nội dung**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Danh sách đầy đủ 20 Agents (vai trò + Skills sử dụng), 36 Skills (phân loại theo nhóm), 11 Workflows (mô tả ngắn) và 2 master scripts</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Ai đọc**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">AI đọc file này đầu tiên khi khởi động để hiểu hệ sinh thái</td></tr></tbody></table>

</div>> **Lưu ý:** Không nên sửa file này trừ khi bạn thêm Agent hoặc Skill tùy chỉnh và muốn AI biết về chúng.

---

## 3. File <span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">AGENT\_FLOW.md</span></span></span>

**Đây là "hướng dẫn vận hành"** — mô tả chi tiết cách AI phải hành xử.

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-m%E1%BB%A5c-n%E1%BB%99i-dung-m%E1%BB%A5c-%C4%91%C3%ADc-1"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Mục</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Nội dung</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Mục đích**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Tài liệu hóa giao thức định tuyến Agent, bước kiểm tra bắt buộc và cổng Socratic</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Nội dung**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Quy trình từng bước để AI chọn Agent, Checklist bắt buộc trước khi viết code, mô tả luồng làm việc từ yêu cầu đến kết quả</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Phiên bản**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Được thêm vào từ phiên bản 2.0.1</td></tr></tbody></table>

</div>---

## 4. File <span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">mcp\_config.json</span></span></span>

**Cấu hình tích hợp dịch vụ bên thứ 3** thông qua giao thức MCP (Model Context Protocol).

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--7" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="7" data-line-number="7" data-line-start="7"><div class="line-content">  
</div></div></div></div></div></div>```json
json
{
"mcpServers": {
"context7": { ... }, // Tích hợp Context7 (tài liệu thư viện real-time)
"shadcn": { ... } // Tích hợp ShadCN UI
// Có thể thêm các MCP server khác tại đây
}
}
```

> **Lưu ý:** Để sử dụng, bạn cần copy file cấu hình này đến đúng vị trí mà Antigravity CLI nhận diện (thường là `~/.gemini/antigravity/mcp_config.json`). Xem tài liệu Antigravity CLI để biết thêm chi tiết.

---

## 5. Thư mục `agents/` — 20 Specialist Agents

### Cấu trúc

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--9" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="7" data-line-number="7" data-line-start="7"><div class="line-content">  
</div></div></div></div></div></div>```html
.agent/agents/
├── orchestrator.md
├── frontend-specialist.md
├── backend-specialist.md
├── security-auditor.md
├── debugger.md
└── ... (16 file khác)
```

### Vai trò

Mỗi file <span class="inline-flex break-all leading-tight">.md</span> là cấu hình đầy đủ cho một Agent chuyên gia. File bao gồm:

- **Phần YAML** (giữa `---`): `name`, `description`, `tools`, và quan trọng nhất là `skills` — danh sách các Skills Agent này được phép truy cập.
- **Phần Markdown**: Mô tả nhân cách, vai trò chuyên môn, các quy tắc hành vi riêng của Agent đó.

### Ví dụ nội dung một file Agent

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--10" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="16" data-line-number="16" data-line-start="16"><div class="line-content">  
</div></div></div></div></div></div>```yaml
yaml
---
name: frontend-specialist
description: Frontend architect for modern web applications
tools: Read, Edit, Write, Bash
skills: react-best-practices, frontend-design, tailwind-patterns, web-design-guidelines
---


# Frontend Specialist


Bạn là một kiến trúc sư Frontend cấp cao với 10+ năm kinh nghiệm...


## Quy tắc bắt buộc
- Luôn ưu tiên Core Web Vitals (LCP, CLS, INP)
- Không dùng màu tím/violet trong thiết kế (Purple Ban)
- Áp dụng mobile-first responsive design
...
```

---

## 6. Thư mục `skills/` — 36 Knowledge Modules

### Cấu trúc

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--12" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="18" data-line-number="18" data-line-start="18"><div class="line-content">  
</div></div></div></div></div></div>```html
.agent/skills/
├── react-best-practices/
│ ├── SKILL.md # (Bắt buộc) Metadata và hướng dẫn chính
│ ├── sections/ # Hướng dẫn chi tiết theo từng phần
│ └── scripts/ # Script Python/Bash hỗ trợ (nếu có)
├── api-patterns/
│ └── SKILL.md
├── vulnerability-scanner/
│ ├── SKILL.md
│ └── scripts/
│ ├── security_scan.py
│ └── dependency_analyzer.py
├── frontend-design/
│ ├── SKILL.md
│ └── scripts/
│ ├── ux_audit.py
│ └── accessibility_checker.py
└── ... (32 thư mục khác)
```

### Vai trò

- Mỗi thư mục là một **gói kiến thức độc lập** cho một lĩnh vực cụ thể.
- File <div>  
    </div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">SKILL.md</span></span></span> là bộ não của mỗi Skill, chứa các nguyên lý ra quyết định thay vì code mẫu cứng nhắc.
- Thư mục `scripts/` (nếu có) chứa các công cụ thực thi Python/Bash để Agent có thể tự chạy kiểm tra.

### Skills có script đặc biệt

Các Skills sau có kèm script Python để thực hiện kiểm tra tự động:

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-skill-scripts-t%C3%A1c-d%E1%BB%A5"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Skill</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Scripts</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Tác dụng</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`vulnerability-scanner`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`security_scan.py`, `dependency_analyzer.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Quét lỗ hổng bảo mật</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`lint-and-validate`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`lint_runner.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Kiểm tra chất lượng code</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`database-design`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`schema_validator.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Kiểm tra tính nhất quán DB schema</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`testing-patterns`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`test_runner.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chạy bộ test tự động</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`frontend-design`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`ux_audit.py`, `accessibility_checker.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Kiểm tra UX và Accessibility</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`seo-fundamentals`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`seo_checker.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Kiểm tra các yếu tố SEO</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`performance-profiling`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`bundle_analyzer.py`, `lighthouse_audit.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Đo lường hiệu năng</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`webapp-testing`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`playwright_runner.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chạy E2E test</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`mobile-design`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`mobile_audit.py`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Kiểm tra giao diện mobile</td></tr></tbody></table>

</div>---

## 7. Thư mục `workflows/` — 11 Slash Commands

### Cấu trúc

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--14" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="12" data-line-number="12" data-line-start="12"><div class="line-content">  
</div></div></div></div></div></div>```html
.agent/workflows/
├── brainstorm.md
├── create.md
├── debug.md
├── deploy.md
├── enhance.md
├── orchestrate.md
├── plan.md
├── preview.md
├── status.md
├── test.md
└── ui-ux-pro-max.md
```

### Vai trò

Mỗi file <span class="inline-flex break-all leading-tight">.md</span> là định nghĩa đầy đủ cho một quy trình làm việc. File bao gồm:

- **Phần YAML**: `description` — mô tả ngắn gọn kích hoạt thứ gì trong IDE.
- **Phần Markdown**: Các bước thực hiện chi tiết, quyết định điều kiện, và các `// turbo` annotation (cho phép AI tự chạy lệnh an toàn ở bước đó).

### Cách thêm Workflow tùy chỉnh

Bạn có thể thêm Workflow riêng bằng cách tạo file mới:

```html
.agent/workflows/my-custom-workflow.md
```

Sau đó gọi bằng lệnh `/my-custom-workflow` trong chat với AI.

---

## 8. Thư mục `rules/` — Quy tắc toàn cục

### Cấu trúc

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--16" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5"><div class="font-sans text-sm text-ide-text-color opacity-60">  
</div><div class="flex flex-row gap-2 justify-end">  
</div></div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="1" data-line-number="1" data-line-start="1">  
</div><div class="code-line" data-line-end="2" data-line-number="2" data-line-start="2"><div class="line-content">  
</div></div></div></div></div></div>```html
.agent/rules/
└── GEMINI.md # File quy tắc chính, luôn được áp dụng
```

### Vai trò của `GEMINI.md`

Đây là file **quan trọng nhất** trong toàn bộ hệ thống. Nó chứa:

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-ph%E1%BA%A7n-n%E1%BB%99i-dung-tier-0"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Phần</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Nội dung</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**TIER 0 — Universal Rules**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Quy tắc luôn áp dụng: Xử lý ngôn ngữ, code sạch, nhận thức phụ thuộc file</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Request Classifier**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Bảng phân loại yêu cầu (Question, Survey, Simple Code, Complex Code, Design...)</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Intelligent Routing**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Giao thức tự động chọn Agent phù hợp</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Agent Routing Checklist**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Các bước bắt buộc AI phải làm trước khi viết code</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**TIER 1 — Code Rules**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Quy tắc khi viết code: Chọn project type, Socratic Gate</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Gemini Mode Mapping**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Ánh xạ Plan/Ask/Edit mode sang Agent tương ứng</td></tr></tbody></table>

</div>> **Tùy chỉnh:** `GEMINI.md` có thể được chỉnh sửa để thêm các quy tắc riêng của dự án hoặc tổ chức. Ví dụ: thêm quy tắc về naming convention, ngôn ngữ bình luận code, hay các pattern cấm dùng.

---

## 9. Thư mục `scripts/` — Master Validation Scripts

### Cấu trúc

```html
.agent/scripts/
├── checklist.py # Kiểm tra ưu tiên (P0→P6)
├── verify_all.py # Kiểm tra toàn diện (bao gồm Lighthouse, Playwright)
├── auto_preview.py # Tự động khởi chạy server xem trước
└── session_manager.py # Quản lý trạng thái phiên làm việc AI
```

### So sánh hai main scripts

<div class="my-4 rounded-lg overflow-hidden border border-gray-500/20 [&_thead_tr:first-child_th:first-child]:border-t-0 [&_thead_tr:first-child_th:first-child]:border-l-0 [&_thead_tr:first-child_th:last-child]:border-t-0 [&_thead_tr:first-child_th:last-child]:border-r-0 [&_tbody_tr:last-child_td:first-child]:border-b-0 [&_tbody_tr:last-child_td:first-child]:border-l-0 [&_tbody_tr:last-child_td:last-child]:border-b-0 [&_tbody_tr:last-child_td:last-child]:border-r-0 [&_thead_tr:first-child_th]:border-t-0 [&_tbody_tr:last-child_td]:border-b-0 [&_th:first-child]:border-l-0 [&_td:first-child]:border-l-0 [&_th:last-child]:border-r-0 [&_td:last-child]:border-r-0" id="bkmrk-ti%C3%AAu-ch%C3%AD-checklist.p"><table class="min-w-full border-separate border-spacing-0"><thead><tr><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Tiêu chí</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20"><div>  
</div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">checklist.py</span></span></span></th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20"><div>  
</div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">verify\_all.py</span></span></span></th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Khi nào dùng**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Phát triển hàng ngày, trước commit</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Trước khi release production</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Tốc độ**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Nhanh (dừng ngay khi có lỗi nghiêm trọng)</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chậm hơn (chạy toàn bộ)</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Yêu cầu**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Không cần URL</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Cần cung cấp URL để chạy Lighthouse &amp; Playwright</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">**Phạm vi kiểm tra**</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Security, Lint, Schema, Tests, UX, SEO</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Tất cả của checklist + Lighthouse, Playwright, Bundle, Mobile, i18n</td></tr></tbody></table>

</div>### Cách chạy thủ công

<div class="relative whitespace-pre-wrap word-break-all my-2 rounded-lg bg-list-hover-subtle border border-gray-500/20" id="bkmrk--18" node="[object Object]"><div class="min-h-7 relative box-border flex flex-row items-center justify-between rounded-t border-b border-gray-500/20 px-2 py-0.5">  
</div><div class="p-3"><div class="w-full h-full text-xs cursor-text"><div class="code-block"><div class="code-line" data-line-end="5" data-line-number="5" data-line-start="5"><div class="line-content">  
</div></div></div></div></div></div>```bash
bash
# Kiểm tra cơ bản (từ thư mục gốc dự án)
python .agent/scripts/checklist.py .


# Kiểm tra toàn diện (cần server đang chạy)
python .agent/scripts/verify_all.py . --url http://localhost:3000
```

---

## 10. Sơ đồ quan hệ giữa các thành phần

```html
rules/GEMINI.md ← (1) AI đọc quy tắc đầu tiên
│
▼
ARCHITECTURE.md ← (2) AI hiểu toàn bộ hệ sinh thái
│
▼
agents/*.md ← (3) AI đóng vai Agent phù hợp
│
▼
skills/*/SKILL.md ← (4) Agent tải kiến thức cần thiết
│
▼
skills/*/scripts/*.py ← (5) Script chạy kiểm tra tự động
│
▼
scripts/checklist.py ← (6) Tổng hợp kết quả và báo cáo
```

> Hiểu rõ cấu trúc này giúp bạn dễ dàng **tùy chỉnh và mở rộng** bộ kit theo nhu cầu dự án của mình mà không làm ảnh hưởng đến phần còn lại của hệ thống.