antigravity-seo-kit 2.9.8 → 2.9.9
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/lib/installer.js +45 -37
- package/package.json +1 -1
package/lib/installer.js
CHANGED
|
@@ -73,7 +73,7 @@ async function install(licenseKey, cwd) {
|
|
|
73
73
|
const legacyAgentDir = path.join(cwd, '.agent');
|
|
74
74
|
const newAgentsDir = path.join(cwd, '.agents');
|
|
75
75
|
|
|
76
|
-
if (fs.existsSync(legacyAgentDir)
|
|
76
|
+
if (fs.existsSync(legacyAgentDir)) {
|
|
77
77
|
const spinMigrate = spinner('Restructuring to .agents/ format...').start();
|
|
78
78
|
try {
|
|
79
79
|
fs.mkdirSync(newAgentsDir, { recursive: true });
|
|
@@ -98,7 +98,7 @@ async function install(licenseKey, cwd) {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
// Remove legacy .agent/
|
|
101
|
+
// Remove legacy .agent/ — only .agents/ should remain
|
|
102
102
|
removeRecursive(legacyAgentDir);
|
|
103
103
|
|
|
104
104
|
spinMigrate.succeed(`Restructured to .agents/ format (${migrateCount} files)`);
|
|
@@ -499,53 +499,61 @@ async function installPlugin(licenseKey) {
|
|
|
499
499
|
process.exit(1);
|
|
500
500
|
}
|
|
501
501
|
|
|
502
|
-
// Step 3: Restructure into
|
|
503
|
-
//
|
|
504
|
-
//
|
|
502
|
+
// Step 3: Restructure downloaded assets into global plugin format
|
|
503
|
+
// Tarball contains flat .agents/ structure (skills, rules, workflows, etc.)
|
|
504
|
+
// For global plugin: skills, rules, hooks, mcp_config → plugin root
|
|
505
|
+
// Workspace-level dirs → prefixed with _workspace_ for setupWorkspace()
|
|
505
506
|
const legacyAgentDir = path.join(globalPluginDir, '.agent');
|
|
506
507
|
const newAgentsDir = path.join(globalPluginDir, '.agents');
|
|
507
508
|
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
509
|
+
const downloadedDir = fs.existsSync(newAgentsDir) ? newAgentsDir
|
|
510
|
+
: fs.existsSync(legacyAgentDir) ? legacyAgentDir
|
|
511
|
+
: null;
|
|
512
|
+
|
|
513
|
+
if (downloadedDir) {
|
|
514
|
+
// Plugin-level contents → plugin root directly
|
|
515
|
+
const pluginDirs = ['skills', 'rules'];
|
|
516
|
+
const pluginFiles = ['hooks.json', 'mcp_config.json', 'plugin.json'];
|
|
517
|
+
|
|
518
|
+
for (const dir of pluginDirs) {
|
|
519
|
+
const src = path.join(downloadedDir, dir);
|
|
520
|
+
const dest = path.join(globalPluginDir, dir);
|
|
521
|
+
if (fs.existsSync(src)) {
|
|
522
|
+
if (fs.existsSync(dest)) removeRecursive(dest);
|
|
523
|
+
fs.renameSync(src, dest);
|
|
516
524
|
}
|
|
517
|
-
fs.renameSync(srcPath, destPath);
|
|
518
525
|
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
const destPath = path.join(globalPluginDir, entry);
|
|
527
|
-
if (fs.existsSync(destPath)) {
|
|
528
|
-
removeRecursive(destPath);
|
|
529
|
-
}
|
|
530
|
-
fs.renameSync(srcPath, destPath);
|
|
526
|
+
|
|
527
|
+
for (const file of pluginFiles) {
|
|
528
|
+
const src = path.join(downloadedDir, file);
|
|
529
|
+
const dest = path.join(globalPluginDir, file);
|
|
530
|
+
if (fs.existsSync(src)) {
|
|
531
|
+
if (fs.existsSync(dest)) fs.unlinkSync(dest);
|
|
532
|
+
fs.renameSync(src, dest);
|
|
531
533
|
}
|
|
532
534
|
}
|
|
533
|
-
|
|
535
|
+
|
|
536
|
+
// Workspace-level dirs → _workspace_ prefix (for setupWorkspace later)
|
|
534
537
|
const workspaceDirs = ['agents', 'workflows', 'scripts', 'config', 'dashboard', 'docs', '.shared'];
|
|
535
538
|
for (const dir of workspaceDirs) {
|
|
536
|
-
const
|
|
537
|
-
const
|
|
538
|
-
if (fs.existsSync(
|
|
539
|
-
if (fs.existsSync(
|
|
540
|
-
fs.renameSync(
|
|
539
|
+
const src = path.join(downloadedDir, dir);
|
|
540
|
+
const dest = path.join(globalPluginDir, `_workspace_${dir}`);
|
|
541
|
+
if (fs.existsSync(src)) {
|
|
542
|
+
if (fs.existsSync(dest)) removeRecursive(dest);
|
|
543
|
+
fs.renameSync(src, dest);
|
|
541
544
|
}
|
|
542
545
|
}
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
546
|
+
|
|
547
|
+
// Workspace root files (.md) → _workspace_ prefix
|
|
548
|
+
for (const f of fs.readdirSync(downloadedDir)) {
|
|
549
|
+
const src = path.join(downloadedDir, f);
|
|
550
|
+
if (fs.statSync(src).isFile() && f.endsWith('.md')) {
|
|
551
|
+
fs.copyFileSync(src, path.join(globalPluginDir, `_workspace_${f}`));
|
|
552
|
+
}
|
|
547
553
|
}
|
|
548
|
-
|
|
554
|
+
|
|
555
|
+
// Clean up extracted dir
|
|
556
|
+
removeRecursive(downloadedDir);
|
|
549
557
|
}
|
|
550
558
|
|
|
551
559
|
// Step 4: Ensure plugin.json and installed_version.json
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antigravity-seo-kit",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.9",
|
|
4
4
|
"description": "Professional Agentic SEO Platform for Google Antigravity 2 AI Agent — 44 specialized skills covering technical audit, E-E-A-T, schema, GEO, local SEO & more",
|
|
5
5
|
"main": "lib/installer.js",
|
|
6
6
|
"bin": {
|