@ruyfranca/myskills 1.0.36 → 1.0.38

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/index.js CHANGED
@@ -331,26 +331,51 @@ program
331
331
 
332
332
  program
333
333
  .command('install-global')
334
- .description('Instala os workflows globalmente para aparecerem no / em qualquer projeto do Antigravity')
334
+ .description('Instala as skills, agents e workflows globalmente no Antigravity')
335
335
  .action(async () => {
336
336
  const homeDir = process.env.HOME || process.env.USERPROFILE || '';
337
+
338
+ // Instalar como Plugin oficial
339
+ const pluginDir = path.join(homeDir, '.gemini', 'config', 'plugins', 'myskills');
337
340
  const globalWorkflowsDir = path.join(homeDir, '.gemini', 'antigravity', 'global_workflows');
338
- const workflowsSrc = path.join(__dirname, '.agent', 'workflows');
339
-
340
- console.log(chalk.cyan('\n🌐 Instalando workflows globalmente...\n'));
341
+
342
+ console.log(chalk.cyan('\n🌐 Instalando myskills globalmente como um Plugin do Antigravity...\n'));
341
343
 
342
344
  try {
343
- await fs.mkdir(globalWorkflowsDir, { recursive: true });
344
- const files = await fs.readdir(workflowsSrc);
345
- let copied = 0;
346
- for (const file of files) {
347
- if (file.endsWith('.md')) {
348
- await copyRecursively(path.join(workflowsSrc, file), path.join(globalWorkflowsDir, file));
349
- copied++;
345
+ await fs.mkdir(pluginDir, { recursive: true });
346
+
347
+ // Copiar plugin.json
348
+ if (existsSync(path.join(__dirname, 'plugin.json'))) {
349
+ await fs.copyFile(path.join(__dirname, 'plugin.json'), path.join(pluginDir, 'plugin.json'));
350
+ }
351
+
352
+ // Copiar Skills e Agents para o Plugin
353
+ const dirs = ['skills', 'agents'];
354
+ for (const dir of dirs) {
355
+ const src = path.join(__dirname, '.agent', dir);
356
+ if (existsSync(src)) {
357
+ await copyRecursively(src, path.join(pluginDir, dir));
358
+ console.log(chalk.green(` ✅ ${dir} copiados para o Plugin.`));
350
359
  }
351
360
  }
352
- console.log(chalk.green(` ✅ ${copied} workflows instalados em ${globalWorkflowsDir}`));
353
- console.log(chalk.cyan.bold('\n✨ Feito! Reinicie o Antigravity e use / para ver os workflows.\n'));
361
+
362
+ // Copiar Workflows para global_workflows e workflows do plugin (caso suportado)
363
+ const workflowsSrc = path.join(__dirname, '.agent', 'workflows');
364
+ if (existsSync(workflowsSrc)) {
365
+ await fs.mkdir(globalWorkflowsDir, { recursive: true });
366
+ await copyRecursively(workflowsSrc, path.join(pluginDir, 'workflows'));
367
+ const files = await fs.readdir(workflowsSrc);
368
+ let copied = 0;
369
+ for (const file of files) {
370
+ if (file.endsWith('.md')) {
371
+ await copyRecursively(path.join(workflowsSrc, file), path.join(globalWorkflowsDir, file));
372
+ copied++;
373
+ }
374
+ }
375
+ console.log(chalk.green(` ✅ ${copied} workflows instalados globalmente.`));
376
+ }
377
+
378
+ console.log(chalk.cyan.bold('\n✨ Feito! Reinicie o Antigravity para as skills e workflows estarem disponíveis em qualquer projeto.\n'));
354
379
  } catch (err) {
355
380
  console.error(chalk.red(` ❌ Erro: ${err.message}`));
356
381
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruyfranca/myskills",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "description": "Biblioteca de skills customizadas para Antigravity / Claude Code",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -19,6 +19,14 @@
19
19
  ],
20
20
  "author": "Ruy",
21
21
  "license": "MIT",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/RuyXingubit/mySkills.git"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/RuyXingubit/mySkills/issues"
28
+ },
29
+ "homepage": "https://github.com/RuyXingubit/mySkills#readme",
22
30
  "dependencies": {
23
31
  "chalk": "^5.3.0",
24
32
  "commander": "^12.0.0"
package/plugin.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "myskills",
3
+ "version": "1.0.36",
4
+ "description": "Biblioteca de skills customizadas para Antigravity",
5
+ "author": {
6
+ "name": "Ruy"
7
+ }
8
+ }
package/test-yaml.js DELETED
@@ -1,31 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
-
4
- function checkDir(dir) {
5
- let files = fs.readdirSync(dir, { withFileTypes: true });
6
- for (let f of files) {
7
- let full = path.join(dir, f.name);
8
- if (f.isDirectory()) {
9
- checkDir(full);
10
- } else if (f.name.endsWith('.md')) {
11
- let content = fs.readFileSync(full, 'utf8');
12
- if (content.startsWith('---')) {
13
- let closing = content.indexOf('\n---', 3);
14
- if (closing === -1) {
15
- console.log('Error: No closing --- in', full);
16
- } else {
17
- // extract
18
- let yamlStr = content.substring(4, closing);
19
- // check if there's another block immediately following
20
- let rest = content.substring(closing + 4).trimStart();
21
- if (rest.startsWith('---')) {
22
- console.log('Error: Duplicate frontmatter block in', full);
23
- }
24
- }
25
- }
26
- }
27
- }
28
- }
29
-
30
- checkDir('.agent');
31
- console.log('Done checking.');