antigravity-ide 3.5.8 → 3.5.26
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/README.md +24 -38
- package/README.vi.md +26 -37
- package/cli/create.js +87 -21
- package/cli/prompts.js +19 -108
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -9,20 +9,27 @@
|
|
|
9
9
|
|
|
10
10
|
**Google Antigravity** is the core intelligence engine for building AI Agents. It provides a CLI tool (`npx`) to instantly scaffold agent-ready projects equipped with comprehensive professional skills and robust operational rules.
|
|
11
11
|
|
|
12
|
+
| **20+** Master Skills | **15+** Specialist Agents | **11** Workflows | **13** Shared Modules |
|
|
13
|
+
| :---: | :---: | :---: | :---: |
|
|
14
|
+
| Full-Stack Capabilities | Role-Based Personas | Development Processes | Reusable Standards |
|
|
15
|
+
|
|
12
16
|
## 📦 Installation
|
|
13
17
|
|
|
14
18
|
### Quick Start
|
|
15
19
|
|
|
16
|
-
|
|
20
|
+
Run the following command:
|
|
17
21
|
|
|
18
22
|
```sh
|
|
23
|
+
# Option 1: Create a new project folder
|
|
24
|
+
npx antigravity-ide my-agent-project
|
|
25
|
+
|
|
26
|
+
# Option 2: Install in the current directory (Smart Install)
|
|
19
27
|
npx antigravity-ide
|
|
20
28
|
```
|
|
21
29
|
|
|
22
|
-
Follow the interactive
|
|
23
|
-
1. **
|
|
24
|
-
2. **
|
|
25
|
-
3. **Industry Domain**: Select your field (Finance, Education, F&B, etc.) to auto-load the perfect skill set.
|
|
30
|
+
Follow the interactive setup:
|
|
31
|
+
1. **Agent Engine**: Choose **Standard (Node.js)** for lightweight tasks or **Advanced (Python)** for AI/Data Science.
|
|
32
|
+
2. **Industry Domain**: Select your field (Finance, Education, etc.) to optimize the Agent's focus and skills.
|
|
26
33
|
|
|
27
34
|
### Skip Prompts (Use Defaults)
|
|
28
35
|
|
|
@@ -30,28 +37,15 @@ Follow the interactive 3-step setup:
|
|
|
30
37
|
npx antigravity-ide my-project --skip-prompts
|
|
31
38
|
```
|
|
32
39
|
|
|
33
|
-
## 🤖
|
|
34
|
-
|
|
35
|
-
**All 550+ skills are Gemini-compatible!**
|
|
40
|
+
## 🤖 AI Model Compatibility
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
// Your Gemini agent gets all skills automatically
|
|
39
|
-
import { GoogleGenerativeAI } from "@google/generative-ai";
|
|
40
|
-
|
|
41
|
-
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
|
|
42
|
-
const model = genAI.getGenerativeModel({
|
|
43
|
-
model: "gemini-2.0-flash-exp"
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// Skills are in .agent/skills/ - ready to use!
|
|
47
|
-
```
|
|
42
|
+
**Google Antigravity** is designed to be the "Brain" for any AI model.
|
|
48
43
|
|
|
49
|
-
**
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- ✅ **Production-Ready**: 550+ battle-tested skills
|
|
44
|
+
- **Google Gemini**: Fully compatible with 2M context window.
|
|
45
|
+
- **Anthropic Claude**: Optimized reasoning with `.agent` rules.
|
|
46
|
+
- **OpenAI GPT-4**: Standardized skill formats.
|
|
53
47
|
|
|
54
|
-
See [GEMINI.md](./GEMINI.md) for
|
|
48
|
+
👉 **See [GEMINI.md](./GEMINI.md) for integration guides.**
|
|
55
49
|
|
|
56
50
|
## 🚀 Core Features
|
|
57
51
|
|
|
@@ -63,26 +57,18 @@ The heart of the system is the `.agent` folder, which contains:
|
|
|
63
57
|
|
|
64
58
|
### ⚡ **Project Scaffolding (CLI)**
|
|
65
59
|
A smart CLI tool to bootstrap new projects:
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
60
|
+
- **Smart Install**: Detects context to install in current directory or create a new one.
|
|
61
|
+
- **Agent Engines**: **Standard** (Node.js, lightweight) or **Advanced** (Python, full-power).
|
|
62
|
+
- **Industry Intelligence**: Installs all professional skills but prioritizes your specific domain (Finance, Logistics, etc.) in the Agent's configuration.
|
|
63
|
+
- **Fast**: Minimal footprint, intelligent filtering.
|
|
69
64
|
|
|
70
65
|
## 📂 Project Structure
|
|
71
66
|
|
|
72
67
|
```text
|
|
73
68
|
antigravity-ide/
|
|
74
|
-
├── .agent/ # 🧠 THE BRAIN: Configs &
|
|
75
|
-
└──
|
|
69
|
+
├── .agent/ # 🧠 THE BRAIN: Configs & 550+ Skills
|
|
70
|
+
└── cli/ # ⚡ CLI TOOL: Project Scaffolding
|
|
76
71
|
```
|
|
77
72
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
## 📜 Attribution & License
|
|
81
|
-
|
|
82
|
-
This project adheres to the MIT License.
|
|
83
|
-
|
|
84
|
-
* This project is a derivative work of [Antigravity Kit](https://github.com/vudovn/antigravity-kit) by [vudovn](https://github.com/vudovn).
|
|
85
|
-
* Please see [LICENSE](./LICENSE) for full attribution details and third-party license information.
|
|
86
|
-
|
|
87
73
|
---
|
|
88
74
|
*Created with ❤️ by Dokhacgiakhoa*
|
package/README.vi.md
CHANGED
|
@@ -9,20 +9,31 @@
|
|
|
9
9
|
|
|
10
10
|
**Google Antigravity** là động cơ trí tuệ cốt lõi để xây dựng các AI Agent. Nó cung cấp công cụ CLI (`npx`) giúp bạn tạo lập tức thì các dự án sẵn sàng cho Agent với bộ kỹ năng chuyên nghiệp toàn diện và các quy tắc vận hành chặt chẽ.
|
|
11
11
|
|
|
12
|
+
| **20+** Master Skills | **15+** Specialist Agents | **11** Quy trình | **13** Shared Modules |
|
|
13
|
+
| :---: | :---: | :---: | :---: |
|
|
14
|
+
| Bộ Kỹ Năng Chủ Chốt | Tác Nhân Chuyên Gia | Quy trình Chuẩn | Tiêu chuẩn dùng chung |
|
|
15
|
+
|
|
12
16
|
## 📦 Cài Đặt
|
|
13
17
|
|
|
14
18
|
### Bắt đầu nhanh
|
|
15
19
|
|
|
16
|
-
|
|
20
|
+
Chạy lệnh sau:
|
|
17
21
|
|
|
18
22
|
```sh
|
|
23
|
+
# 1. Tạo dự án mới (Khuyên dùng)
|
|
24
|
+
npx antigravity-ide ten-du-an
|
|
25
|
+
|
|
26
|
+
# 2. Cài vào thư mục hiện tại (Smart Install)
|
|
19
27
|
npx antigravity-ide
|
|
20
28
|
```
|
|
21
29
|
|
|
22
|
-
|
|
23
|
-
1. **
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
Hệ thống sẽ tự động cấu hình qua 2 bước:
|
|
31
|
+
1. **Agent Engine**:
|
|
32
|
+
- **Standard (Node.js)**: Tốc độ cao, loại bỏ các file Python không cần thiết.
|
|
33
|
+
- **Advanced (Python)**: Hỗ trợ Full AI/Data Science (giữ nguyên .py, notebook).
|
|
34
|
+
2. **Lĩnh vực (Industry)**:
|
|
35
|
+
- Chọn lĩnh vực của bạn (Tài chính, Giáo dục, Vận tải...).
|
|
36
|
+
- Hệ thống sẽ **tải toàn bộ kỹ năng** nhưng tự động cấu hình để **ưu tiên tối đa** cho lĩnh vực đó.
|
|
26
37
|
|
|
27
38
|
### Bỏ qua câu hỏi (dùng mặc định)
|
|
28
39
|
|
|
@@ -30,28 +41,15 @@ Làm theo 3 bước hướng dẫn đơn giản:
|
|
|
30
41
|
npx antigravity-ide my-project --skip-prompts
|
|
31
42
|
```
|
|
32
43
|
|
|
33
|
-
## 🤖 Tương thích
|
|
34
|
-
|
|
35
|
-
**Tất cả 550+ skills đều hoạt động với Gemini!**
|
|
44
|
+
## 🤖 Tương thích Đa Mô hình AI
|
|
36
45
|
|
|
37
|
-
|
|
38
|
-
// Gemini agent tự động có sẵn tất cả skills
|
|
39
|
-
import { GoogleGenerativeAI } from "@google/generative-ai";
|
|
40
|
-
|
|
41
|
-
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
|
|
42
|
-
const model = genAI.getGenerativeModel({
|
|
43
|
-
model: "gemini-2.0-flash-exp"
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// Skills nằm trong .agent/skills/ - sẵn sàng dùng ngay!
|
|
47
|
-
```
|
|
46
|
+
**Google Antigravity** được thiết kế để làm "Bộ não" cho bất kỳ AI Model nào.
|
|
48
47
|
|
|
49
|
-
**
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- ✅ **Production-Ready**: 550+ skills đã qua kiểm chứng thực tế
|
|
48
|
+
- **Google Gemini**: Tận dụng tối đa cửa sổ ngữ cảnh 2M token.
|
|
49
|
+
- **Anthropic Claude**: Tối ưu hóa tư duy với bộ quy tắc `.agent`.
|
|
50
|
+
- **OpenAI GPT-4**: Chuẩn hóa định dạng kỹ năng.
|
|
53
51
|
|
|
54
|
-
👉 Xem [GEMINI.md](./GEMINI.md) để biết hướng dẫn chi tiết
|
|
52
|
+
👉 **Xem [GEMINI.md](./GEMINI.md) để biết hướng dẫn tích hợp chi tiết.**
|
|
55
53
|
|
|
56
54
|
## 🚀 Tính năng Cốt lõi
|
|
57
55
|
|
|
@@ -63,9 +61,10 @@ Trái tim của hệ thống là thư mục `.agent`, chứa:
|
|
|
63
61
|
|
|
64
62
|
### ⚡ **Khởi tạo Dự án (CLI)**
|
|
65
63
|
Công cụ CLI thông minh để bootstrap dự án mới:
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
64
|
+
- **Smart Install**: Tự động phát hiện ngữ cảnh để cài vào thư mục hiện tại hoặc tạo mới.
|
|
65
|
+
- **Agent Engines**: **Standard** (Node.js, siêu nhẹ) hoặc **Advanced** (Python, đầy đủ sức mạnh).
|
|
66
|
+
- **Domain Intelligence**: Tải toàn bộ kỹ năng chuyên nghiệp nhưng tự động ưu tiên lĩnh vực của bạn (Tài chính, Y tế...) trong cấu hình Agent.
|
|
67
|
+
- **Nhanh gọn**: Tối giản, lọc file thông minh theo Engine.
|
|
69
68
|
|
|
70
69
|
## 📂 Cấu trúc dự án
|
|
71
70
|
|
|
@@ -75,8 +74,6 @@ antigravity-ide/
|
|
|
75
74
|
└── cli/ # ⚡ CLI TOOL: Tạo project
|
|
76
75
|
```
|
|
77
76
|
|
|
78
|
-
|
|
79
|
-
|
|
80
77
|
## 📚 Tài liệu
|
|
81
78
|
|
|
82
79
|
- [**README.md**](./README.md) - Phiên bản tiếng Anh
|
|
@@ -84,13 +81,5 @@ antigravity-ide/
|
|
|
84
81
|
- [**GEMINI.md**](./GEMINI.md) - Hướng dẫn tích hợp Gemini
|
|
85
82
|
- [**COPYRIGHT.md**](./COPYRIGHT.md) - Thông tin bản quyền
|
|
86
83
|
|
|
87
|
-
## 📜 Giấy phép & Ghi nhận
|
|
88
|
-
|
|
89
|
-
Dự án này sử dụng giấy phép MIT.
|
|
90
|
-
|
|
91
|
-
* Phát triển dựa trên [Antigravity Kit](https://github.com/vudovn/antigravity-kit) của [vudovn](https://github.com/vudovn).
|
|
92
|
-
* Xem [LICENSE](./LICENSE) để biết chi tiết về giấy phép.
|
|
93
|
-
* Xem [COPYRIGHT.md](./COPYRIGHT.md) để đọc giải thích bằng tiếng Việt.
|
|
94
|
-
|
|
95
84
|
---
|
|
96
85
|
*Được tạo với ❤️ bởi Dokhacgiakhoa*
|
package/cli/create.js
CHANGED
|
@@ -47,7 +47,7 @@ async function createProject(projectName, options) {
|
|
|
47
47
|
// Copy selected skills
|
|
48
48
|
if (config.template !== 'minimal' && config.skillCategories?.length > 0) {
|
|
49
49
|
spinner.start('Installing selected skills...');
|
|
50
|
-
await copySkills(projectPath, config.skillCategories);
|
|
50
|
+
await copySkills(projectPath, config.skillCategories, config.engineMode);
|
|
51
51
|
spinner.succeed(`Installed ${config.skillCategories.length} skill categories`);
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -83,27 +83,67 @@ async function createProject(projectName, options) {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
// Helper to determine file filter based on engine mode
|
|
87
|
+
function getEngineFilter(engineMode) {
|
|
88
|
+
return (src, dest) => {
|
|
89
|
+
// If mode is 'standard' (Node.js focus), exclude Python files
|
|
90
|
+
if (engineMode === 'standard') {
|
|
91
|
+
const lowerSrc = src.toLowerCase();
|
|
92
|
+
// Exclude Python source, compiled files, and package configs
|
|
93
|
+
if (lowerSrc.endsWith('.py') ||
|
|
94
|
+
lowerSrc.endsWith('.pyc') ||
|
|
95
|
+
lowerSrc.endsWith('requirements.txt') ||
|
|
96
|
+
lowerSrc.endsWith('pipfile') ||
|
|
97
|
+
lowerSrc.endsWith('pyproject.toml') ||
|
|
98
|
+
lowerSrc.includes('__pycache__') ||
|
|
99
|
+
lowerSrc.includes('venv/') ||
|
|
100
|
+
lowerSrc.includes('.venv/')) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// 'advanced' mode (or others) includes everything
|
|
105
|
+
return true;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
|
|
86
109
|
async function copyBaseStructure(projectPath, config) {
|
|
87
|
-
const
|
|
110
|
+
const sourceAgentDir = path.join(__dirname, '..', '.agent');
|
|
111
|
+
const destAgentDir = path.join(projectPath, '.agent');
|
|
112
|
+
const filter = getEngineFilter(config.engineMode);
|
|
88
113
|
|
|
89
114
|
// Create base .agent directory
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
fs.
|
|
94
|
-
|
|
115
|
+
fs.mkdirSync(destAgentDir, { recursive: true });
|
|
116
|
+
|
|
117
|
+
// Copy all subdirectories from .agent (except skills, which are handled separately)
|
|
118
|
+
if (fs.existsSync(sourceAgentDir)) {
|
|
119
|
+
const entries = fs.readdirSync(sourceAgentDir, { withFileTypes: true });
|
|
120
|
+
|
|
121
|
+
for (const entry of entries) {
|
|
122
|
+
if (entry.name === 'skills' || entry.name === 'GEMINI.md' || entry.name === 'START_HERE.md') {
|
|
123
|
+
continue; // Handle these separately
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const sourceEntryPath = path.join(sourceAgentDir, entry.name);
|
|
127
|
+
const destEntryPath = path.join(destAgentDir, entry.name);
|
|
128
|
+
|
|
129
|
+
await fs.copy(sourceEntryPath, destEntryPath, { filter });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Ensure 'skills' dir exists even if empty
|
|
134
|
+
fs.mkdirSync(path.join(destAgentDir, 'skills'), { recursive: true });
|
|
95
135
|
|
|
96
136
|
// Copy GEMINI.md based on rules
|
|
97
|
-
const geminiContent = generateGeminiMd(config.rules, config.language);
|
|
98
|
-
fs.writeFileSync(path.join(
|
|
137
|
+
const geminiContent = generateGeminiMd(config.rules, config.language, config.industryDomain);
|
|
138
|
+
fs.writeFileSync(path.join(destAgentDir, 'GEMINI.md'), geminiContent);
|
|
99
139
|
|
|
100
140
|
// Copy START_HERE.md (onboarding guide)
|
|
101
|
-
const startHereSource = path.join(
|
|
141
|
+
const startHereSource = path.join(sourceAgentDir, 'START_HERE.md');
|
|
102
142
|
if (fs.existsSync(startHereSource)) {
|
|
103
|
-
fs.copyFileSync(startHereSource, path.join(
|
|
143
|
+
fs.copyFileSync(startHereSource, path.join(destAgentDir, 'START_HERE.md'));
|
|
104
144
|
}
|
|
105
145
|
|
|
106
|
-
// Copy basic files
|
|
146
|
+
// Copy basic files (README, .gitignore)
|
|
107
147
|
const files = ['README.md', '.gitignore'];
|
|
108
148
|
const rootDir = path.join(__dirname, '..');
|
|
109
149
|
|
|
@@ -116,9 +156,10 @@ async function copyBaseStructure(projectPath, config) {
|
|
|
116
156
|
});
|
|
117
157
|
}
|
|
118
158
|
|
|
119
|
-
async function copySkills(projectPath, categories) {
|
|
159
|
+
async function copySkills(projectPath, categories, engineMode) {
|
|
120
160
|
const skillsSourceDir = path.join(__dirname, '..', '.agent', 'skills');
|
|
121
161
|
const skillsDestDir = path.join(projectPath, '.agent', 'skills');
|
|
162
|
+
const filter = getEngineFilter(engineMode);
|
|
122
163
|
|
|
123
164
|
// Check if source directory exists
|
|
124
165
|
if (!fs.existsSync(skillsSourceDir)) {
|
|
@@ -133,12 +174,9 @@ async function copySkills(projectPath, categories) {
|
|
|
133
174
|
const skillPath = path.join(skillsSourceDir, skill);
|
|
134
175
|
if (fs.existsSync(skillPath)) {
|
|
135
176
|
const destPath = path.join(skillsDestDir, skill);
|
|
136
|
-
await fs.copy(skillPath, destPath);
|
|
177
|
+
await fs.copy(skillPath, destPath, { filter });
|
|
137
178
|
} else {
|
|
138
|
-
// Optional: Warn about missing specific skills if needed
|
|
139
|
-
// but silence is golden unless debug mode.
|
|
140
|
-
// However, for this fix, let's at least debug-log it if we had a logger.
|
|
141
|
-
// For now, if the main dir exists but skill doesn't, that's a content issue.
|
|
179
|
+
// Optional: Warn about missing specific skills if needed
|
|
142
180
|
}
|
|
143
181
|
}
|
|
144
182
|
}
|
|
@@ -196,7 +234,7 @@ trim_trailing_whitespace = false
|
|
|
196
234
|
fs.writeFileSync(path.join(projectPath, '.editorconfig'), editorConfig);
|
|
197
235
|
}
|
|
198
236
|
|
|
199
|
-
function generateGeminiMd(rules, language = 'en') {
|
|
237
|
+
function generateGeminiMd(rules, language = 'en', industry = 'other') {
|
|
200
238
|
const strictness = {
|
|
201
239
|
strict: {
|
|
202
240
|
autoRun: 'false',
|
|
@@ -214,6 +252,20 @@ function generateGeminiMd(rules, language = 'en') {
|
|
|
214
252
|
|
|
215
253
|
const config = strictness[rules] || strictness.balanced;
|
|
216
254
|
const isVi = language === 'vi';
|
|
255
|
+
|
|
256
|
+
// Define Industry Focus strings
|
|
257
|
+
const industryMap = {
|
|
258
|
+
finance: isVi ? 'Tài chính & Fintech (An toàn, Chính xác)' : 'Finance & Fintech (Security, Precision)',
|
|
259
|
+
education: isVi ? 'Giáo dục & EdTech (Trực quan, Giải thích)' : 'Education & EdTech (Intuitive, Explanatory)',
|
|
260
|
+
fnb: isVi ? 'F&B & Nhà hàng (Tốc độ, Tiện lợi)' : 'F&B & Restaurant (Speed, Convenience)',
|
|
261
|
+
personal: isVi ? 'Cá nhân & Portfolio (Sáng tạo, Cá nhân hóa)' : 'Personal & Portfolio (Creative, Personalized)',
|
|
262
|
+
healthcare: isVi ? 'Y tế & Sức khỏe (Bảo mật, Tin cậy)' : 'Healthcare & HealthTech (Privacy, Reliability)',
|
|
263
|
+
logistics: isVi ? 'Vận tải & Logistics (Hiệu quả, Real-time)' : 'Logistics & Supply Chain (Efficiency, Real-time)',
|
|
264
|
+
other: isVi ? 'Phát triển chung' : 'General Development',
|
|
265
|
+
other: isVi ? 'Phát triển chung' : 'General Development'
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
const industryFocus = industryMap[industry] || industryMap.other;
|
|
217
269
|
|
|
218
270
|
const contentEn = `---
|
|
219
271
|
trigger: always_on
|
|
@@ -223,6 +275,9 @@ trigger: always_on
|
|
|
223
275
|
|
|
224
276
|
This file controls the behavior of your AI Agent.
|
|
225
277
|
|
|
278
|
+
## 🎯 Primary Focus: ${industryFocus.toUpperCase()}
|
|
279
|
+
> **Priority**: Optimize all solutions for this domain.
|
|
280
|
+
|
|
226
281
|
## Agent Behavior Rules: ${rules.toUpperCase()}
|
|
227
282
|
|
|
228
283
|
**Auto-run Commands**: ${config.autoRun}
|
|
@@ -230,7 +285,9 @@ This file controls the behavior of your AI Agent.
|
|
|
230
285
|
|
|
231
286
|
## Core Capabilities
|
|
232
287
|
|
|
233
|
-
Your agent has access to
|
|
288
|
+
Your agent has access to **ALL** skills (Web, Mobile, DevOps, AI, Security).
|
|
289
|
+
Please utilize the appropriate skills for **${industryFocus}**.
|
|
290
|
+
|
|
234
291
|
- File operations (read, write, search)
|
|
235
292
|
- Terminal commands
|
|
236
293
|
- Web browsing
|
|
@@ -255,6 +312,9 @@ trigger: always_on
|
|
|
255
312
|
|
|
256
313
|
Tệp này kiểm soát hành vi của AI Agent.
|
|
257
314
|
|
|
315
|
+
## 🎯 Trọng tâm Chính: ${industryFocus.toUpperCase()}
|
|
316
|
+
> **Ưu tiên**: Tối ưu hóa mọi giải pháp cho lĩnh vực này.
|
|
317
|
+
|
|
258
318
|
## Quy tắc hành vi: ${rules.toUpperCase()}
|
|
259
319
|
|
|
260
320
|
**Tự động chạy lệnh**: ${config.autoRun}
|
|
@@ -262,7 +322,9 @@ Tệp này kiểm soát hành vi của AI Agent.
|
|
|
262
322
|
|
|
263
323
|
## Khả năng cốt lõi
|
|
264
324
|
|
|
265
|
-
Agent
|
|
325
|
+
Agent có quyền truy cập **TOÀN BỘ** kỹ năng (Web, Mobile, DevOps, AI, Security).
|
|
326
|
+
Vui lòng sử dụng các kỹ năng phù hợp nhất cho **${industryFocus}**.
|
|
327
|
+
|
|
266
328
|
- Thao tác tệp (đọc, ghi, tìm kiếm)
|
|
267
329
|
- Lệnh terminal
|
|
268
330
|
- Duyệt web
|
|
@@ -309,6 +371,10 @@ function printSuccessMessage(projectName, config) {
|
|
|
309
371
|
console.log(chalk.gray(' 3. Activate: ') + chalk.green('Read .agent/START_HERE.md'));
|
|
310
372
|
}
|
|
311
373
|
|
|
374
|
+
// Stats Display
|
|
375
|
+
console.log('');
|
|
376
|
+
console.log(gradient.pastel(' ✨ Installed: ') + chalk.white('20+ Master Skills') + chalk.gray(' • ') + chalk.white('15+ Agents') + chalk.gray(' • ') + chalk.white('13 Shared Modules'));
|
|
377
|
+
|
|
312
378
|
console.log('');
|
|
313
379
|
console.log(chalk.dim(config.language === 'vi' ? ' AI sẽ tự động tải các kỹ năng và quy tắc.' : ' The AI will load all skills and rules automatically.'));
|
|
314
380
|
console.log(gradient.pastel('━'.repeat(60)));
|
package/cli/prompts.js
CHANGED
|
@@ -89,7 +89,8 @@ async function getProjectConfig(skipPrompts = false, predefinedName = null) {
|
|
|
89
89
|
workflows: ['git', 'testing'],
|
|
90
90
|
includeDashboard: false,
|
|
91
91
|
language: 'en',
|
|
92
|
-
packageManager: 'npm'
|
|
92
|
+
packageManager: 'npm',
|
|
93
|
+
engineMode: 'standard'
|
|
93
94
|
};
|
|
94
95
|
}
|
|
95
96
|
|
|
@@ -149,8 +150,7 @@ async function getProjectConfig(skipPrompts = false, predefinedName = null) {
|
|
|
149
150
|
{ title: '👤 Personal / Portfolio (Cá nhân)', value: 'personal' },
|
|
150
151
|
{ title: '🏥 Healthcare (Y tế - HealthTech)', value: 'healthcare' },
|
|
151
152
|
{ title: '🚚 Logistics (Vận tải)', value: 'logistics' },
|
|
152
|
-
{ title: '🔮 Other (Khác - Web/App cơ bản)', value: 'other' }
|
|
153
|
-
{ title: '🔧 Custom (Tùy chỉnh)', value: 'custom' }
|
|
153
|
+
{ title: '🔮 Other (Khác - Web/App cơ bản)', value: 'other' }
|
|
154
154
|
] : [
|
|
155
155
|
{ title: '💰 Finance (Fintech)', value: 'finance' },
|
|
156
156
|
{ title: '🎓 Education (EdTech)', value: 'education' },
|
|
@@ -158,8 +158,7 @@ async function getProjectConfig(skipPrompts = false, predefinedName = null) {
|
|
|
158
158
|
{ title: '👤 Personal / Portfolio', value: 'personal' },
|
|
159
159
|
{ title: '🏥 Healthcare (HealthTech)', value: 'healthcare' },
|
|
160
160
|
{ title: '🚚 Logistics', value: 'logistics' },
|
|
161
|
-
{ title: '🔮 Other (General Web/App)', value: 'other' }
|
|
162
|
-
{ title: '🔧 Custom (Advanced)', value: 'custom' }
|
|
161
|
+
{ title: '🔮 Other (General Web/App)', value: 'other' }
|
|
163
162
|
],
|
|
164
163
|
initial: 6
|
|
165
164
|
}
|
|
@@ -176,113 +175,25 @@ async function getProjectConfig(skipPrompts = false, predefinedName = null) {
|
|
|
176
175
|
}
|
|
177
176
|
|
|
178
177
|
// PRESETS CONFIGURATION
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
};
|
|
178
|
+
// All selections now use preset values with full skills
|
|
179
|
+
const commonWorkflows = ['git'];
|
|
180
|
+
const commonRules = 'balanced';
|
|
181
|
+
const settings = {
|
|
182
|
+
template: 'standard',
|
|
183
|
+
rules: commonRules,
|
|
184
|
+
workflows: commonWorkflows,
|
|
185
|
+
packageManager: 'npm'
|
|
186
|
+
};
|
|
189
187
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
healthcare: { ...settings, skillCategories: ['security', 'mobile', 'ai'] },
|
|
196
|
-
logistics: { ...settings, skillCategories: ['devops', 'mobile', 'ai'] },
|
|
197
|
-
other: { ...settings, skillCategories: ['webdev', 'ai'] }
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
return { ...basics, ...presets[basics.industryDomain] };
|
|
201
|
-
}
|
|
188
|
+
// For industry presets, we install ALL skills ("tải đầy đủ")
|
|
189
|
+
// but the selected industry will be used to set priority in GEMINI.md
|
|
190
|
+
|
|
191
|
+
// Return configuration with presets
|
|
192
|
+
return { ...basics, ...settings, skillCategories: Object.keys(skillCategories) };
|
|
202
193
|
|
|
203
|
-
/*
|
|
204
|
-
PHASE 2: ADVANCED CONFIGURATION (Only if industryDomain === 'custom')
|
|
205
|
-
*/
|
|
206
|
-
console.log(chalk.yellow(basics.language === 'vi' ? '\n🔧 Cấu hình nâng cao:' : '\n🔧 Advanced Configuration:'));
|
|
207
194
|
|
|
208
|
-
const advanced = await prompts([
|
|
209
|
-
{
|
|
210
|
-
type: 'select',
|
|
211
|
-
name: 'template',
|
|
212
|
-
message: basics.language === 'vi' ? 'Chọn mẫu dự án:' : 'Choose project template:',
|
|
213
|
-
choices: basics.language === 'vi' ? [
|
|
214
|
-
{ title: '1. Tối giản - Chỉ cấu trúc .agent cơ bản', value: 'minimal' },
|
|
215
|
-
{ title: '2. Tiêu chuẩn - .agent + các skill được chọn (Khuyên dùng)', value: 'standard' },
|
|
216
|
-
{ title: '3. Đầy đủ - Tất cả mọi thứ (full skills, lab, test suite)', value: 'full' }
|
|
217
|
-
] : [
|
|
218
|
-
{ title: '1. Minimal - Basic .agent structure only', value: 'minimal' },
|
|
219
|
-
{ title: '2. Standard - .agent + selected skills (Recommended)', value: 'standard' },
|
|
220
|
-
{ title: '3. Full - Everything (all skills, lab, test suite)', value: 'full' }
|
|
221
|
-
],
|
|
222
|
-
initial: 1
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
type: 'select',
|
|
226
|
-
name: 'rules',
|
|
227
|
-
message: basics.language === 'vi' ? 'Quy tắc hành vi Agent:' : 'Agent behavior rules:',
|
|
228
|
-
choices: basics.language === 'vi' ? [
|
|
229
|
-
{ title: '1. Nghiêm ngặt - An toàn tối đa, luôn hỏi trước khi làm', value: 'strict' },
|
|
230
|
-
{ title: '2. Cân bằng - Tự chủ vừa phải, an toàn (Khuyên dùng)', value: 'balanced' },
|
|
231
|
-
{ title: '3. Linh hoạt - Tự chủ cao, ít hạn chế', value: 'flexible' }
|
|
232
|
-
] : [
|
|
233
|
-
{ title: '1. Strict - Maximum safety, requires approval for most actions', value: 'strict' },
|
|
234
|
-
{ title: '2. Balanced - Good mix of autonomy and safety (Recommended)', value: 'balanced' },
|
|
235
|
-
{ title: '3. Flexible - High autonomy, minimal restrictions', value: 'flexible' }
|
|
236
|
-
],
|
|
237
|
-
initial: 1
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
type: (prev, values) => values.template !== 'minimal' ? 'multiselect' : null,
|
|
241
|
-
name: 'skillCategories',
|
|
242
|
-
message: basics.language === 'vi' ? 'Chọn nhóm kỹ năng:' : 'Select skill categories to include:',
|
|
243
|
-
choices: Object.entries(skillCategories).map(([key, { name }]) => ({
|
|
244
|
-
title: name,
|
|
245
|
-
value: key,
|
|
246
|
-
selected: key === 'webdev'
|
|
247
|
-
})),
|
|
248
|
-
hint: 'Space to select, Enter to confirm'
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
type: 'multiselect',
|
|
252
|
-
name: 'workflows',
|
|
253
|
-
message: basics.language === 'vi' ? 'Chọn quy trình làm việc (Workflows):' : 'Select workflows to include:',
|
|
254
|
-
choices: basics.language === 'vi' ? [
|
|
255
|
-
{ title: 'Git Workflows - Quản lý nhánh, commit, PR', value: 'git', selected: true },
|
|
256
|
-
{ title: 'Testing - TDD, unit tests, E2E tests', value: 'testing', selected: true },
|
|
257
|
-
{ title: 'Deployment - CI/CD, quy trình production', value: 'deployment', selected: false },
|
|
258
|
-
{ title: 'Code Review - Review code tự động', value: 'review', selected: false }
|
|
259
|
-
] : [
|
|
260
|
-
{ title: 'Git Workflows - Branch management, commits, PRs', value: 'git', selected: true },
|
|
261
|
-
{ title: 'Testing - TDD, unit tests, E2E tests', value: 'testing', selected: true },
|
|
262
|
-
{ title: 'Deployment - CI/CD, production workflows', value: 'deployment', selected: false },
|
|
263
|
-
{ title: 'Code Review - Automated review workflows', value: 'review', selected: false }
|
|
264
|
-
],
|
|
265
|
-
hint: 'Space to select, Enter to confirm'
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
type: 'select',
|
|
269
|
-
name: 'packageManager',
|
|
270
|
-
message: basics.language === 'vi' ? 'Trình quản lý gói (Package Manager):' : 'Package manager:',
|
|
271
|
-
choices: [
|
|
272
|
-
{ title: '1. npm', value: 'npm' },
|
|
273
|
-
{ title: '2. pnpm', value: 'pnpm' },
|
|
274
|
-
{ title: '3. yarn', value: 'yarn' }
|
|
275
|
-
],
|
|
276
|
-
initial: 0
|
|
277
|
-
}
|
|
278
|
-
], {
|
|
279
|
-
onCancel: () => {
|
|
280
|
-
console.log(chalk.red('\n✖ Operation cancelled'));
|
|
281
|
-
process.exit(0);
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
195
|
|
|
285
|
-
|
|
196
|
+
|
|
286
197
|
}
|
|
287
198
|
|
|
288
199
|
function getSkillsForCategories(categories) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antigravity-ide",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.26",
|
|
4
4
|
"description": "The Ultimate AI Agent Brain - Rules, Skills, and Workflows",
|
|
5
5
|
"main": "cli/index.js",
|
|
6
6
|
"files": [
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
21
|
"setup": "node ./setup.js",
|
|
22
|
-
"update": "node ./update.js"
|
|
23
|
-
"create": "node ./cli/index.js create"
|
|
22
|
+
"update": "node ./update.js"
|
|
24
23
|
},
|
|
25
24
|
"dependencies": {
|
|
26
25
|
"chalk": "^4.1.2",
|