antigravity-seo-kit 3.1.5 → 3.9.0
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 +27 -2
- package/lib/utils.js +2 -1
- package/package.json +1 -1
package/lib/installer.js
CHANGED
|
@@ -110,6 +110,14 @@ async function install(licenseKey, cwd) {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
// Step 4: Save license info + manifest
|
|
113
|
+
const installedEnvExample = fs.existsSync(path.join(newAgentsDir, '.env.example'))
|
|
114
|
+
? path.join(newAgentsDir, '.env.example')
|
|
115
|
+
: path.join(cwd, '.agent', '.env.example');
|
|
116
|
+
const localEnvExample = path.join(cwd, '.env.example');
|
|
117
|
+
if (fs.existsSync(installedEnvExample) && !fs.existsSync(localEnvExample)) {
|
|
118
|
+
fs.copyFileSync(installedEnvExample, localEnvExample);
|
|
119
|
+
}
|
|
120
|
+
|
|
113
121
|
writeLicenseFile(cwd, {
|
|
114
122
|
key: licenseKey,
|
|
115
123
|
deviceId,
|
|
@@ -518,10 +526,20 @@ async function installPlugin(licenseKey) {
|
|
|
518
526
|
const dest = path.join(globalPluginDir, entry);
|
|
519
527
|
if (fs.statSync(src).isDirectory()) {
|
|
520
528
|
if (fs.existsSync(dest)) removeRecursive(dest);
|
|
521
|
-
|
|
529
|
+
try {
|
|
530
|
+
fs.renameSync(src, dest);
|
|
531
|
+
} catch (err) {
|
|
532
|
+
copyRecursive(src, dest, { overwrite: true });
|
|
533
|
+
removeRecursive(src);
|
|
534
|
+
}
|
|
522
535
|
} else {
|
|
523
536
|
if (fs.existsSync(dest)) fs.unlinkSync(dest);
|
|
524
|
-
|
|
537
|
+
try {
|
|
538
|
+
fs.renameSync(src, dest);
|
|
539
|
+
} catch (err) {
|
|
540
|
+
fs.copyFileSync(src, dest);
|
|
541
|
+
fs.unlinkSync(src);
|
|
542
|
+
}
|
|
525
543
|
}
|
|
526
544
|
}
|
|
527
545
|
|
|
@@ -624,6 +642,13 @@ function setupWorkspace(cwd) {
|
|
|
624
642
|
fs.copyFileSync(globalLicense, localLicense);
|
|
625
643
|
}
|
|
626
644
|
|
|
645
|
+
// Copy .env.example to workspace root if not exists
|
|
646
|
+
const globalEnvExample = path.join(globalDir, '.env.example');
|
|
647
|
+
const localEnvExample = path.join(cwd, '.env.example');
|
|
648
|
+
if (fs.existsSync(globalEnvExample) && !fs.existsSync(localEnvExample)) {
|
|
649
|
+
fs.copyFileSync(globalEnvExample, localEnvExample);
|
|
650
|
+
}
|
|
651
|
+
|
|
627
652
|
spin.succeed(`Workspace setup complete! Copied ${count} files to .agents/`);
|
|
628
653
|
console.log('');
|
|
629
654
|
info('Skills and rules are loaded from global plugin automatically.');
|
package/lib/utils.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const fs = require('fs');
|
|
4
4
|
const path = require('path');
|
|
5
|
+
const pkg = require('../package.json');
|
|
5
6
|
|
|
6
7
|
// ─── ANSI Colors ────────────────────────────────────────────────────────────
|
|
7
8
|
|
|
@@ -290,7 +291,7 @@ function isValidKeyFormat(key) {
|
|
|
290
291
|
const BANNER = `
|
|
291
292
|
${colorize('cyan', '╔═══════════════════════════════════════════════════════╗')}
|
|
292
293
|
${colorize('cyan', '║')} ${colorize('bold', '🔍 SEO Kit for Google Antigravity')} ${colorize('cyan', '║')}
|
|
293
|
-
${colorize('cyan', '║')} ${colorize('dim',
|
|
294
|
+
${colorize('cyan', '║')} ${colorize('dim', `v${pkg.version} — Professional Agentic SEO Platform`)} ${colorize('cyan', '║')}
|
|
294
295
|
${colorize('cyan', '╚═══════════════════════════════════════════════════════╝')}
|
|
295
296
|
`;
|
|
296
297
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antigravity-seo-kit",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.9.0",
|
|
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": {
|