antigravity-ai-kit 3.5.1 → 3.5.3
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/.agent/CheatSheet.md +1 -1
- package/.agent/checklists/pre-commit.md +1 -1
- package/.agent/checklists/session-end.md +1 -1
- package/.agent/checklists/session-start.md +1 -1
- package/.agent/checklists/task-complete.md +1 -1
- package/.agent/commands/help.md +1 -1
- package/.agent/engine/identity.json +2 -11
- package/.agent/manifest.json +1 -1
- package/README.md +1 -1
- package/bin/ag-kit.js +43 -20
- package/lib/updater.js +2 -0
- package/package.json +55 -54
package/.agent/CheatSheet.md
CHANGED
package/.agent/commands/help.md
CHANGED
|
@@ -24,7 +24,7 @@ Your complete guide to the Antigravity AI Kit. Type `/help` for a quick overview
|
|
|
24
24
|
|
|
25
25
|
## Quick Overview
|
|
26
26
|
|
|
27
|
-
**Antigravity AI Kit v3.5.
|
|
27
|
+
**Antigravity AI Kit v3.5.3** — Trust-Grade AI Development Framework
|
|
28
28
|
|
|
29
29
|
| Category | Count | Description |
|
|
30
30
|
|:---------|:------|:------------|
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"developers": [
|
|
3
|
-
|
|
4
|
-
"id": "9c1dbf58766b",
|
|
5
|
-
"name": "emredursun",
|
|
6
|
-
"email": "info.emredursun@gmail.com",
|
|
7
|
-
"role": "owner",
|
|
8
|
-
"registeredAt": "2026-03-16T17:02:45.476Z",
|
|
9
|
-
"lastActiveAt": "2026-03-16T17:02:45.476Z"
|
|
10
|
-
}
|
|
11
|
-
],
|
|
12
|
-
"activeId": "9c1dbf58766b"
|
|
2
|
+
"developers": [],
|
|
3
|
+
"activeId": null
|
|
13
4
|
}
|
package/.agent/manifest.json
CHANGED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 🚀 Antigravity AI Kit
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
5
|

|
|
6
6
|

