@leejungkiin/awkit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +146 -0
- package/VERSION +1 -0
- package/bin/awf.js +549 -0
- package/bin/awk.js +1759 -0
- package/core/AGENTS.md +39 -0
- package/core/GEMINI.md +202 -0
- package/core/GEMINI.md.bak +244 -0
- package/core/orchestrator.md +58 -0
- package/package.json +46 -0
- package/schemas/brain.schema.json +342 -0
- package/schemas/preferences.schema.json +95 -0
- package/schemas/session.schema.json +112 -0
- package/skill-packs/neural-memory/README.md +111 -0
- package/skill-packs/neural-memory/pack.json +35 -0
- package/skill-packs/neural-memory/schemas/brain-snapshot.json +167 -0
- package/skill-packs/neural-memory/skills/nm-memory-audit/SKILL.md +157 -0
- package/skill-packs/neural-memory/skills/nm-memory-evolution/SKILL.md +202 -0
- package/skill-packs/neural-memory/skills/nm-memory-intake/SKILL.md +135 -0
- package/skill-packs/neural-memory/skills/nm-memory-sync/SKILL.md +184 -0
- package/skill-packs/neural-memory/workflows/nm-import.md +73 -0
- package/skill-packs/neural-memory/workflows/nm-recall.md +67 -0
- package/skill-packs/neural-memory/workflows/nm-snapshot.md +69 -0
- package/skills/adaptive-language/SKILL.md +189 -0
- package/skills/ambient-brain/SKILL.md +314 -0
- package/skills/ambient-brain/brain-router.md +185 -0
- package/skills/ambient-brain/brain-templates.md +201 -0
- package/skills/auto-save/SKILL.md +223 -0
- package/skills/awf-adaptive-language/SKILL.md +189 -0
- package/skills/awf-context-help/SKILL.md +180 -0
- package/skills/awf-error-translator/SKILL.md +153 -0
- package/skills/awf-session-restore/SKILL.md +270 -0
- package/skills/awf-version-tracker/SKILL.md +32 -0
- package/skills/awf-version-tracker/scripts/snapshot.sh +22 -0
- package/skills/beads-manager/SKILL.md +323 -0
- package/skills/brainstorm-agent/SKILL.md +295 -0
- package/skills/context-help/SKILL.md +180 -0
- package/skills/error-translator/SKILL.md +153 -0
- package/skills/ios-engineer/SKILL.md +101 -0
- package/skills/memory-sync/SKILL.md +378 -0
- package/skills/memory-sync/memory-router.md +185 -0
- package/skills/memory-sync/memory-templates.md +201 -0
- package/skills/orchestrator/SKILL.md +193 -0
- package/skills/session-restore/SKILL.md +240 -0
- package/templates/CODEBASE.md +80 -0
- package/templates/brain.example.json +321 -0
- package/templates/preferences.example.json +21 -0
- package/templates/project-identity/android.json +28 -0
- package/templates/project-identity/backend-nestjs.json +24 -0
- package/templates/project-identity/expo.json +27 -0
- package/templates/project-identity/ios.json +27 -0
- package/templates/project-identity/web-nextjs.json +24 -0
- package/templates/session.example.json +53 -0
- package/templates/specs/design-template.md +166 -0
- package/templates/specs/requirements-template.md +65 -0
- package/templates/specs/tasks-template.md +132 -0
- package/templates/structures/android.txt +10 -0
- package/templates/structures/backend-nestjs.txt +6 -0
- package/templates/structures/expo.txt +9 -0
- package/templates/structures/ios.txt +9 -0
- package/templates/structures/web-nextjs.txt +6 -0
- package/templates/workflow_dual_mode_template.md +87 -0
- package/workflows/_uncategorized/README.md +339 -0
- package/workflows/_uncategorized/ads-creative.md +357 -0
- package/workflows/_uncategorized/ads-full-optimization.md +308 -0
- package/workflows/_uncategorized/ads-plan.md +247 -0
- package/workflows/_uncategorized/ads-user-analysis.md +337 -0
- package/workflows/_uncategorized/skill-health.md +35 -0
- package/workflows/_uncategorized/skill-rollback.md +35 -0
- package/workflows/ads/admob.md +62 -0
- package/workflows/ads/ads-analyst.md +201 -0
- package/workflows/ads/ads-audit.md +106 -0
- package/workflows/ads/ads-optimize.md +97 -0
- package/workflows/ads/ads-targeting.md +241 -0
- package/workflows/ads/adsExpert.md +160 -0
- package/workflows/ads/smali-ads-config.md +400 -0
- package/workflows/ads/smali-ads-flow.md +331 -0
- package/workflows/ads/smali-ads-interstitial.md +377 -0
- package/workflows/ads/smali-ads-native.md +382 -0
- package/workflows/context/auto-execution-workflow.md +291 -0
- package/workflows/context/auto-implement.md +211 -0
- package/workflows/context/codebase-sync.md +163 -0
- package/workflows/context/logic-reasoning-workflow.md +260 -0
- package/workflows/context/next.md +195 -0
- package/workflows/context/recap.md +212 -0
- package/workflows/context/save-brain.md +285 -0
- package/workflows/context/user-intent-analysis-workflow.md +206 -0
- package/workflows/expert/codeExpert.md +126 -0
- package/workflows/expert/debugExpert.md +136 -0
- package/workflows/expert/planExpert.md +112 -0
- package/workflows/git/cloudflare-tunnel.md +135 -0
- package/workflows/git/git-commit-workflow.md +75 -0
- package/workflows/git/hotfix.md +357 -0
- package/workflows/git/release-notes.md +160 -0
- package/workflows/git/rollback.md +52 -0
- package/workflows/git/smart-git-ops.md +103 -0
- package/workflows/lifecycle/brainstorm.md +377 -0
- package/workflows/lifecycle/code.md +663 -0
- package/workflows/lifecycle/debug.md +116 -0
- package/workflows/lifecycle/deploy.md +95 -0
- package/workflows/lifecycle/init.md +152 -0
- package/workflows/lifecycle/master-code-workflow.md +300 -0
- package/workflows/lifecycle/migration.md +196 -0
- package/workflows/lifecycle/plan.md +91 -0
- package/workflows/lifecycle/refactor.md +165 -0
- package/workflows/lifecycle/run.md +52 -0
- package/workflows/lifecycle/test.md +91 -0
- package/workflows/meta/customize.md +346 -0
- package/workflows/meta/file-protection-rules.md +129 -0
- package/workflows/meta/help.html +350 -0
- package/workflows/meta/project-identity-enforcement.md +180 -0
- package/workflows/mobile/app-analysis.md +64 -0
- package/workflows/mobile/maestro-qa-workflow.md +470 -0
- package/workflows/mobile/maestro-test-workflow.md +84 -0
- package/workflows/mobile/structure-clean-architect.md +271 -0
- package/workflows/mobile/turbo-mobile-build.md +190 -0
- package/workflows/quality/accessibility-audit.md +311 -0
- package/workflows/quality/audit.md +217 -0
- package/workflows/quality/bug-hunter.md +243 -0
- package/workflows/quality/code-janitor.md +209 -0
- package/workflows/quality/code-quality-rules.md +132 -0
- package/workflows/quality/performance-audit.md +343 -0
- package/workflows/quality/project-audit.md +61 -0
- package/workflows/quality/self-healing-test.md +192 -0
- package/workflows/quality/ui-review.md +130 -0
- package/workflows/quality/ux-audit.md +213 -0
- package/workflows/quality/visual-debug.md +34 -0
- package/workflows/roles/oracle.md +267 -0
- package/workflows/roles/product-manager-workflow.md +52 -0
- package/workflows/roles/qa-engineer-workflow.md +41 -0
- package/workflows/roles/tech-lead-workflow.md +45 -0
- package/workflows/roles/ui-ux-designer-workflow.md +42 -0
- package/workflows/roles/vibe-coding-master-workflow.md +52 -0
- package/workflows/ui/app-screen-analyzer.md +152 -0
- package/workflows/ui/create-feature.md +332 -0
- package/workflows/ui/create-spec-architect.md +184 -0
- package/workflows/ui/design-to-ui.md +308 -0
- package/workflows/ui/ui-first-methodology.md +279 -0
- package/workflows/ui/visualize.md +298 -0
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
# 🚀 Antigravity Vibe Coding Suite v3.4 (Ultimate Edition)
|
|
2
|
+
|
|
3
|
+
**Hệ thống Workflow TOÀN DIỆN cho Vibe Coders** - Chỉ cần có ý tưởng, AI lo trọn gói.
|
|
4
|
+
|
|
5
|
+
> 💡 **Triết lý:** Bạn sáng tạo và ra quyết định. AI xử lý TẤT CẢ kỹ thuật - kể cả những thứ bạn không biết là cần.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📋 Danh sách lệnh (14 Workflows)
|
|
10
|
+
|
|
11
|
+
### 🌟 Khởi động & Ngữ cảnh
|
|
12
|
+
| Lệnh | Mô tả | Điểm mù được xử lý |
|
|
13
|
+
|------|-------|-------------------|
|
|
14
|
+
| `/init` | Tạo dự án mới hoàn chỉnh | Env vars, Git, Code quality tools |
|
|
15
|
+
| `/recap` | Tóm tắt context khi quay lại | Context recovery |
|
|
16
|
+
| `/save-brain` | Lưu kiến thức cuối buổi | API Docs, Changelog, Business rules |
|
|
17
|
+
|
|
18
|
+
### 🎯 Phát triển tính năng
|
|
19
|
+
| Lệnh | Mô tả | Điểm mù được xử lý |
|
|
20
|
+
|------|-------|-------------------|
|
|
21
|
+
| `/plan` | Thiết kế tính năng toàn diện | Auth, DB, Charts, PDF, Maps, Scheduled Tasks |
|
|
22
|
+
| `/visualize` | Thiết kế UI/UX đẹp | Loading/Error states, Accessibility, Dark mode |
|
|
23
|
+
| `/code` | Viết code chất lượng | Security, Validation, Error handling |
|
|
24
|
+
|
|
25
|
+
### ⚙️ Vận hành
|
|
26
|
+
| Lệnh | Mô tả | Điểm mù được xử lý |
|
|
27
|
+
|------|-------|-------------------|
|
|
28
|
+
| `/run` | Khởi động app | Environment detection, Port conflicts |
|
|
29
|
+
| `/test` | Kiểm tra logic | Auto-generate tests nếu thiếu |
|
|
30
|
+
| `/deploy` | Đưa lên production | SEO, Analytics, Legal, Backup, Monitoring |
|
|
31
|
+
|
|
32
|
+
### 🔧 Bảo trì
|
|
33
|
+
| Lệnh | Mô tả | Điểm mù được xử lý |
|
|
34
|
+
|------|-------|-------------------|
|
|
35
|
+
| `/debug` | Sửa lỗi | Hướng dẫn mô tả lỗi cho non-tech |
|
|
36
|
+
| `/refactor` | Dọn dẹp code | Safe execution, Before/After comparison |
|
|
37
|
+
| `/audit` | Kiểm tra sức khỏe | Security, Performance, Dependencies |
|
|
38
|
+
| `/rollback` | Quay về phiên bản cũ | Emergency recovery |
|
|
39
|
+
|
|
40
|
+
### 🌐 Hạ tầng
|
|
41
|
+
| Lệnh | Mô tả | Điểm mù được xử lý |
|
|
42
|
+
|------|-------|-------------------|
|
|
43
|
+
| `/cloudflare-tunnel` | Expose app ra internet | Tunnel management |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 🔥 ĐIỂM MÙ VIBE CODER ĐÃ ĐƯỢC XỬ LÝ TOÀN DIỆN
|
|
48
|
+
|
|
49
|
+
### 📐 Khi lên kế hoạch (`/plan`)
|
|
50
|
+
| Điểm mù | AI tự hỏi |
|
|
51
|
+
|---------|-----------|
|
|
52
|
+
| Database Design | "Có dữ liệu sẵn không? Quản lý những gì?" |
|
|
53
|
+
| Auth/Login | "Cần đăng nhập không? OAuth? Roles?" |
|
|
54
|
+
| File Upload | "Có upload hình không? Size limit?" |
|
|
55
|
+
| Email/Notifications | "Cần gửi thông báo không?" |
|
|
56
|
+
| Payment | "Có nhận thanh toán không?" |
|
|
57
|
+
| Search | "Có tìm kiếm không? Fuzzy?" |
|
|
58
|
+
| Scheduled Tasks | "Có cần tự động chạy hàng ngày?" |
|
|
59
|
+
| Charts/Graphs | "Có cần biểu đồ không?" |
|
|
60
|
+
| PDF/Print | "Có cần in hóa đơn không?" |
|
|
61
|
+
| Maps | "Có cần bản đồ không?" |
|
|
62
|
+
| Real-time | "Có cần live updates không?" |
|
|
63
|
+
|
|
64
|
+
### 🎨 Khi thiết kế UI (`/visualize`)
|
|
65
|
+
| Điểm mù | AI tự xử lý |
|
|
66
|
+
|---------|-------------|
|
|
67
|
+
| Loading States | Skeleton, Spinner, Progress bar |
|
|
68
|
+
| Error States | Toast, Modal, Inline error |
|
|
69
|
+
| Empty States | Illustration + Call-to-action |
|
|
70
|
+
| Accessibility | Color contrast, ARIA, Keyboard nav |
|
|
71
|
+
| Mobile | Responsive, Touch-friendly |
|
|
72
|
+
| Dark Mode | Dual theme design |
|
|
73
|
+
|
|
74
|
+
### 🚀 Khi deploy (`/deploy`)
|
|
75
|
+
| Điểm mù | AI tự xử lý |
|
|
76
|
+
|---------|-------------|
|
|
77
|
+
| SEO | Meta tags, Sitemap, robots.txt |
|
|
78
|
+
| Analytics | Google Analytics / Plausible |
|
|
79
|
+
| Legal | Privacy Policy, Terms, Cookie consent |
|
|
80
|
+
| Backup | Database backup strategy |
|
|
81
|
+
| Monitoring | Uptime + Error tracking |
|
|
82
|
+
| SSL | Auto HTTPS |
|
|
83
|
+
| Maintenance | Maintenance mode page |
|
|
84
|
+
|
|
85
|
+
### 📚 Khi lưu trữ (`/save-brain`)
|
|
86
|
+
| Điểm mù | AI tự tạo |
|
|
87
|
+
|---------|-----------|
|
|
88
|
+
| API Documentation | Auto-generate từ routes |
|
|
89
|
+
| Changelog | Version history |
|
|
90
|
+
| Business Rules | Quy tắc nghiệp vụ |
|
|
91
|
+
| **Structured Context** | `.brain/brain.json` ⭐ NEW |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 🚀 Auto Workflow - v3.4 (MỚI!)
|
|
96
|
+
|
|
97
|
+
### Vấn đề v3.3
|
|
98
|
+
- `/plan` chỉ tạo 1 file spec, phải tự chia phases
|
|
99
|
+
- `/code` không tự test, phải gọi `/test` thủ công
|
|
100
|
+
- Mất context khi compact, không auto-save progress
|
|
101
|
+
|
|
102
|
+
### Giải pháp v3.4
|
|
103
|
+
|
|
104
|
+
#### 1. `/plan` v2 - Auto Phase Generation
|
|
105
|
+
```
|
|
106
|
+
/plan "Order management"
|
|
107
|
+
↓
|
|
108
|
+
[AUTO] Tạo folder: plans/260117-1430-order-management/
|
|
109
|
+
↓
|
|
110
|
+
[AUTO] Tạo files:
|
|
111
|
+
├── plan.md (Overview + Progress tracker)
|
|
112
|
+
├── phase-01-setup.md
|
|
113
|
+
├── phase-02-database.md
|
|
114
|
+
├── phase-03-backend.md
|
|
115
|
+
├── phase-04-frontend.md
|
|
116
|
+
└── phase-05-testing.md
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
#### 2. `/code` v2 - Auto Test Loop
|
|
120
|
+
```
|
|
121
|
+
/code phase-01
|
|
122
|
+
↓
|
|
123
|
+
[AUTO] Load tasks từ phase file
|
|
124
|
+
↓
|
|
125
|
+
[AUTO] Code từng task
|
|
126
|
+
↓
|
|
127
|
+
[AUTO] Chạy test
|
|
128
|
+
↓
|
|
129
|
+
├── PASS → Tiếp task sau
|
|
130
|
+
└── FAIL → Fix loop (max 3 lần) → Hỏi user nếu vẫn fail
|
|
131
|
+
↓
|
|
132
|
+
[AUTO] Update progress trong plan.md
|
|
133
|
+
↓
|
|
134
|
+
[AUTO] Save context vào session.json
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### 3. `/next` v2 - Phase Progress Display
|
|
138
|
+
```
|
|
139
|
+
📊 Progress:
|
|
140
|
+
████████░░░░░░░░░░░░ 40% (2/5 phases)
|
|
141
|
+
|
|
142
|
+
| Phase | Status |
|
|
143
|
+
|-------|--------|
|
|
144
|
+
| 01 Setup | ✅ Done |
|
|
145
|
+
| 02 Database | 🟡 In Progress |
|
|
146
|
+
| 03 Backend | ⬜ Pending |
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### 4. Auto-Save Progress (Chống mất context)
|
|
150
|
+
```
|
|
151
|
+
Sau mỗi phase/5 tasks:
|
|
152
|
+
→ Update plan.md status
|
|
153
|
+
→ Update session.json
|
|
154
|
+
→ Báo: "📍 Progress đã lưu!"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 🧠 Structured Context - v3.3 (Tách brain + session)
|
|
160
|
+
|
|
161
|
+
### Vấn đề v3.2
|
|
162
|
+
- `brain.json` chứa cả static và dynamic data
|
|
163
|
+
- Mỗi lần save phải update toàn bộ file
|
|
164
|
+
- Session state lẫn với project knowledge
|
|
165
|
+
|
|
166
|
+
### Giải pháp v3.3: Tách thành 2 files
|
|
167
|
+
```
|
|
168
|
+
.brain/ # LOCAL (per-project)
|
|
169
|
+
├── brain.json # 🧠 Static knowledge (ít thay đổi)
|
|
170
|
+
├── session.json # 📍 Dynamic session (thay đổi liên tục)
|
|
171
|
+
└── preferences.json # ⚙️ Local override (nếu khác global)
|
|
172
|
+
|
|
173
|
+
~/.antigravity/ # GLOBAL (tất cả dự án)
|
|
174
|
+
├── preferences.json # Default AI preferences
|
|
175
|
+
└── defaults/ # Templates
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Lợi ích
|
|
179
|
+
| Metric | v3.2 | v3.3 |
|
|
180
|
+
|--------|------|------|
|
|
181
|
+
| Files để scan | 1 (brain.json) | 2 (brain + session) |
|
|
182
|
+
| Token usage | ~3KB | ~3KB (tương đương) |
|
|
183
|
+
| Update frequency | Mỗi lần save | brain: khi project thay đổi, session: liên tục |
|
|
184
|
+
| Scope | Local only | Local + Global preferences |
|
|
185
|
+
|
|
186
|
+
### Workflow
|
|
187
|
+
```
|
|
188
|
+
/save-brain → Update brain.json (nếu cần) + session.json (luôn)
|
|
189
|
+
/recap → Load preferences → brain.json → session.json → Summary
|
|
190
|
+
/customize → Save preferences (local/global/cả hai)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Schema files
|
|
194
|
+
- `schemas/brain.schema.json` - Project knowledge
|
|
195
|
+
- `schemas/session.schema.json` - Session state ⭐ NEW
|
|
196
|
+
- `schemas/preferences.schema.json` - User preferences ⭐ NEW
|
|
197
|
+
|
|
198
|
+
### Template files
|
|
199
|
+
- `templates/brain.example.json`
|
|
200
|
+
- `templates/session.example.json` ⭐ NEW
|
|
201
|
+
- `templates/preferences.example.json` ⭐ NEW
|
|
202
|
+
|
|
203
|
+
### brain.json (Static - ít thay đổi)
|
|
204
|
+
- `project`: Tên, loại, status
|
|
205
|
+
- `tech_stack`: Frontend, Backend, DB, Dependencies
|
|
206
|
+
- `database_schema`: Tables, Relationships
|
|
207
|
+
- `api_endpoints`: Routes với auth info
|
|
208
|
+
- `business_rules`: Quy tắc nghiệp vụ
|
|
209
|
+
- `features`: Tính năng và trạng thái
|
|
210
|
+
- `knowledge_items`: Patterns, Gotchas, Conventions
|
|
211
|
+
|
|
212
|
+
### session.json (Dynamic - thay đổi liên tục) ⭐ NEW
|
|
213
|
+
- `working_on`: Feature, task, status, files đang sửa
|
|
214
|
+
- `pending_tasks`: Việc cần làm tiếp
|
|
215
|
+
- `recent_changes`: Thay đổi gần đây
|
|
216
|
+
- `errors_encountered`: Lỗi gặp và cách fix
|
|
217
|
+
- `decisions_made`: Quyết định đã lấy trong session
|
|
218
|
+
|
|
219
|
+
### preferences.json (User settings) ⭐ NEW
|
|
220
|
+
- `communication`: Tone, persona
|
|
221
|
+
- `technical`: Detail level, autonomy, quality
|
|
222
|
+
- `working_style`: Pace, feedback style
|
|
223
|
+
- `custom_rules`: Quy tắc riêng của user
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## 🛡️ Resilience Patterns - v3.3 (Ẩn khỏi User)
|
|
228
|
+
|
|
229
|
+
> **Nguyên tắc:** User không cần biết về retry, timeout, fallback. AI xử lý ngầm.
|
|
230
|
+
|
|
231
|
+
### Auto-Retry (Ẩn)
|
|
232
|
+
```
|
|
233
|
+
Khi gặp lỗi transient (network, rate limit):
|
|
234
|
+
1. Retry lần 1 (đợi 1s)
|
|
235
|
+
2. Retry lần 2 (đợi 2s)
|
|
236
|
+
3. Retry lần 3 (đợi 4s)
|
|
237
|
+
4. Nếu vẫn fail → Báo user bằng tiếng đơn giản
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Timeout Protection (Ẩn)
|
|
241
|
+
```
|
|
242
|
+
Mỗi task có timeout mặc định:
|
|
243
|
+
- /code: 5 phút
|
|
244
|
+
- /deploy: 10 phút
|
|
245
|
+
- /debug: 5 phút
|
|
246
|
+
- Khác: 3 phút
|
|
247
|
+
|
|
248
|
+
Khi timeout → "Việc này đang lâu quá, anh muốn tiếp tục không?"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Fallback Conversation (Hiển thị khi cần)
|
|
252
|
+
```
|
|
253
|
+
Thay vì syntax phức tạp như: /deploy production || staging
|
|
254
|
+
|
|
255
|
+
AI hỏi bằng tiếng Việt:
|
|
256
|
+
"Deploy lên production không được 😅
|
|
257
|
+
Anh muốn thử staging trước không?
|
|
258
|
+
1️⃣ Có - Deploy staging
|
|
259
|
+
2️⃣ Không - Em xem lại lỗi"
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Error Messages (Đơn giản hóa)
|
|
263
|
+
```
|
|
264
|
+
❌ Cũ: "Error: ECONNREFUSED 127.0.0.1:5432 - Connection refused"
|
|
265
|
+
|
|
266
|
+
✅ Mới: "Không kết nối được database 😅
|
|
267
|
+
Anh kiểm tra xem PostgreSQL đang chạy chưa nhé!
|
|
268
|
+
Gõ /debug nếu cần em hỗ trợ."
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Error Categories
|
|
272
|
+
| Loại lỗi | AI xử lý | User thấy |
|
|
273
|
+
|----------|----------|-----------|
|
|
274
|
+
| Network timeout | Auto-retry 3x | Không thấy gì (nếu thành công) |
|
|
275
|
+
| Rate limit | Đợi và retry | "Đang chờ API..." |
|
|
276
|
+
| Auth failed | Báo ngay | "Cần kiểm tra lại credentials" |
|
|
277
|
+
| Code syntax | Gợi ý fix | "Có lỗi ở file X, gõ /debug" |
|
|
278
|
+
| Build failed | Phân tích log | "Build lỗi vì Y, em đề xuất..." |
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 🎮 Luồng làm việc khuyến nghị
|
|
283
|
+
|
|
284
|
+
### 📦 Dự án mới
|
|
285
|
+
```
|
|
286
|
+
/init → /plan → /visualize → /code → /run → /test → /deploy → /save-brain
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### 🌅 Bắt đầu ngày mới
|
|
290
|
+
```
|
|
291
|
+
/recap → /code → /run → /test → /save-brain
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### 🐛 Khi gặp lỗi
|
|
295
|
+
```
|
|
296
|
+
/debug → /test → (nếu loạn) /rollback
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### 🚀 Trước release
|
|
300
|
+
```
|
|
301
|
+
/audit → /test → /deploy → /save-brain
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## 📊 Thống kê hệ thống v3.4
|
|
307
|
+
|
|
308
|
+
| Workflow | Size | Chất lượng |
|
|
309
|
+
|----------|------|------------|
|
|
310
|
+
| `/plan` | **5.4KB** | ⭐⭐⭐⭐⭐ Ultimate |
|
|
311
|
+
| `/deploy` | **5.3KB** | ⭐⭐⭐⭐⭐ Ultimate |
|
|
312
|
+
| `/init` | 4.9KB | ⭐⭐⭐⭐⭐ Complete |
|
|
313
|
+
| `/visualize` | 4.8KB | ⭐⭐⭐⭐⭐ Complete |
|
|
314
|
+
| `/debug` | 4.7KB | ⭐⭐⭐⭐⭐ Complete |
|
|
315
|
+
| `/cloudflare-tunnel` | 4.3KB | ⭐⭐⭐⭐ Good |
|
|
316
|
+
| `/save-brain` | **4.2KB** | ⭐⭐⭐⭐⭐ Ultimate |
|
|
317
|
+
| `/audit` | 4.2KB | ⭐⭐⭐⭐⭐ Complete |
|
|
318
|
+
| `/refactor` | 4.2KB | ⭐⭐⭐⭐⭐ Complete |
|
|
319
|
+
| `/code` | 3.6KB | ⭐⭐⭐⭐⭐ Complete |
|
|
320
|
+
| `/run` | 2.6KB | ⭐⭐⭐⭐ Good |
|
|
321
|
+
| `/test` | 2.4KB | ⭐⭐⭐⭐ Good |
|
|
322
|
+
| `/recap` | 2.4KB | ⭐⭐⭐⭐ Good |
|
|
323
|
+
| `/rollback` | 2.2KB | ⭐⭐⭐⭐ Good |
|
|
324
|
+
|
|
325
|
+
**Tổng:** 14 workflows | **~60KB** instructions | **50+ điểm mù** được xử lý
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## 💡 Tips cho Vibe Coder
|
|
330
|
+
|
|
331
|
+
1. **Cứ nói tự nhiên** - AI sẽ hỏi lại nếu thiếu
|
|
332
|
+
2. **Không sợ làm sai** - Có `/rollback`
|
|
333
|
+
3. **Cuối ngày `/save-brain`** - Mai không mất context
|
|
334
|
+
4. **Định kỳ `/audit`** - Phòng bệnh hơn chữa bệnh
|
|
335
|
+
5. **Trước release `/deploy`** - SEO, Analytics, Legal đầy đủ
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
*Antigravity Vibe Coding Suite v3.4 - Your dreams, our engineering.*
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
---
|
|
2
|
+
description:
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /ads-creative - Tạo Quảng cáo Đa dạng & Thu hút
|
|
6
|
+
|
|
7
|
+
Bạn là **Antigravity Creative Director** - chuyên gia tạo quảng cáo đa dạng, thu hút, tối ưu chuyển đổi.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🎯 MỤC TIÊU
|
|
12
|
+
|
|
13
|
+
Tạo bộ quảng cáo hoàn chỉnh với:
|
|
14
|
+
- Đa dạng góc tiếp cận (Angles)
|
|
15
|
+
- Áp dụng chiến thuật Marketing (AIDA, PAS, BAB...)
|
|
16
|
+
- Phân nhóm Ad Groups theo mục đích
|
|
17
|
+
- Tối thiểu 5 ads × 5 text × 5 images
|
|
18
|
+
- (Optional) Video ads using Veo Gen AI
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## PHASE 1: NGHIÊN CỨU & CHUẨN BỊ
|
|
23
|
+
|
|
24
|
+
### 1.1 Thu thập thông tin App
|
|
25
|
+
```
|
|
26
|
+
📱 Cần biết:
|
|
27
|
+
1. Store URL hoặc mô tả app
|
|
28
|
+
2. Target Audience (ai dùng app?)
|
|
29
|
+
3. USP - Điểm khác biệt chính
|
|
30
|
+
4. Pain Points app giải quyết
|
|
31
|
+
5. Competitors (đối thủ)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 1.2 Xác định Customer ID & Campaign
|
|
35
|
+
```
|
|
36
|
+
📊 Cần biết:
|
|
37
|
+
→ mcp_mcp-google-ads_list_accounts()
|
|
38
|
+
→ Campaign ID sẽ chạy ads
|
|
39
|
+
→ Ngôn ngữ target
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## PHASE 2: CHIẾN THUẬT MARKETING
|
|
45
|
+
|
|
46
|
+
### 2.1 Framework AIDA
|
|
47
|
+
```
|
|
48
|
+
🎪 Attention → Interest → Desire → Action
|
|
49
|
+
|
|
50
|
+
| Stage | Mục đích | Ví dụ Headline |
|
|
51
|
+
|-------|----------|----------------|
|
|
52
|
+
| Attention | Gây chú ý | "Bạn đang [problem]?" |
|
|
53
|
+
| Interest | Tạo tò mò | "[Feature] giúp bạn..." |
|
|
54
|
+
| Desire | Khơi gợi mong muốn | "Hàng triệu người đã..." |
|
|
55
|
+
| Action | Kêu gọi hành động | "Tải miễn phí ngay!" |
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 2.2 Framework PAS
|
|
59
|
+
```
|
|
60
|
+
😰 Problem → Agitate → Solution
|
|
61
|
+
|
|
62
|
+
| Stage | Mục đích | Ví dụ |
|
|
63
|
+
|-------|----------|-------|
|
|
64
|
+
| Problem | Nêu vấn đề | "Chỉnh ảnh mất hàng giờ?" |
|
|
65
|
+
| Agitate | Khuấy động | "Mất thời gian, kết quả không đẹp..." |
|
|
66
|
+
| Solution | Giải pháp | "[App] - 1 tap hoàn hảo!" |
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 2.3 Framework BAB
|
|
70
|
+
```
|
|
71
|
+
✨ Before → After → Bridge
|
|
72
|
+
|
|
73
|
+
| Stage | Mục đích | Ví dụ |
|
|
74
|
+
|-------|----------|-------|
|
|
75
|
+
| Before | Trước khi dùng | "Ảnh nhạt nhòa, đơn điệu" |
|
|
76
|
+
| After | Sau khi dùng | "Ảnh film vintage đẹp lung linh" |
|
|
77
|
+
| Bridge | Cầu nối | "[App] - biến ước mơ thành hiện thực" |
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## PHASE 3: PHÂN NHÓM QUẢNG CÁO
|
|
83
|
+
|
|
84
|
+
### 3.1 Các loại Ad Groups
|
|
85
|
+
```
|
|
86
|
+
📂 Cấu trúc Ad Groups theo mục đích:
|
|
87
|
+
|
|
88
|
+
1. 🎣 ACQUISITION (Vét người dùng mới)
|
|
89
|
+
- Target: Broad audience
|
|
90
|
+
- Message: Awareness, Introduction
|
|
91
|
+
- Bidding: Max Conversions
|
|
92
|
+
|
|
93
|
+
2. 🎯 INTEREST-BASED (Theo sở thích)
|
|
94
|
+
- Target: People interested in [category]
|
|
95
|
+
- Message: Feature-focused
|
|
96
|
+
- Bidding: tCPA balanced
|
|
97
|
+
|
|
98
|
+
3. 🔥 HIGH-INTENT (Người dùng tiềm năng cao)
|
|
99
|
+
- Target: Similar apps users
|
|
100
|
+
- Message: Competitive advantage
|
|
101
|
+
- Bidding: Aggressive tCPA
|
|
102
|
+
|
|
103
|
+
4. 🔄 RE-ENGAGEMENT (Tái tiếp cận)
|
|
104
|
+
- Target: Lapsed users
|
|
105
|
+
- Message: What's new, Come back
|
|
106
|
+
- Bidding: Lower CPA
|
|
107
|
+
|
|
108
|
+
5. 🌍 GEO-SPECIFIC (Theo quốc gia)
|
|
109
|
+
- Target: Top performing countries
|
|
110
|
+
- Message: Localized content
|
|
111
|
+
- Bidding: Country-specific
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 3.2 Ma trận Ad Groups
|
|
115
|
+
```
|
|
116
|
+
📊 Tối thiểu 5 Ad Groups:
|
|
117
|
+
|
|
118
|
+
| # | Ad Group Name | Angle | Framework |
|
|
119
|
+
|---|---------------|-------|-----------|
|
|
120
|
+
| 1 | Acquisition - Awareness | Brand/Feature | AIDA |
|
|
121
|
+
| 2 | Interest - [Category] | Benefit | BAB |
|
|
122
|
+
| 3 | High-Intent - Competitor | Comparison | PAS |
|
|
123
|
+
| 4 | Emotional - Lifestyle | Feeling | Emotional |
|
|
124
|
+
| 5 | Value - Free/Deal | Urgency | CTA-focused |
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## PHASE 4: TẠO NỘI DUNG TEXT
|
|
130
|
+
|
|
131
|
+
### 4.1 Headlines Matrix (5+ mỗi group)
|
|
132
|
+
```
|
|
133
|
+
✍️ Tạo theo framework đã chọn:
|
|
134
|
+
|
|
135
|
+
Ad Group 1 (AIDA):
|
|
136
|
+
| # | Stage | Headline (30 chars max) |
|
|
137
|
+
|---|-------|-------------------------|
|
|
138
|
+
| 1 | A | [Attention grabber] |
|
|
139
|
+
| 2 | I | [Interesting fact] |
|
|
140
|
+
| 3 | D | [Desirable outcome] |
|
|
141
|
+
| 4 | A | [Call to action] |
|
|
142
|
+
| 5 | A | [Urgency CTA] |
|
|
143
|
+
|
|
144
|
+
Ad Group 2 (BAB):
|
|
145
|
+
| # | Stage | Headline |
|
|
146
|
+
|---|-------|----------|
|
|
147
|
+
| 1 | Before | [Current problem] |
|
|
148
|
+
| 2 | After | [Desired state] |
|
|
149
|
+
| 3 | Bridge | [App as solution] |
|
|
150
|
+
| 4 | Benefit | [Key benefit] |
|
|
151
|
+
| 5 | Social | [Social proof] |
|
|
152
|
+
|
|
153
|
+
(Lặp lại cho các Ad Groups còn lại)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 4.2 Descriptions Matrix (5+ mỗi group)
|
|
157
|
+
```
|
|
158
|
+
📝 Descriptions (90 chars max):
|
|
159
|
+
|
|
160
|
+
| # | Type | Description |
|
|
161
|
+
|---|------|-------------|
|
|
162
|
+
| 1 | Overview | [What + Why + CTA] |
|
|
163
|
+
| 2 | Features | [Top 3 features] |
|
|
164
|
+
| 3 | Benefits | [User outcome] |
|
|
165
|
+
| 4 | Social Proof | [Reviews/Rating/Downloads] |
|
|
166
|
+
| 5 | Urgency | [Why download now] |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### 4.3 Emotional Triggers
|
|
170
|
+
```
|
|
171
|
+
💡 Áp dụng các trigger tâm lý:
|
|
172
|
+
|
|
173
|
+
| Trigger | Ví dụ | Dùng cho |
|
|
174
|
+
|---------|-------|----------|
|
|
175
|
+
| FOMO | "Triệu người đang dùng" | Acquisition |
|
|
176
|
+
| Curiosity | "Bí mật của..." | Interest |
|
|
177
|
+
| Trust | "⭐ 4.8 trên Store" | High-Intent |
|
|
178
|
+
| Urgency | "Miễn phí hôm nay" | Value |
|
|
179
|
+
| Belonging | "Cộng đồng X" | Social apps |
|
|
180
|
+
| Achievement | "Trở thành pro" | Game/Utility |
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## PHASE 5: TẠO HÌNH ẢNH
|
|
186
|
+
|
|
187
|
+
### 5.1 Image Concepts Matrix & Naming
|
|
188
|
+
**QUAN TRỌNG:** Phải tuân thủ naming convention: `images/{ag_id}_{concept}_{size}.png`
|
|
189
|
+
|
|
190
|
+
| # | Concept | Filename Pattern | Sizes | Aspect Ratio |
|
|
191
|
+
|---|---------|------------------|-------|--------------|
|
|
192
|
+
| 1 | Lifestyle | `{ag_id}_lifestyle_1024.png` | 1024x1024 | 1:1 |
|
|
193
|
+
| 2 | Lifestyle | `{ag_id}_lifestyle_1200x628.png` | 1200x628 | 1.91:1 |
|
|
194
|
+
| 3 | UI | `{ag_id}_ui_1024.png` | 1024x1024 | 1:1 |
|
|
195
|
+
| 4 | Emotional | `{ag_id}_emotional_1080x1350.png` | 1080x1350 | 4:5 |
|
|
196
|
+
| 5 | Feature | `{ag_id}_feature_1200x628.png` | 1200x628 | 1.91:1 |
|
|
197
|
+
|
|
198
|
+
### 5.2 Prompt Templates & Specs
|
|
199
|
+
Sử dụng `IMAGE_GENERATION_GUIDE.md` để lấy prompt chi tiết cho từng concept:
|
|
200
|
+
- **Lifestyle:** Hero shot & User context.
|
|
201
|
+
- **UI:** Main feature showcase.
|
|
202
|
+
- **Emotional:** Vibe & Outcome.
|
|
203
|
+
- **Feature:** Technical highlight.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## PHASE 6: TẠO VIDEO (Optional - Veo Gen AI)
|
|
208
|
+
|
|
209
|
+
### 6.1 Video Concepts Matrix & Naming
|
|
210
|
+
**Naming Rule:** `videos/{ag_id}_{concept}.mp4`
|
|
211
|
+
|
|
212
|
+
| # | Concept | Filename Pattern | Duration |
|
|
213
|
+
|---|---------|------------------|----------|
|
|
214
|
+
| 1 | Feature Demo | `{ag_id}_feature_demo.mp4` | 6s |
|
|
215
|
+
| 2 | Mood/Vibe | `{ag_id}_mood_vibe.mp4` | 6s |
|
|
216
|
+
|
|
217
|
+
### 6.2 Generation Process (Veo Gen AI 3.1)
|
|
218
|
+
**Công nghệ:** Google Veo 3.1 (Text-to-Video hoặc Image-to-Video).
|
|
219
|
+
**Yêu cầu:** `GEMINI_API_KEY` trong `.env`.
|
|
220
|
+
|
|
221
|
+
**Workflow:** Image-to-Video (Khuyến khích) để đảm bảo brand consistency.
|
|
222
|
+
|
|
223
|
+
1. **Chọn Source Image:** Lấy ảnh tốt nhất từ Phase 5 (tỷ lệ 1:1 hoặc 1.91:1).
|
|
224
|
+
* *Tip:* Resize ảnh về 1024x1024 để tối ưu performance (Tool tự động làm).
|
|
225
|
+
|
|
226
|
+
2. **Viết Prompt:** Mô tả chuyển động (Camera movement, Subject action, Lighting changes).
|
|
227
|
+
|
|
228
|
+
3. **Execute (Sử dụng `VideoAdEngine`):**
|
|
229
|
+
|
|
230
|
+
```python
|
|
231
|
+
from video_ad_engine import VideoAdEngine
|
|
232
|
+
|
|
233
|
+
engine = VideoAdEngine()
|
|
234
|
+
|
|
235
|
+
# 1. Tạo Video Gốc
|
|
236
|
+
video_path = engine.generate_video(
|
|
237
|
+
prompt="Cinematic slow pan, dust particles floating, soft lighting animation",
|
|
238
|
+
image_path="ads_plan_xxx/images/ag_1_lifestyle_1024.png",
|
|
239
|
+
output_path="ads_plan_xxx/videos/ag_1_lifestyle.mp4"
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
# 2. Tạo Variations (Auto-Crop) - Tự động tạo 9:16, 1:1, 4:5
|
|
243
|
+
variations = engine.create_variations(video_path)
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
4. **Kết quả:**
|
|
247
|
+
Bạn sẽ có bộ video ready-to-run:
|
|
248
|
+
- `ag_1_lifestyle.mp4` (16:9 gốc)
|
|
249
|
+
- `ag_1_lifestyle_9x16.mp4` (TikTok/Reels)
|
|
250
|
+
- `ag_1_lifestyle_1x1.mp4` (Square Feed)
|
|
251
|
+
- `ag_1_lifestyle_4x5.mp4` (Portrait Feed)
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## PHASE 7: KIỂM TRA & TRIỂN KHAI
|
|
256
|
+
|
|
257
|
+
### 7.1 Bước Validate Bắt Buộc
|
|
258
|
+
Sau khi generate xong assets (Images + Videos), AI **PHẢI** chạy lệnh validate:
|
|
259
|
+
```bash
|
|
260
|
+
node bin/cli.js validate ads_plan_xxx
|
|
261
|
+
```
|
|
262
|
+
Lệnh này sẽ:
|
|
263
|
+
- ✅ Kiểm tra ảnh/video thiếu/thừa.
|
|
264
|
+
- ✅ Tự động chuyển status `pending` → `ready`.
|
|
265
|
+
|
|
266
|
+
### 7.2 Preview & Approval
|
|
267
|
+
1. Chạy `node bin/cli.js preview ads_plan_xxx` để cập nhật data.
|
|
268
|
+
2. Hướng dẫn User mở `preview.html`.
|
|
269
|
+
3. User click "Save Approval" để tạo `approved.json`.
|
|
270
|
+
|
|
271
|
+
### 7.3 Upload
|
|
272
|
+
```bash
|
|
273
|
+
# Dry run trước
|
|
274
|
+
node bin/cli.js upload ads_plan_xxx --dry-run
|
|
275
|
+
|
|
276
|
+
# Upload thực tế sau khi confirm
|
|
277
|
+
node bin/cli.js upload ads_plan_xxx
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 📊 OUTPUT SUMMARY
|
|
283
|
+
|
|
284
|
+
```markdown
|
|
285
|
+
## Ads Creative Report - [App Name]
|
|
286
|
+
|
|
287
|
+
### 📂 Folder: `ads_plan_xxx/`
|
|
288
|
+
|
|
289
|
+
### 📈 Cấu hình:
|
|
290
|
+
- **Customer ID:** [ID]
|
|
291
|
+
- **Language:** [Lang]
|
|
292
|
+
- **Ad Groups:** 5 (AIDA, BAB, PAS, Emotional, CTA)
|
|
293
|
+
|
|
294
|
+
### 🎨 Assets Created:
|
|
295
|
+
- ✅ **Text:** 25 Headlines, 25 Descriptions (Fill xong placeholders)
|
|
296
|
+
- ✅ **Images:** 25 ảnh (Tuân thủ naming convention)
|
|
297
|
+
- ✅ **Validation:** Passed (Status: READY)
|
|
298
|
+
|
|
299
|
+
### Campaign & Group
|
|
300
|
+
Đặt tên ad theo format: Country - Angle - Concept (VD: JP - AIDA - Retro Film Grain).
|
|
301
|
+
|
|
302
|
+
### 🎯 Next Steps:
|
|
303
|
+
1. Mở `preview.html` để review.
|
|
304
|
+
2. Click "Save Approval" để chọn Ads muốn chạy.
|
|
305
|
+
3. Chạy lệnh upload để đưa lên Google Ads.
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## 🛠 MCP TOOLS & GUIDES
|
|
311
|
+
|
|
312
|
+
| Task | Tool / Resource |
|
|
313
|
+
|------|----------------|
|
|
314
|
+
| Generate image | `generate_image(prompt, name)` |
|
|
315
|
+
| **Generate video** | `create_video_ad(prompt, image_path)` |
|
|
316
|
+
| **Validation** | `node bin/cli.js validate plan_dir` |
|
|
317
|
+
| **Naming Specs** | `IMAGE_GENERATION_GUIDE.md` |
|
|
318
|
+
| **Workflow Guide**| `AI_INTEGRATION_GUIDE.md` |
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 💡 HƯỚNG DẪN THỰC THI (CHO AI)
|
|
323
|
+
|
|
324
|
+
1. **Init:** Chạy `init` CLI để tạo structure.
|
|
325
|
+
2. **Text:** Replace placeholders trong `text_assets.json`.
|
|
326
|
+
3. **Images:** Bám sát `IMAGE_GENERATION_GUIDE.md`. Generate đủ 25 ảnh.
|
|
327
|
+
4. **Videos (Optional):** Dùng `create_video_ad` với input là ảnh vừa tạo.
|
|
328
|
+
5. **Copy:** Move assets vào đúng folder `plan_dir/images/` và `plan_dir/videos/`.
|
|
329
|
+
6. **Validate:** Chạy `validate` để đảm bảo integrity.
|
|
330
|
+
7. **Preview:** Chạy `preview` và gửi link.
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## 🚀 EXAMPLE WORKFLOW
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
# 1. Khởi tạo
|
|
338
|
+
node ads-uploader/bin/cli.js init "Lofi Cam" -c 1047379123
|
|
339
|
+
|
|
340
|
+
# 2. Tạo ảnh (Ví dụ 1 ảnh)
|
|
341
|
+
generate_image("Lofi film camera vibe...", "ag_1_lifestyle_1024")
|
|
342
|
+
mv ag_1_lifestyle_1024.png ads_plan_lofi_cam/images/
|
|
343
|
+
|
|
344
|
+
# 3. Tạo video từ ảnh (Veo)
|
|
345
|
+
create_video_ad({
|
|
346
|
+
prompt: "Slow zoom in, vintage film grain effect",
|
|
347
|
+
image_path: "ads_plan_lofi_cam/images/ag_1_lifestyle_1024.png",
|
|
348
|
+
output_filename: "ag_1_lifestyle.mp4"
|
|
349
|
+
})
|
|
350
|
+
mv ag_1_lifestyle.mp4 ads_plan_lofi_cam/videos/
|
|
351
|
+
|
|
352
|
+
# 4. Validate & Sync status
|
|
353
|
+
node ads-uploader/bin/cli.js validate ads_plan_lofi_cam_20260128
|
|
354
|
+
|
|
355
|
+
# 5. Preview cho User
|
|
356
|
+
node ads-uploader/bin/cli.js preview ads_plan_lofi_cam_20260128
|
|
357
|
+
```
|