@leejungkiin/awkit 1.6.5 → 1.6.8

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.
Files changed (35) hide show
  1. package/README.md +121 -130
  2. package/bin/awk.js +111 -8
  3. package/package.json +5 -3
  4. package/schemas/onboarding-screen.schema.json +108 -0
  5. package/scripts/__pycache__/openrouter_image_gen.cpython-311.pyc +0 -0
  6. package/scripts/cockpit-quota.js +93 -0
  7. package/scripts/openrouter_image_gen.py +772 -0
  8. package/scripts/video-analyzer.js +172 -0
  9. package/skills/CATALOG.md +2 -1
  10. package/skills/ai-sprite-maker/SKILL.md +27 -6
  11. package/skills/ai-sprite-maker/scripts/__pycache__/remove_chroma_key.cpython-311.pyc +0 -0
  12. package/skills/ai-sprite-maker/scripts/remove_chroma_key.py +440 -0
  13. package/skills/awf-caveman/SKILL.md +65 -0
  14. package/skills/expo-build-optimizer/SKILL.md +33 -0
  15. package/skills/ios-app-store-audit/SKILL.md +48 -0
  16. package/skills/ios-expert-coder/SKILL.md +45 -0
  17. package/skills/mascot-designer/SKILL.md +66 -0
  18. package/skills/mascot-designer/examples/witny-case-study.md +35 -0
  19. package/skills/orchestrator/SKILL.md +20 -0
  20. package/skills/short-maker/scripts/google-flow-cli/README.md +227 -115
  21. package/skills/short-maker/scripts/google-flow-cli/gflow/api/client.py +32 -3
  22. package/skills/short-maker/scripts/google-flow-cli/gflow/api/models.py +4 -2
  23. package/skills/short-maker/scripts/google-flow-cli/gflow/cli/main.py +33 -6
  24. package/skills/short-maker/scripts/google-flow-cli/pyproject.toml +1 -1
  25. package/skills/verification-gate/SKILL.md +4 -0
  26. package/templates/help.html +21 -0
  27. package/templates/project-identity/android.json +24 -0
  28. package/templates/project-identity/backend-nestjs.json +24 -0
  29. package/templates/project-identity/expo.json +24 -0
  30. package/templates/project-identity/ios.json +24 -0
  31. package/templates/project-identity/web-nextjs.json +24 -0
  32. package/templates/specs/design-template.md +71 -161
  33. package/templates/specs/requirements-template.md +133 -65
  34. package/workflows/ui/create-spec-architect.md +80 -50
  35. package/workflows/ui/image-gen.md +118 -0
@@ -49,80 +49,110 @@ Hỏi người dùng các câu hỏi:
49
49
  mkdir -p docs/specs/[feature-name]
50
50
  ```
51
51
 
52
- ### 3.2. Requirements Template
52
+ ### 3.2. Detailed Concept/Requirements Template (Theo chuẩn Đẹp Tướng)
53
53
 
54
54
  **File:** `docs/specs/[feature]/requirements.md`
55
55
 
56
56
  ```markdown
57
- # [Feature] Requirements
57
+ # Concept Document — [Tính Năng/Giao Diện]
58
+ > "[Slogan hoặc câu định vị ngắn gọn]"
59
+
60
+ [⚠️ AI INSTRUCTION: BẮT BUỘC sử dụng cấu trúc cực kỳ chi tiết, dùng ASCII Diagram (Plain text) cho các kiến trúc/luồng xử lý và bảng biểu như template chuẩn.]
61
+
62
+ ## 1. Tầm nhìn & Lý do tồn tại
63
+ * **Tóm tắt dự án:** ...
64
+ * **Vấn đề được giải quyết:** ...
65
+ * **Đối tượng người dùng cốt lõi:** ...
66
+
67
+ ## 2. Triết lý cốt lõi
68
+ ### 2.1 Các lớp phân tích / Nền tảng (Bắt buộc vẽ ASCII logic block)
69
+ ```text
70
+ ┌─────────────────────────────────────────────────┐
71
+ │ [LỚP 1] │
72
+ ├─────────────────────────────────────────────────┤
73
+ │ [LỚP 2] │
74
+ └─────────────────────────────────────────────────┘
75
+
76
+ [ĐỘNG CƠ XỬ LÝ CHÍNH]
77
+ ```
78
+ ### 2.2 Nguyên tắc thiết kế tính năng (Tối thiểu 5 nguyên tắc)
58
79
 
59
- ## Introduction
60
- [1-2 sentences: What & Why]
80
+ ## 3. Kiến trúc ứng dụng
81
+ ### 3.1 Stack kỹ thuật (Bảng ánh xạ UI, AI, DB, BaaS)
82
+ ### 3.2 Cấu trúc màn hình (Vẽ sơ đồ Folder Tree routing)
61
83
 
