pikakit 3.7.4 → 3.7.6

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.
@@ -652,27 +652,52 @@ export async function run(spec) {
652
652
  // VS Code not available, continue
653
653
  }
654
654
 
655
- // Also install to Antigravity extensions folder
655
+ // Also install to Antigravity extensions folder by extracting VSIX
656
656
  const antigravityExt = path.join(os.homedir(), ".antigravity", "extensions");
657
657
  if (fs.existsSync(path.join(os.homedir(), ".antigravity"))) {
658
658
  try {
659
659
  fs.mkdirSync(antigravityExt, { recursive: true });
660
660
  const extDest = path.join(antigravityExt, "pikakit.pikakit-skill-generator-1.0.0");
661
661
 
662
- // Copy extension source files (not VSIX, but actual extension)
663
- const outDir = path.join(vsixDir, "out");
664
- if (fs.existsSync(outDir)) {
662
+ // Remove old extension if exists
663
+ if (fs.existsSync(extDest)) {
664
+ fs.rmSync(extDest, { recursive: true, force: true });
665
+ }
666
+
667
+ // VSIX is a ZIP file, extract it using PowerShell/tar
668
+ const isWindows = process.platform === "win32";
669
+ if (isWindows) {
670
+ // Use PowerShell to extract VSIX (it's a ZIP)
671
+ await execAsync(`powershell -Command "Expand-Archive -Path '${vsixPath}' -DestinationPath '${extDest}' -Force"`, { timeout: 30000 });
672
+ } else {
673
+ // Use unzip on Unix
665
674
  fs.mkdirSync(extDest, { recursive: true });
666
- // Copy required files
667
- fs.cpSync(path.join(vsixDir, "package.json"), path.join(extDest, "package.json"));
668
- fs.cpSync(outDir, path.join(extDest, "out"), { recursive: true });
669
- if (fs.existsSync(path.join(vsixDir, "README.md"))) {
670
- fs.cpSync(path.join(vsixDir, "README.md"), path.join(extDest, "README.md"));
675
+ await execAsync(`unzip -o "${vsixPath}" -d "${extDest}"`, { timeout: 30000 });
676
+ }
677
+
678
+ // Move extension contents from extension/ subfolder to root if needed
679
+ const extSubfolder = path.join(extDest, "extension");
680
+ if (fs.existsSync(extSubfolder)) {
681
+ for (const item of fs.readdirSync(extSubfolder)) {
682
+ fs.renameSync(path.join(extSubfolder, item), path.join(extDest, item));
683
+ }
684
+ fs.rmdirSync(extSubfolder);
685
+ }
686
+
687
+ installedTo.push("Antigravity");
688
+ } catch (extractErr) {
689
+ // Antigravity install failed, try fallback to source copy
690
+ try {
691
+ const outDir = path.join(vsixDir, "out");
692
+ if (fs.existsSync(outDir)) {
693
+ fs.mkdirSync(extDest, { recursive: true });
694
+ fs.cpSync(path.join(vsixDir, "package.json"), path.join(extDest, "package.json"));
695
+ fs.cpSync(outDir, path.join(extDest, "out"), { recursive: true });
696
+ installedTo.push("Antigravity");
671
697
  }
672
- installedTo.push("Antigravity");
698
+ } catch {
699
+ // Both methods failed
673
700
  }
674
- } catch {
675
- // Antigravity install failed, continue
676
701
  }
677
702
  }
678
703
 
package/bin/lib/ui.js CHANGED
@@ -196,19 +196,19 @@ export async function selectAgentsPrompt(detectedAgents) {
196
196
  return null;
197
197
  }
198
198
 
199
- // First ask: All detected or select specific?
199
+ // First ask: Select specific or all detected?
200
200
  const installChoice = await select({
201
201
  message: "Install to",
202
202
  options: [
203
- {
204
- value: "all",
205
- label: `All detected agents (Recommended)`,
206
- hint: `Install to all ${detectedAgents.length} detected agents`
207
- },
208
203
  {
209
204
  value: "select",
210
205
  label: "Select specific agents",
211
206
  hint: "Choose which agents to install to"
207
+ },
208
+ {
209
+ value: "all",
210
+ label: `All detected agents`,
211
+ hint: `Install to all ${detectedAgents.length} detected agents`
212
212
  }
213
213
  ]
214
214
  });
@@ -222,7 +222,13 @@ export async function selectAgentsPrompt(detectedAgents) {
222
222
  return detectedAgents;
223
223
  }
224
224
 
225
- // Let user select specific agents
225
+ // Find Antigravity index for pre-selection
226
+ const antigravityAgent = detectedAgents.find(a =>
227
+ a.name.toLowerCase().includes('antigravity') ||
228
+ a.displayName.toLowerCase().includes('antigravity')
229
+ );
230
+
231
+ // Let user select specific agents (Antigravity pre-selected if found)
226
232
  const selectedAgents = await multiselect({
227
233
  message: "Select agents to install skills to",
228
234
  options: detectedAgents.map(agent => ({
@@ -230,6 +236,7 @@ export async function selectAgentsPrompt(detectedAgents) {
230
236
  label: agent.displayName,
231
237
  hint: agent.skillsDir
232
238
  })),
239
+ initialValues: antigravityAgent ? [antigravityAgent.name] : [],
233
240
  required: true
234
241
  });
235
242
 
package/package.json CHANGED
@@ -1,76 +1,78 @@
1
- {
2
- "name": "pikakit",
3
- "version": "3.7.4",
4
- "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
- "license": "MIT",
6
- "author": "pikakit <pikakit@gmail.com>",
7
- "homepage": "https://github.com/pikakit/pikakit",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/pikakit/pikakit.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/pikakit/pikakit/issues"
14
- },
15
- "type": "module",
16
- "bin": {
17
- "pikakit": "bin/cli.mjs",
18
- "kit": "bin/kit.js"
19
- },
20
- "files": [
21
- "bin/",
22
- "lib/",
23
- "specs/",
24
- "README.md",
25
- "LICENSE"
26
- ],
27
- "engines": {
28
- "node": ">=18.0.0"
29
- },
30
- "keywords": [
31
- "agent",
32
- "ai",
33
- "skills",
34
- "cli",
35
- "tooling",
36
- "registry",
37
- "security",
38
- "devops",
39
- "automation",
40
- "antigravity"
41
- ],
42
- "scripts": {
43
- "lint": "eslint bin/",
44
- "lint:fix": "eslint bin/ --fix",
45
- "format": "prettier --write bin/",
46
- "test": "vitest run",
47
- "test:watch": "vitest",
48
- "ci": "npm run lint && npm test && node bin/kit.js verify --strict && node bin/kit.js doctor --strict",
49
- "agent": "agent"
50
- },
51
- "publishConfig": {
52
- "access": "public"
53
- },
54
- "dependencies": {
55
- "@clack/core": "^0.5.0",
56
- "@clack/prompts": "^0.11.0",
57
- "@google/generative-ai": "^0.21.0",
58
- "boxen": "^8.0.1",
59
- "chalk": "^5.4.1",
60
- "clipboardy": "^5.1.0",
61
- "css-tree": "^3.1.0",
62
- "csv-parse": "^6.1.0",
63
- "dotenv": "^16.4.5",
64
- "gradient-string": "^2.0.2",
65
- "js-yaml": "^4.1.0",
66
- "kleur": "^4.1.5",
67
- "ora": "^9.1.0",
68
- "picocolors": "^1.1.1",
69
- "prompts": "^2.4.2"
70
- },
71
- "devDependencies": {
72
- "eslint": "^8.57.0",
73
- "prettier": "^3.2.5",
74
- "vitest": "^4.0.18"
75
- }
76
- }
1
+ {
2
+ "name": "pikakit",
3
+ "version": "3.7.6",
4
+ "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
+ "license": "MIT",
6
+ "author": "pikakit <pikakit@gmail.com>",
7
+ "homepage": "https://github.com/pikakit/pikakit",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/pikakit/pikakit.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/pikakit/pikakit/issues"
14
+ },
15
+ "type": "module",
16
+ "bin": {
17
+ "pikakit": "bin/cli.mjs",
18
+ "kit": "bin/kit.js"
19
+ },
20
+ "files": [
21
+ "bin/",
22
+ "lib/",
23
+ "specs/",
24
+ "README.md",
25
+ "LICENSE"
26
+ ],
27
+ "engines": {
28
+ "node": ">=18.0.0"
29
+ },
30
+ "keywords": [
31
+ "agent",
32
+ "ai",
33
+ "skills",
34
+ "cli",
35
+ "tooling",
36
+ "registry",
37
+ "security",
38
+ "devops",
39
+ "automation",
40
+ "antigravity"
41
+ ],
42
+ "scripts": {
43
+ "lint": "eslint bin/",
44
+ "lint:fix": "eslint bin/ --fix",
45
+ "format": "prettier --write bin/",
46
+ "test": "vitest run",
47
+ "test:watch": "vitest",
48
+ "ci": "npm run lint && npm test && node bin/kit.js verify --strict && node bin/kit.js doctor --strict",
49
+ "agent": "agent",
50
+ "kit": "kit"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "dependencies": {
56
+ "@clack/core": "^0.5.0",
57
+ "@clack/prompts": "^0.11.0",
58
+ "@google/generative-ai": "^0.21.0",
59
+ "boxen": "^8.0.1",
60
+ "chalk": "^5.4.1",
61
+ "clipboardy": "^5.1.0",
62
+ "css-tree": "^3.1.0",
63
+ "csv-parse": "^6.1.0",
64
+ "dotenv": "^16.4.5",
65
+ "gradient-string": "^2.0.2",
66
+ "js-yaml": "^4.1.0",
67
+ "kleur": "^4.1.5",
68
+ "ora": "^9.1.0",
69
+ "picocolors": "^1.1.1",
70
+ "prompts": "^2.4.2"
71
+ },
72
+ "devDependencies": {
73
+ "eslint": "^8.57.0",
74
+ "pikakit": "^3.7.5",
75
+ "prettier": "^3.2.5",
76
+ "vitest": "^4.0.18"
77
+ }
78
+ }