pikakit 3.8.2 → 3.8.4

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.
@@ -254,8 +254,7 @@ export async function run(spec) {
254
254
  message: `${c.cyan("space")} select · ${c.cyan("enter")} confirm`,
255
255
  options: sortedCategories.map(cat => ({
256
256
  label: `${cat} (${grouped[cat].length} skills)`,
257
- value: cat,
258
- hint: grouped[cat].slice(0, 3).map(s => s.value).join(", ") + (grouped[cat].length > 3 ? "..." : "")
257
+ value: cat
259
258
  })),
260
259
  initialValues: sortedCategories, // Pre-select all
261
260
  required: true
@@ -409,7 +408,7 @@ export async function run(spec) {
409
408
  method: installMethod,
410
409
  scope: isGlobal ? "global" : "project",
411
410
  metadata: {
412
- repo: `${org}/${repo}`,
411
+ repo: `${org} / ${repo}`,
413
412
  ref: ref || null
414
413
  }
415
414
  });
@@ -418,7 +417,7 @@ export async function run(spec) {
418
417
  installResults.failed.push(...result.failed);
419
418
 
420
419
  if (result.failed.length === 0) {
421
- is.stop(`Installed ${sn} (${result.success.length} agents)`);
420
+ is.stop(`Installed ${sn}(${result.success.length} agents)`);
422
421
  } else {
423
422
  is.stop(`${sn}: ${result.success.length} success, ${result.failed.length} failed`);
424
423
  }
@@ -646,7 +645,7 @@ export async function run(spec) {
646
645
 
647
646
  // Install to VS Code
648
647
  try {
649
- await execAsync(`code --install-extension "${vsixPath}"`, { timeout: 30000 });
648
+ await execAsync(`code--install - extension "${vsixPath}"`, { timeout: 30000 });
650
649
  installedTo.push("VS Code");
651
650
  } catch {
652
651
  // VS Code not available, continue
@@ -674,12 +673,12 @@ export async function run(spec) {
674
673
  // PowerShell Expand-Archive requires .zip extension
675
674
  const zipPath = path.join(os.tmpdir(), "pikakit-ext.zip");
676
675
  fs.copyFileSync(vsixPath, zipPath);
677
- await execAsync(`powershell -Command "Expand-Archive -Path '${zipPath}' -DestinationPath '${extDest}' -Force"`, { timeout: 30000 });
676
+ await execAsync(`powershell - Command "Expand-Archive -Path '${zipPath}' -DestinationPath '${extDest}' -Force"`, { timeout: 30000 });
678
677
  fs.unlinkSync(zipPath);
679
678
  } else {
680
679
  // Use unzip on Unix
681
680
  fs.mkdirSync(extDest, { recursive: true });
682
- await execAsync(`unzip -o "${vsixPath}" -d "${extDest}"`, { timeout: 30000 });
681
+ await execAsync(`unzip - o "${vsixPath}" - d "${extDest}"`, { timeout: 30000 });
683
682
  }
684
683
 
685
684
  // Move extension contents from extension/ subfolder to root if needed
@@ -694,11 +693,63 @@ export async function run(spec) {
694
693
  fs.rmSync(extSubfolder, { recursive: true, force: true });
695
694
  }
696
695
 
697
- // Clean up VSIX manifest files
698
- const filesToRemove = ["[Content_Types].xml", "extension.vsixmanifest"];
699
- for (const f of filesToRemove) {
700
- const fp = path.join(extDest, f);
701
- if (fs.existsSync(fp)) fs.unlinkSync(fp);
696
+ // Clean up VSIX manifest files (but keep them for now - needed for registration)
697
+
698
+ // Register extension in Antigravity's extensions.json
699
+ const extJsonPath = path.join(antigravityExt, "extensions.json");
700
+ try {
701
+ let extensions = [];
702
+ if (fs.existsSync(extJsonPath)) {
703
+ const content = fs.readFileSync(extJsonPath, "utf8");
704
+ extensions = JSON.parse(content);
705
+ }
706
+
707
+ // Check if already registered
708
+ const extId = "pikakit.pikakit-skill-generator";
709
+ const existing = extensions.findIndex(e => e.identifier?.id === extId);
710
+
711
+ if (existing >= 0) {
712
+ // Update existing entry
713
+ extensions[existing].version = "1.0.0";
714
+ extensions[existing].location = {
715
+ $mid: 1,
716
+ path: `/c:${extDest.replace(/\\/g, "/")}`,
717
+ scheme: "file"
718
+ };
719
+ } else {
720
+ // Add new entry
721
+ const newEntry = {
722
+ identifier: {
723
+ id: extId,
724
+ uuid: "pikakit-00000000-0000-0000-0000-000000000001"
725
+ },
726
+ version: "1.0.0",
727
+ location: {
728
+ $mid: 1,
729
+ path: `/c:${extDest.replace(/\\/g, "/")}`,
730
+ scheme: "file"
731
+ },
732
+ relativeLocation: "pikakit.pikakit-skill-generator-1.0.0-universal",
733
+ metadata: {
734
+ installedTimestamp: Date.now(),
735
+ source: "sideload",
736
+ id: "pikakit-00000000-0000-0000-0000-000000000001",
737
+ publisherId: "pikakit",
738
+ publisherDisplayName: "PikaKit",
739
+ targetPlatform: "universal",
740
+ updated: false,
741
+ private: false,
742
+ isPreReleaseVersion: false,
743
+ hasPreReleaseVersion: false
744
+ }
745
+ };
746
+ extensions.push(newEntry);
747
+ }
748
+
749
+ // Write back
750
+ fs.writeFileSync(extJsonPath, JSON.stringify(extensions), "utf8");
751
+ } catch (jsonErr) {
752
+ // Non-fatal, extension files are there anyway
702
753
  }
703
754
 
704
755
  installedTo.push("Antigravity");
@@ -720,7 +771,7 @@ export async function run(spec) {
720
771
 
721
772
  if (installedTo.length > 0) {
722
773
  extensionInstalled = true;
723
- es.stop(`Installed PikaKit VS Code Extension (${installedTo.join(", ")})`);
774
+ es.stop(`Installed PikaKit VS Code Extension(${installedTo.join(", ")})`);
724
775
  } else {
725
776
  es.stop(c.yellow("VS Code extension not installed (no IDE detected)"));
726
777
  }
@@ -743,7 +794,7 @@ export async function run(spec) {
743
794
 
744
795
  // Skills summary
745
796
  for (const sn of selectedSkills) {
746
- const mockPath = `.agent/skills/${sn}`;
797
+ const mockPath = `.agent / skills / ${sn}`;
747
798
  successContent += `${c.cyan("✓")} ${c.dim(mockPath)}\n`;
748
799
  }
749
800
 
@@ -809,19 +860,19 @@ export async function run(spec) {
809
860
  const cliPackage = "pikakit";
810
861
 
811
862
  if (isGlobal) {
812
- cliSpinner.start(`Installing kit CLI globally (${cliPackage})`);
863
+ cliSpinner.start(`Installing kit CLI globally(${cliPackage})`);
813
864
  try {
814
- await execAsync(`npm install -g ${cliPackage}`, { timeout: 120000 });
865
+ await execAsync(`npm install - g ${cliPackage}`, { timeout: 120000 });
815
866
  cliSpinner.stop("CLI installed globally");
816
867
  step(c.dim("Command: kit"));
817
868
  } catch (e) {
818
869
  cliSpinner.stop(c.yellow("Global CLI installation failed"));
819
- step(c.dim(`Try running manually: npm i -g ${cliPackage}`));
870
+ step(c.dim(`Try running manually: npm i - g ${cliPackage}`));
820
871
  }
821
872
  } else {
822
- cliSpinner.start(`Installing kit CLI locally (${cliPackage})`);
873
+ cliSpinner.start(`Installing kit CLI locally(${cliPackage})`);
823
874
  try {
824
- await execAsync(`npm install -D ${cliPackage}`, { timeout: 120000 });
875
+ await execAsync(`npm install - D ${cliPackage}`, { timeout: 120000 });
825
876
  cliSpinner.stop("CLI installed locally");
826
877
 
827
878
  // Add npm scripts to package.json
@@ -847,7 +898,7 @@ export async function run(spec) {
847
898
  const projectRoot = process.cwd();
848
899
 
849
900
  // Always create kit wrappers
850
- const kitCmd = `@echo off\nnode "%~dp0node_modules\\pikakit\\bin\\kit.js" %*`;
901
+ const kitCmd = `@echo off\nnode "%~dp0node_modules\\pikakit\\bin\\kit.js" %* `;
851
902
  const kitSh = `#!/bin/sh\nnode "$(dirname "$0")/node_modules/pikakit/bin/kit.js" "$@"`;
852
903
  fs.writeFileSync(path.join(projectRoot, "kit.cmd"), kitCmd);
853
904
  fs.writeFileSync(path.join(projectRoot, "kit"), kitSh, { mode: 0o755 });
@@ -859,7 +910,7 @@ export async function run(spec) {
859
910
  }
860
911
  } catch (e) {
861
912
  cliSpinner.stop(c.yellow("Local CLI installation skipped"));
862
- step(c.dim(`Run manually: npm i -D ${cliPackage}`));
913
+ step(c.dim(`Run manually: npm i - D ${cliPackage}`));
863
914
  }
864
915
  }
865
916
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pikakit",
3
- "version": "3.8.2",
3
+ "version": "3.8.4",
4
4
  "description": "Enterprise-grade Agent Skill Manager with Antigravity Skills support, Progressive Disclosure detection, and semantic routing validation",
5
5
  "license": "MIT",
6
6
  "author": "pikakit <pikakit@gmail.com>",