62
- ## Glossary
63
- - **Term**: Definition
84
+ ## 4. Luồng xử lý cốt lõi (Vẽ ASCII Flowchain logic)
64
85
 
65
- ## Requirements
86
+ ## 5. Onboarding — Mindset & Thiết kế
87
+ * Triết lý: Value trước, đăng ký sau
88
+ * Cấu trúc Slides (Slide 0 -> 3): Chi tiết animation, thông điệp.
89
+ * Design Patterns: Count-up, Stagger, v.v.
66
90
 
67
- ### RQ-01: [Requirement Name]
68
- **Story:** As a [user], I want [action], so that [benefit].
91
+ ## 6. Gợi ý tính năng — Mindset (Logic mapping, Không Generic)
92
+ * Đưa dụ Text chung chung vs ✅ Text phân tích chiều sâu.
69
93
 
70
- **Criteria:**
71
- 1. WHEN [trigger], THEN [behavior]
72
- 2. WHEN [error], THEN [handling]
73
- 3. WHILE [state], THEN [constraint]
94
+ ## 7. Design System
95
+ * Palette màu (Bảng Hex + Tên)
96
+ * Animation & Icon conventions
74
97
 
75
- ### RQ-02: [Requirement Name]
76
- **Story:** As a [user], I want [action], so that [benefit].
98
+ ## 8. Vòng lặp tăng trưởng & Engagement
99
+ * Vẽ ASCII Loop tuần hoàn giữ chân user
100
+ * Bảng Trigger Notifications
77
101
 
78
- **Criteria:**
79
- 1. WHEN [trigger], THEN [behavior]
102
+ ## 9. Mô hình kinh doanh (Cây tính năng Free vs Premium)
103
+ ## 10. Nguyên tắc kỹ thuật (Performance, Data flow, Error handling)
104
+ ## 11. Roadmap (Phase MVP -> Depth -> Growth)
105
+ ## 12. Điều Không Được Làm (Anti-patterns - 7 quy tắc cấm kỵ)
80
106
  ```
81
107
 
82
- ### 3.3. Design Template
108
+ ### 3.3. Design Template (Theo chuẩn Đồ Họa & UI)
83
109
 
84
110
  **File:** `docs/specs/[feature]/design.md`
85
111
 
86
112
  ```markdown
87
- # [Feature] Design
88
-
89
- ## Overview
90
- [Architecture approach in 2-3 sentences]
91
-
92
- ## Component Hierarchy
93
- ```
94
- FeatureView
113
+ # UI/Visual Design Document — [Tính Năng/Giao Diện]
114
+ > "[Slogan hoặc Nguyên tắc chủ đạo của giao diện: "Ví dụ: Mỗi tab một sứ mệnh – không overlap"]"
115
+
116
+ ## 1. Tổng Quan & Metadata
117
+ * **Phiên bản & Thời gian:** ...
118
+ * **Mục tiêu:** [Lý do thay đổi/Kết quả đồ họa mong muốn]
119
+
120
+ ## 2. Nguyên Tắc Thiết Kế (Design Principles)
121
+ 1. [Tình trạng hiển thị / Phân cấp Animation theo tier]
122
+ 2. [Sử dụng hệ thống thông báo/Badge thông minh]
123
+
124
+ ## 3. Đặc Tả Hình Ảnh (Component Specs)
125
+ ### 3.1 Thông số kỹ thuật (Thẩm mỹ)
126
+ * **Kích thước:** [Ví dụ: Height: 60px + SafeArea]
127
+ * **Màu sắc & Shadow:** [Mã màu Hex, Elevation, Border]
128
+ * **Trạng thái:** [Màu Active/Inactive, Font Weight]
129
+
130
+ ### 3.2 Danh sách Element
131
+ * Mô tả chi tiết Icon, Label, Mức hiển thị.
132
+
133
+ ## 4. Chi Tiết Các Màn Hình (Screen Breakdown)
134
+ ### 4.1 Layout: [Tên Màn Hình]
135
+ * Theo chiều dọc:
136
+ - Header / Hero Section
137
+ - Grid / Danh sách
138
+ - Action Buttons (Bottom)
139
+ ### 4.2 Component Hierarchy (Cấu trúc giao diện)
140
+ ```text
141
+ FeatureView (Root)
95
142
  ├── HeaderComponent
96
143
  ├── ContentSection
97
- │ ├── ItemList
98
- │ └── ItemDetail
99
144
  └── ActionButtons
