# Trang 4.3: Các tham số nâng cao (Sử dụng --force, --path, --quiet).

## 1. Tổng quan các tham số

Công cụ `ag-kit` hỗ trợ nhiều tham số (options/flags) để tinh chỉnh hành vi cho từng tình huống cụ thể.

<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-tham-s%E1%BB%91-l%E1%BB%87nh-%C3%A1p-d%E1%BB%A5ng"><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">Tham số</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Lệnh áp dụng</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Chức năng tóm tắt</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`--force`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`init`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Ghi đè thư mục `.agent/` đã tồn tại</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`--path`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`init`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chỉ định thư mục cài đặt khác thay vì thư mục hiện tại</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`--branch`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`init`, `update`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chọn nhánh Git cụ thể để tải về</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`--quiet`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`init`, `update`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Chạy im lặng, ẩn bớt output</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`--dry-run`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`init`, `update`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Xem trước các thao tác sẽ thực hiện mà không thực sự làm gì</td></tr></tbody></table>

</div>---

## 2. Tham số `--force`

### Chức năng

Cho phép ghi đè lên thư mục `.agent/` đã tồn tại. Mặc định, `ag-kit init` sẽ báo lỗi nếu thư mục này đã có.

### Cú pháp

<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
ag-kit init --force
```

### Khi nào dù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-t%C3%ACnh-hu%E1%BB%91ng-d%C3%B9ng%C2%A0--fo"><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">Tình huống</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Dùng `--force` không?</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài đặt lần đầu</td><td class="px-3 py-2 leading-snug border border-gray-500/20">❌ Không cần</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Thư mục `.agent/` đã tồn tại, muốn cài lại</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Cần thiết</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Muốn xóa mọi tùy chỉnh và trở về mặc định</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Cần thiết</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Cần reset Kit sau khi thử nghiệm hỏng</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Cần thiết</td></tr></tbody></table>

</div>### Ví dụ

```bash
bash
# Thử cài đặt thông thường (sẽ báo lỗi nếu đã có .agent/)
ag-kit init
# Error: .agent/ already exists. Use --force to overwrite.


# Cài đặt lại với --force
ag-kit init --force
# ✅ Overwriting .agent/... Done!
```

<p class="callout warning">⚠️ **Cảnh báo:** `--force` sẽ **xóa toàn bộ** thư mục `.agent/` hiện tại trước khi cài lại. Mọi tùy chỉnh trong đó sẽ bị mất. Hãy sao lưu trước nếu cần.</p>

---

## 3. Tham số `--path`

### Chức năng

Chỉ định thư mục đích để cài đặt Kit thay vì thư mục hiện tại trong terminal.

### Cú pháp

<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
ag-kit init --path <đường-dẫn-đến-thư-mục>
```

### Khi nào dù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-t%C3%ACnh-hu%E1%BB%91ng-v%C3%AD-d%E1%BB%A5-c%C3%A0i"><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">Tình huống</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Ví dụ</th></tr></thead><tbody><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài vào thư mục con cụ thể</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`ag-kit init --path ./apps/frontend`</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài vào monorepo package</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`ag-kit init --path ./packages/web`</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Cài vào đường dẫn tuyệt đối</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`ag-kit init --path /home/user/projects/myapp`</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">Không muốn phải `cd` vào thư mục</td><td class="px-3 py-2 leading-snug border border-gray-500/20">`ag-kit init --path ./client`</td></tr></tbody></table>

</div>### Ví dụ thực tế

```bash
bash
# Cấu trúc monorepo:
my-monorepo/
├── apps/
│ ├── web/ ← muốn cài vào đây
│ └── mobile/ ← và cả đây
└── packages/


# Cài vào web app mà không cần cd
ag-kit init --path ./apps/web


# Cài vào mobile app
ag-kit init --path ./apps/mobile


# Kết hợp với --force nếu đã có .agent/ cũ
ag-kit init --path ./apps/web --force
```

---

## 4. Tham số `--branch`

### Chức năng

Chỉ định nhánh Git cụ thể trên repository để tải bộ kit. Mặc định sử dụng nhánh <span class="inline-flex break-all leading-tight">main</span> (phiên bản ổn định nhất).

### Cú pháp

```bash
bash
ag-kit init --branch <tên-nhánh>
ag-kit update --branch <tên-nhánh>
```