|
package/bin/ag-kit.js
CHANGED
|
@@ -17,6 +17,7 @@ const path = require('path');
|
|
|
17
17
|
const VERSION = require('../package.json').version;
|
|
18
18
|
const AGENT_FOLDER = '.agent';
|
|
19
19
|
const { safeCopyDirSync, readJsonSafe } = require('../lib/io');
|
|
20
|
+
const { USER_DATA_FILES, USER_DATA_DIRS } = require('../lib/updater');
|
|
20
21
|
|
|
21
22
|
// ANSI colors
|
|
22
23
|
const colors = {
|
|
@@ -37,7 +38,24 @@ function logStep(step, message) {
|
|
|
37
38
|
console.log(`${colors.cyan}[${step}]${colors.reset} ${message}`);
|
|
38
39
|
}
|
|
39
40
|
|
|
41
|
+
function loadBannerCounts() {
|
|
42
|
+
try {
|
|
43
|
+
const manifestPath = path.join(__dirname, '..', AGENT_FOLDER, 'manifest.json');
|
|
44
|
+
const manifest = readJsonSafe(manifestPath, null);
|
|
45
|
+
if (manifest?.capabilities) {
|
|
46
|
+
return {
|
|
47
|
+
agents: manifest.capabilities.agents?.count || 19,
|
|
48
|
+
skills: manifest.capabilities.skills?.count || 32,
|
|
49
|
+
commands: manifest.capabilities.commands?.count || 31,
|
|
50
|
+
workflows: manifest.capabilities.workflows?.count || 14,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
} catch { /* fallback to defaults */ }
|
|
54
|
+
return { agents: 19, skills: 32, commands: 31, workflows: 14 };
|
|
55
|
+
}
|
|
56
|
+
|
|
40
57
|
function showBanner() {
|
|
58
|
+
const counts = loadBannerCounts();
|
|
41
59
|
console.log(`
|
|
42
60
|
${colors.bright}${colors.blue}
|
|
43
61
|
_____ __ .__ .__ __
|
|
@@ -50,8 +68,8 @@ ${colors.reset}
|
|
|
50
68
|
${colors.green}🚀 Antigravity AI Kit v${VERSION}${colors.reset}
|
|
51
69
|
${colors.yellow} Transform Your IDE into an Autonomous Engineering Team${colors.reset}
|
|
52
70
|
|
|
53
|
-
•
|
|
54
|
-
•
|
|
71
|
+
• ${counts.agents} AI Agents • ${counts.skills} Skills
|
|
72
|
+
• ${counts.commands} Commands • ${counts.workflows} Workflows
|
|
55
73
|
• Runtime Engine • Error Budget
|
|
56
74
|
`);
|
|
57
75
|
}
|
|
@@ -169,15 +187,13 @@ function initCommand(options) {
|
|
|
169
187
|
log(` To: ${agentPath}\n`, 'cyan');
|
|
170
188
|
// M-2: Show force damage preview
|
|
171
189
|
if (options.force && fs.existsSync(agentPath)) {
|
|
172
|
-
log(' ⚠️ --force would overwrite these user files:', 'yellow');
|
|
173
|
-
const
|
|
174
|
-
const userDirs = ['decisions', 'contexts'];
|
|
175
|
-
for (const f of userFiles) {
|
|
190
|
+
log(' ⚠️ --force would overwrite these user files (restored from backup):', 'yellow');
|
|
191
|
+
for (const f of USER_DATA_FILES) {
|
|
176
192
|
if (fs.existsSync(path.join(agentPath, f))) {
|
|
177
193
|
log(` • ${f}`, 'yellow');
|
|
178
194
|
}
|
|
179
195
|
}
|
|
180
|
-
for (const d of
|
|
196
|
+
for (const d of USER_DATA_DIRS) {
|
|
181
197
|
if (fs.existsSync(path.join(agentPath, d))) {
|
|
182
198
|
log(` • ${d}/ (directory)`, 'yellow');
|
|
183
199
|
}
|
|
@@ -200,9 +216,13 @@ function initCommand(options) {
|
|
|
200
216
|
}
|
|
201
217
|
}
|
|
202
218
|
|
|
219
|
+
// Dynamic step counter — avoids hardcoded step strings
|
|
220
|
+
const isForceWithBackup = backupPath !== null;
|
|
221
|
+
const totalSteps = isForceWithBackup ? 5 : 3;
|
|
222
|
+
let currentStep = isForceWithBackup ? 2 : 1;
|
|
223
|
+
|
|
203
224
|
// C-3: Atomic copy via temp directory
|
|
204
|
-
|
|
205
|
-
logStep(stepPrefix, 'Copying .agent folder...');
|
|
225
|
+
logStep(`${currentStep}/${totalSteps}`, 'Copying .agent folder...');
|
|
206
226
|
|
|
207
227
|
const tempPath = `${agentPath}.tmp-${Date.now()}`;
|
|
208
228
|
try {
|
|
@@ -226,15 +246,14 @@ function initCommand(options) {
|
|
|
226
246
|
log(` ✗ Failed to copy: ${err.message}`, 'red');
|
|
227
247
|
process.exit(1);
|
|
228
248
|
}
|
|
249
|
+
currentStep++;
|
|
229
250
|
|
|
230
251
|
// E3: Restore user data files from backup after force-overwrite
|
|
231
|
-
if (
|
|
232
|
-
logStep(
|
|
233
|
-
const userDataFiles = ['session-context.md', 'session-state.json', path.join('engine', 'identity.json')];
|
|
234
|
-
const userDataDirs = ['decisions', 'contexts'];
|
|
252
|
+
if (isForceWithBackup) {
|
|
253
|
+
logStep(`${currentStep}/${totalSteps}`, 'Restoring user session data from backup...');
|
|
235
254
|
let restoredCount = 0;
|
|
236
255
|
|
|
237
|
-
for (const file of
|
|
256
|
+
for (const file of USER_DATA_FILES) {
|
|
238
257
|
const backupFile = path.join(backupPath, file);
|
|
239
258
|
const targetFile = path.join(agentPath, file);
|
|
240
259
|
if (fs.existsSync(backupFile)) {
|
|
@@ -248,7 +267,7 @@ function initCommand(options) {
|
|
|
248
267
|
}
|
|
249
268
|
}
|
|
250
269
|
|
|
251
|
-
for (const dir of
|
|
270
|
+
for (const dir of USER_DATA_DIRS) {
|
|
252
271
|
const backupDir = path.join(backupPath, dir);
|
|
253
272
|
const targetDirPath = path.join(agentPath, dir);
|
|
254
273
|
if (fs.existsSync(backupDir)) {
|
|
@@ -261,17 +280,19 @@ function initCommand(options) {
|
|
|
261
280
|
if (restoredCount === 0) {
|
|
262
281
|
log(' ○ No user data to restore', 'yellow');
|
|
263
282
|
}
|
|
283
|
+
currentStep++;
|
|
264
284
|
}
|
|
265
285
|
|
|
266
286
|
// Verify installation
|
|
267
|
-
logStep(
|
|
287
|
+
logStep(`${currentStep}/${totalSteps}`, 'Verifying installation...');
|
|
268
288
|
const skills = countItems(path.join(agentPath, 'skills'), 'dir');
|
|
269
289
|
const commands = countItems(path.join(agentPath, 'commands'), 'file');
|
|
270
290
|
const workflows = countItems(path.join(agentPath, 'workflows'), 'file');
|
|
271
291
|
log(` ✓ Skills: ${skills}, Commands: ${commands}, Workflows: ${workflows}`, 'green');
|
|
292
|
+
currentStep++;
|
|
272
293
|
|
|
273
294
|
// Final message
|
|
274
|
-
logStep(
|
|
295
|
+
logStep(`${currentStep}/${totalSteps}`, 'Setup complete!');
|
|
275
296
|
|
|
276
297
|
if (!options.quiet) {
|
|
277
298
|
console.log(`
|
|
@@ -461,11 +482,13 @@ function updateCommand(updateOptions) {
|
|
|
461
482
|
const updater = require('../lib/updater');
|
|
462
483
|
const isDryRun = updateOptions.dryRun;
|
|
463
484
|
|
|
464
|
-
// M-1: Show version transition
|
|
485
|
+
// M-1: Show version transition (use source kit version, not CLI version)
|
|
486
|
+
const sourcePackage = readJsonSafe(path.join(sourceRoot, 'package.json'), {});
|
|
487
|
+
const kitVersion = sourcePackage.version || VERSION;
|
|
465
488
|
const currentManifest = readJsonSafe(path.join(agentPath, 'manifest.json'), {});
|
|
466
489
|
const currentVersion = currentManifest.kitVersion || 'unknown';
|
|
467
|
-
if (currentVersion !==
|
|
468
|
-
log(`\n 📦 Upgrading
|
|
490
|
+
if (currentVersion !== kitVersion) {
|
|
491
|
+
log(`\n 📦 Upgrading: v${currentVersion} → v${kitVersion}`, 'cyan');
|
|
469
492
|
}
|
|
470
493
|
|
|
471
494
|
if (isDryRun) {
|
package/lib/updater.js
CHANGED
package/package.json
CHANGED
|
@@ -1,54 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "antigravity-ai-kit",
|
|
3
|
-
"version": "3.5.
|
|
4
|
-
"description": "🚀 Trust-Grade AI development framework with a 29-module runtime engine — 19 Agents, 32 Skills, 31 Commands, 14 Workflows, 8 Rules, 341 Tests. Workflow enforcement, task governance, agent reputation, self-healing, and skill marketplace.",
|
|
5
|
-
"main": "bin/ag-kit.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"ag-kit": "./bin/ag-kit.js"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"test": "vitest run",
|
|
11
|
-
"test:watch": "vitest watch",
|
|
12
|
-
"preversion": "npm test",
|
|
13
|
-
"version": "node scripts/sync-version.js && git add -A",
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "antigravity-ai-kit",
|
|
3
|
+
"version": "3.5.3",
|
|
4
|
+
"description": "🚀 Trust-Grade AI development framework with a 29-module runtime engine — 19 Agents, 32 Skills, 31 Commands, 14 Workflows, 8 Rules, 341 Tests. Workflow enforcement, task governance, agent reputation, self-healing, and skill marketplace.",
|
|
5
|
+
"main": "bin/ag-kit.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"ag-kit": "./bin/ag-kit.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "vitest run",
|
|
11
|
+
"test:watch": "vitest watch",
|
|
12
|
+
"preversion": "npm test",
|
|
13
|
+
"version": "node scripts/sync-version.js && git add -A -- . ':!.agent/engine/identity.json'",
|
|
14
|
+
"prepublishOnly": "node scripts/clean-identity.js",
|
|
15
|
+
"postinstall": "echo '✅ Antigravity AI Kit installed! Run: ag-kit init'"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"ai",
|
|
19
|
+
"agents",
|
|
20
|
+
"gemini",
|
|
21
|
+
"claude",
|
|
22
|
+
"antigravity",
|
|
23
|
+
"development",
|
|
24
|
+
"workflow",
|
|
25
|
+
"skills",
|
|
26
|
+
"commands",
|
|
27
|
+
"devtools",
|
|
28
|
+
"productivity",
|
|
29
|
+
"cli"
|
|
30
|
+
],
|
|
31
|
+
"author": "Emre Dursun <info.emredursun@gmail.com>",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "git+https://github.com/besync-labs/antigravity-ai-kit.git"
|
|
36
|
+
},
|
|
37
|
+
"bugs": {
|
|
38
|
+
"url": "https://github.com/besync-labs/antigravity-ai-kit/issues"
|
|
39
|
+
},
|
|
40
|
+
"homepage": "https://github.com/besync-labs/antigravity-ai-kit#readme",
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=18.0.0",
|
|
43
|
+
"npm": ">=9.0.0"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"bin/",
|
|
47
|
+
"lib/",
|
|
48
|
+
".agent/",
|
|
49
|
+
"README.md",
|
|
50
|
+
"LICENSE"
|
|
51
|
+
],
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"vitest": "^4.1.0"
|
|
54
|
+
}
|
|
55
|
+
}
|