100
145
  ```
101
146
 
102
- ## Data Models
103
- ```swift
104
- struct Model: Codable, Identifiable {
105
- let id: UUID
106
- let property: String
107
- }
147
+ ## 5. Đặc Tả Chuyển Động (Animation & Graphic Logic)
148
+ * **Animation Spec:** [Kiểu: Spring, Ease. Damping/Duration cụ thể]
149
+ * **Haptic:** [Rung khi chạm/thành công]
150
+ * **Badge Graphic Logic:** [Vị trí chấm đỏ, điều kiện nhấp nháy/biến mất]
108
151
 
109
- enum ViewState {
110
- case idle, loading, loaded([Model]), error(Error)
111
- }
152
+ ## 6. Sơ Đồ Routing (Màn Hình)
153
+ * **Cấu trúc Thư mục UI:** [Sơ đồ App Router, ví dụ: app/(tabs)/explore]
154
+ * Không đi sâu vào Database. Chỉ liệt kê File UI mới.
112
155
  ```
113
-
114
- ## Key Interfaces
115
- | Component | Purpose | Dependencies |
116
- |-----------|---------|--------------|
117
- | ViewModel | State management | Repository |
118
- | Repository | Data access | API, Cache |
119
-
120
- ## UI Specs
121
- - **Colors:** [Primary, Secondary, Accent]
122
- - **Typography:** [Title, Body, Caption sizes]
123
- - **Animations:** [Duration, Easing]
124
- ```
125
-
126
156
  ### 3.4. Task Generation (Symphony)
127
157
 
128
158
  **Script:** `docs/specs/[feature]/init_tasks.sh`