### Các nhá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-nh%C3%A1nh-m%C3%B4-t%E1%BA%A3-n%C3%AAn-d%C3%B9ng"><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">Nhánh</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Mô tả</th><th class="bg-gray-500/20 px-3 py-2 text-left font-medium leading-snug border border-gray-500/20">Nên dùng</th></tr></thead><tbody><tr><td class="px-3 py-2 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">main</span></span></span></td><td class="px-3 py-2 leading-snug border border-gray-500/20">Phiên bản ổn định chính thức</td><td class="px-3 py-2 leading-snug border border-gray-500/20">✅ Production, dự án thực tế</td></tr><tr><td class="px-3 py-2 leading-snug border border-gray-500/20">`dev`</td><td class="px-3 py-2 leading-snug border border-gray-500/20">Phiên bản phát triển, có thể không ổn định</td><td class="px-3 py-2 leading-snug border border-gray-500/20">🧪 Thử nghiệm tính năng mới</td></tr></tbody></table>

</div>### Ví dụ

```bash
bash
# Cài từ nhánh chính thức (mặc định)
ag-kit init
# Tương đương với:
ag-kit init --branch main


# Thử nghiệm tính năng mới nhất (chưa phát hành)
ag-kit init --branch dev


# Cập nhật từ nhánh dev
ag-kit update --branch dev
```

<p class="callout warning">**Lưu ý:** Nhánh `dev` có thể chứa các tính năng chưa hoàn thiện. Chỉ dùng cho môi trường phát triển và thử nghiệm cá nhân.</p>

---

## 5. Tham số `--quiet`

### Chức năng

Chạy lệnh ở chế độ im lặng — ẩn bớt các thông báo thông thường, chỉ hiển thị lỗi nghiêm trọng (nếu có).

### Cú pháp

```bash
bash
ag-kit init --quiet
ag-kit update --quiet
```

### Khi nào dùng

- **CI/CD pipelines:** Khi bạn không muốn log quá dài làm rối output của build pipeline.
- **Script tự động:** Khi chạy trong script shell không cần đọc log chi tiết.
- **Chạy hàng loạt:** Khi cần cài/cập nhật Kit cho nhiều dự án cùng lúc.

### Ví dụ trong GitHub Actions

```yaml
yaml
name: Setup Antigravity Kit
on: [push]


jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
- name: Install Antigravity Kit
run: |
npm install -g @vudovn/ag-kit
ag-kit init --quiet --force
```

---

## 6. Tham số `--dry-run`

### Chức năng

Thực hiện một lần chạy "giả định" — hiển thị tất cả những gì sẽ xảy ra nhưng **không thực sự làm gì** trên hệ thống. Không tạo, không xóa, không thay đổi file nào.

### Cú pháp

```bash
bash
ag-kit init --dry-run
ag-kit update --dry-run
```

### Khi nào dùng

- Trước khi cài đặt trên dự án quan trọng để xem trước thao tác.
- Kiểm tra xem lệnh có hoạt động đúng không mà không có rủi ro.
- Xem danh sách file sẽ được tạo ra.

### Ví dụ kết quả của `--dry-run`

<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
ag-kit init --dry-run
```

<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="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="3" data-line-number="3" data-line-start="3">  
</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
[DRY RUN] The following actions would be performed:
- Create directory: ./.agent/
- Create file: ./.agent/ARCHITECTURE.md
- Create file: ./.agent/AGENT_FLOW.md
- Create directory: ./.agent/agents/ (20 files)
- Create directory: ./.agent/skills/ (36 directories)
- Create directory: ./.agent/workflows/ (11 files)
- Create directory: ./.agent/rules/
- Create directory: ./.agent/scripts/
[DRY RUN] No changes were made.
```

---

## 7. Kết hợp nhiều tham số

Các tham số có thể kết hợp với nhau tùy ý:

```bash
bash
# Cài vào thư mục cụ thể, ghi đè nếu tồn tại, chạy im lặng
ag-kit init --path ./apps/web --force --quiet


# Xem trước thao tác cập nhật từ nhánh dev
ag-kit update --branch dev --dry-run


# Cài đặt vào thư mục cụ thể, xem trước (không thực sự làm)
ag-kit init --path ./packages/shared --dry-run
```

---

## 8. Bảng tham chiếu nhanh (Quick Reference)

<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="29" data-line-number="29" data-line-start="29"><div class="line-content"></div></div></div></div></div></div>```bash
bash
# Cài đặt cơ bản
ag-kit init


# Cài đặt (ghi đè nếu đã có)
ag-kit init --force


# Cài vào thư mục khác
ag-kit init --path ./my-app


# Cài từ nhánh cụ thể
ag-kit init --branch dev


# Chạy im lặng (cho CI/CD)
ag-kit init --quiet --force


# Xem trước không làm gì
ag-kit init --dry-run


# Kết hợp: cài vào thư mục khác, ghi đè, im lặng
ag-kit init --path ./apps/web --force --quiet


# Cập nhật và xem trước
ag-kit update --dry-run


# Cập nhật im lặng (cho automation)
ag-kit update --quiet


# Kiểm tra trạng thái
ag-kit status
```