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.
- package/bin/lib/commands/install.js +72 -21
- package/package.json +1 -1
|
@@ -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}
|
|
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}
|
|
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
|
|
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
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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>",
|