@@ -0,0 +1,118 @@
1
+ ---
2
+ description: 🎨 Image Generator — Tạo App Icons, Mascots và Pets (Hatch-style) với chất lượng Studio (Soft-Edge & Hole-Aware)
3
+ ---
4
+
5
+ # /image-gen — High-Quality Asset Production Workflow
6
+
7
+ > Quy trình tạo Asset chuyên nghiệp, tự động tách nền và xử lý cạnh mượt mà (PicWish Style).
8
+ > Hỗ trợ tạo Pet Bundle (Trứng + Thú cưng) tương tự Codex nhưng chất lượng cao hơn.
9
+
10
+ // turbo-all
11
+
12
+ ---
13
+
14
+ ## Sub-commands
15
+
16
+ ### `/image-gen:icon` — Tạo bộ App Icon
17
+
18
+ 1. Hỏi user về chủ đề (Theme), phong cách (Style - mặc định: `vector`), và **Kích thước lưới** (Grid - mặc định: `3x3`).
19
+ 2. Tự động tính toán số lượng `{count}` dựa trên lưới (vd: 3x3 -> 9 icons).
20
+ 3. Thông báo user: "🎨 Đang phác thảo bộ Icon Set {grid} cho chủ đề: {theme}..."
21
+ 4. Thực thi lệnh tạo:
22
+ ```bash
23
+ create-icon {theme} {grid} {style}
24
+ ```
25
+ 5. Sau khi ảnh được tạo, thông báo: "✅ Đã tạo xong và xử lý Soft-Edge. File lưu tại: `assets/generated/`."
26
+
27
+ ### `/image-gen:mascot` — Tạo bộ Linh vật / Mascot
28
+
29
+ 1. Hỏi user về nhân vật (Character), phong cách (Style - mặc định: `chibi`), và **Kích thước lưới** (Grid - mặc định: `3x3`).
30
+ 2. Tự động tính toán số lượng `{count}` dựa trên lưới.
31
+ 3. Thông báo user: "🧸 Đang thiết kế bộ Mascot {grid} cho: {character}..."
32
+ 4. Thực thi lệnh tạo:
33
+ ```bash
34
+ create-mascot {character} {grid} {style}
35
+ ```
36
+ 5. Sau khi ảnh được tạo, thông báo: "✅ Mascot đã sẵn sàng với nền trong suốt hoàn hảo!"
37
+
38
+ ### `/image-gen:pet` — Tạo Pet Bundle (Ấp trứng)
39
+
40
+ 1. Hỏi user về loại Pet (ví dụ: `fire dragon`, `ice phoenix`) và **Kích thước lưới** (Grid - mặc định: `4x4` cho đầy đủ trạng thái).
41
+ 2. Thông báo user: "🐣 Đang tạo Pet Bundle ({grid}) cho: {pet_type}..."
42
+ 3. Thực thi lệnh tạo:
43
+ ```bash
44
+ create-pet {pet_type} {grid}
45
+ ```
46
+ 4. Tạo thư mục cấu hình: `mkdir -p assets/pets/{pet_id}`
47
+ 5. Ghi file `pet.json` mẫu tương thích hệ thống Hatch Pet.
48
+ 6. Thông báo: "✨ Pet Bundle đã được đóng gói tại `assets/pets/{pet_id}/`."
49
+
50
+ ### `/image-gen:process` — Xử lý ảnh có sẵn (Hole-Aware)
51
+
52
+ 1. User cung cấp đường dẫn ảnh nguồn (`input_path`).
53
+ 2. Xác định tên file đầu ra (`output_name.webp`).
54
+ 3. Thực thi lệnh xử lý với thuật toán v3.1:
55
+ ```bash
56
+ process-image {input_path} assets/generated/{output_name}.webp 15
57
+ ```
58
+
59
+ ### `/image-gen:openrouter` — Tạo ảnh qua OpenRouter (GPT-5.4-Image)
60
+
61
+ Quy trình sử dụng script `openrouter_image_gen.py` (Codex-grade) hỗ trợ 3 chế độ:
62
+
63
+ #### 1. Chế độ `generate` (Text-to-Image)
64
+ Dùng để tạo mới asset từ mô tả văn bản, hỗ trợ các tham số Art Direction cực mạnh:
65
+ ```bash
66
+ python3 ~/.gemini/antigravity/scripts/openrouter_image_gen.py generate \
67
+ --prompt "{chủ_thể}" \
68
+ --style "{phong_cách}" \
69
+ --lighting "{ánh_sáng}" \
70
+ --palette "{tông_màu}" \
71
+ --out "assets/generated/{filename}.webp"
72
+ ```
73
+
74
+ #### 2. Chế độ `edit` (Image-to-Image / Style Transfer)
75
+ Dùng để biến đổi ảnh có sẵn (Local path hoặc URL) sang phong cách khác hoặc chỉnh sửa chi tiết:
76
+ ```bash
77
+ python3 ~/.gemini/antigravity/scripts/openrouter_image_gen.py edit \
78
+ --image "{đường_dẫn_ảnh_gốc}" \
79
+ --prompt "{mô_tả_chỉnh_sửa}" \
80
+ --style "{phong_cách_mới}" \
81
+ --out "assets/generated/{filename}.webp"
82
+ ```
83
+
84
+ #### 3. Chế độ `generate-batch` (Chạy hàng loạt)
85
+ Dùng để sinh hàng loạt asset từ file `.jsonl` (tối đa 100 jobs) với cơ chế Retry tự động:
86
+ ```bash
87
+ python3 ~/.gemini/antigravity/scripts/openrouter_image_gen.py generate-batch \
88
+ --input "jobs.jsonl" \
89
+ --out-dir "assets/generated/batch/" \
90
+ --concurrency 3
91
+ ```
92
+
93
+ > **Note**: Script tự động xử lý Upload ảnh local lên `tmpfiles.org` và có cơ chế Exponential Backoff để chống lỗi nghẽn (429).
94
+
95
+ ---
96
+
97
+ ## 🛠 Quality Standards (Codex Hatch Pet Technique)
98
+
99
+ - **🚫 CẤM DÙNG "Nền trong suốt / Transparent Background"**: TUYỆT ĐỐI KHÔNG thêm các từ khóa "transparent background", "nền trong suốt", "alpha channel" vào prompt sinh ảnh. Việc này sẽ khiến AI (như DALL-E, Midjourney, OpenRouter) sinh ra **nền caro giả (fake checkerboard)** bám dính vào nhân vật, cực kỳ khó xoá.
100
+ - **✅ Background**: LUÔN ưu tiên sử dụng `solid bright green background #00FF00` hoặc `solid white background #FFFFFF` (nếu nhân vật có màu xanh) để AI render chi tiết tốt nhất, không bị đổ bóng (no shadows cast on the background).
101
+ - **🛠 Hậu kỳ (Post-Processing)**: Sau khi sinh ảnh thô có nền Solid, BẮT BUỘC sử dụng công cụ Python Chroma-key cục bộ (process-image hoặc process_sprites.py) để gỡ nền.
102
+ - **Edges & Holes**: Script Python sẽ tự động áp dụng Alpha Feathering (Blur 0x3) để triệt tiêu răng cưa, và xóa các vùng kẹt trong cánh/tay nhưng bảo vệ đôi mắt (Morphology Close).
103
+
104
+ ---
105
+
106
+ ## Communication
107
+
108
+ Mỗi khi bắt đầu một lượt generate:
109
+ ```
110
+ 🎨 [Antigravity Artist] Đang khởi tạo xưởng vẽ cho {asset_type}...
111
+ 🚀 Chiến lược: Neutral White + Soft-Edge Alpha.
112
+ ```
113
+
114
+ Sau khi hoàn tất:
115
+ ```
116
+ ✅ Hoàn tất! Asset của bạn đã được tối ưu hóa WebP và tách nền sạch sẽ.
117
+ 📍 Vị trí: [đường dẫn]
118
+ ```