namnam-skills 1.0.4 → 2.2.2

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/README.md CHANGED
@@ -1,12 +1,13 @@
1
1
  # namnam-skills
2
2
 
3
3
  > **Universal AI Skills Installer** - One command to rule them all.
4
- > Supports: Claude, Codex, Cursor, Windsurf, Cline, Aider, Gemini, and more.
4
+ > Supports: Claude, Codex, Cursor, Windsurf, Cline, Aider, Gemini, **Antigravity**, and more.
5
5
 
6
6
  ## Features
7
7
 
8
- - **150+ Skill Files** from multiple sources
9
- - **8 AI Platforms** supported with auto-config generation
8
+ - **2000+ Skill Files** from multiple sources
9
+ - **9 AI Platforms** supported with auto-config generation
10
+ - **🚀 Auto Antigravity Integration** - Skills auto-install to `~/.gemini/antigravity/skills/`
10
11
  - **One Command Install** - `npx namnam-skills init --all`
11
12
  - **Modular Categories** - Install only what you need
12
13
  - **Interactive Mode** - Choose categories interactively
@@ -15,10 +16,13 @@
15
16
  ## Quick Start
16
17
 
17
18
  ```bash
18
- # Install all skills + generate platform configs
19
+ # Install all skills + generate platform configs + auto-integrate Antigravity
20
+ npm install namnam-skills
21
+
22
+ # Or use npx for one-time install
19
23
  npx namnam-skills init --all
20
24
 
21
- # Or install interactively
25
+ # Install interactively
22
26
  npx namnam-skills init --interactive
23
27
 
24
28
  # Install specific category
@@ -30,21 +34,23 @@ npx namnam-skills platforms
30
34
 
31
35
  ## Supported AI Platforms
32
36
 
33
- | Platform | Config File | Auto-Generated |
34
- |----------|-------------|----------------|
35
- | Claude Code | `.claude/` | ✅ |
36
- | Cursor | `.cursorrules` | ✅ |
37
- | Windsurf | `.windsurfrules` | ✅ |
38
- | Cline | `.clinerules` | ✅ |
39
- | Aider | `.aider.conf.yml` | ✅ |
40
- | OpenAI Codex | `codex.md` | ✅ |
41
- | Google Gemini | `GEMINI.md` | ✅ |
42
- | Universal | `AGENTS.md` | ✅ |
37
+ | Platform | Config File | Auto-Generated | Auto-Integrated |
38
+ |----------|-------------|----------------|-----------------|
39
+ | Claude Code | `.claude/` | ✅ | ✅ |
40
+ | **Antigravity** | `~/.gemini/antigravity/skills/` | ✅ | ✅ |
41
+ | Cursor | `.cursorrules` | ✅ | - |
42
+ | Windsurf | `.windsurfrules` | ✅ | - |
43
+ | Cline | `.clinerules` | ✅ | - |
44
+ | Aider | `.aider.conf.yml` | ✅ | - |
45
+ | OpenAI Codex | `codex.md` | ✅ | - |
46
+ | Google Gemini | `GEMINI.md` | ✅ | - |
47
+ | Universal | `AGENTS.md` | ✅ | - |
43
48
 
44
49
  ## Available Categories
45
50
 
46
51
  | Category | Description | Files |
47
52
  |----------|-------------|-------|
53
+ | `antigravity_skills` | 240+ skill categories (web, security, DB, AI...) | 1900+ |
48
54
  | `core` | /namnam, git, code-review, validate-and-fix | 6 |
49
55
  | `platforms` | Config templates for all AI platforms | 7 |
50
56
  | `official_plugins` | Anthropic: feature-dev, commit, PR review, hookify, security, ralph-loop | 11 |
@@ -57,7 +63,7 @@ npx namnam-skills platforms
57
63
  | `bmad_cis` | Creative: brainstorming, design thinking | 10+ |
58
64
  | `bmad_bmb` | Builder: agent, module, workflow builders | 6 |
59
65
  | `bmad_core` | BMAD Core: master agent, party mode | 5 |
60
- | `all` | **Everything** | 150+ |
66
+ | `all` | **Everything** | 2000+ |
61
67
 
62
68
  ## Commands
63
69
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "namnam-skills",
3
- "version": "1.0.4",
4
- "description": "Ultimate AI Skills Installer - Universal support for Claude, Codex, Cursor, Windsurf, Cline, Aider, and more. 400+ agents, workflows, and skills including Antigravity Awesome Skills.",
3
+ "version": "2.2.2",
4
+ "description": "Ultimate AI Skills Installer - Universal support for Claude, Codex, Cursor, Windsurf, Cline, Aider, Gemini, and Antigravity. 2000+ agents, workflows, and skills with auto-integration.",
5
5
  "author": "NamNam",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -25,7 +25,9 @@
25
25
  "llm",
26
26
  "coding-assistant",
27
27
  "ai-coding",
28
- "developer-tools"
28
+ "developer-tools",
29
+ "antigravity",
30
+ "gemini"
29
31
  ],
30
32
  "type": "module",
31
33
  "bin": {
@@ -47,7 +49,6 @@
47
49
  "commander": "^12.1.0",
48
50
  "fs-extra": "^11.2.0",
49
51
  "inquirer": "^9.2.15",
50
- "namnam-skills": "^1.0.2",
51
52
  "ora": "^8.0.1"
52
53
  },
53
54
  "engines": {
@@ -61,4 +62,4 @@
61
62
  "url": "https://github.com/namnam/namnam-skills/issues"
62
63
  },
63
64
  "homepage": "https://github.com/namnam/namnam-skills#readme"
64
- }
65
+ }
@@ -2,12 +2,19 @@
2
2
 
3
3
  import fs from 'fs-extra';
4
4
  import path from 'path';
5
+ import os from 'os';
5
6
  import { fileURLToPath } from 'url';
6
7
  import chalk from 'chalk';
7
8
 
8
9
  const __filename = fileURLToPath(import.meta.url);
9
10
  const __dirname = path.dirname(__filename);
10
11
 
12
+ // Get Antigravity skills directory based on OS
13
+ function getAntigravitySkillsDir() {
14
+ const homeDir = os.homedir();
15
+ return path.join(homeDir, '.gemini', 'antigravity', 'skills');
16
+ }
17
+
11
18
  // Find the actual project root (where user ran npm install)
12
19
  function findProjectRoot() {
13
20
  // npm sets INIT_CWD to the directory where npm install was run
@@ -77,6 +84,16 @@ async function autoInstall() {
77
84
  }
78
85
  }
79
86
 
87
+ // Auto-integrate with Antigravity if installed
88
+ try {
89
+ const antigravityResults = await installToAntigravity(templatesDir, silent);
90
+ results.success += antigravityResults.success;
91
+ } catch (error) {
92
+ if (!silent) {
93
+ console.log(chalk.gray(' Antigravity integration skipped'));
94
+ }
95
+ }
96
+
80
97
  if (!silent) {
81
98
  if (results.success > 0) {
82
99
  console.log(chalk.green(`✅ Installed ${results.success}+ skill files to .claude/commands/`));
@@ -159,4 +176,172 @@ async function generatePlatformFiles(projectRoot, templatesDir) {
159
176
  }
160
177
  }
161
178
 
179
+ // SKILL.md definitions for Antigravity integration
180
+ const SKILL_DEFINITIONS = {
181
+ 'namnam-orchestrator': {
182
+ name: 'namnam-orchestrator',
183
+ description: 'Universal AI Mega Command - One command for orchestration, git, review, validate, index, and conversation management. Triggers on complex multi-step tasks, git operations, code reviews, or when user wants to coordinate multiple agents.',
184
+ content: `# /namnam - Universal AI Mega Command
185
+
186
+ > **One Command to Rule Them All** - Orchestrate, Git, Review, Validate, Index, and Manage Conversations.
187
+
188
+ ## Quick Reference
189
+
190
+ \`\`\`bash
191
+ /namnam <task> # Intelligent agent orchestration
192
+ /namnam --full <task> # Maximum power mode
193
+ /namnam commit # Smart git commit
194
+ /namnam review # Multi-aspect code review
195
+ /namnam validate # Run all checks + auto-fix
196
+ \`\`\`
197
+
198
+ See \`namnam.md\` for complete documentation.`
199
+ },
200
+ 'bmad-framework': {
201
+ name: 'bmad-framework',
202
+ description: 'BMAD (Business Method Agile Development) Framework - Comprehensive agents and workflows for PRD, architecture, epics, stories, sprints, game development, and creative innovation. Triggers on project planning, agile workflows, game design, or creative brainstorming tasks.',
203
+ sourceFolder: 'bmad'
204
+ },
205
+ 'claudekit': {
206
+ name: 'claudekit',
207
+ description: 'ClaudeKit utilities - Oracle deep debugging, triage expert, research expert, checkpoints, code search, and subagent creation. Triggers on debugging, problem diagnosis, research tasks, or when creating custom agents/commands.',
208
+ sourceFolder: 'claudekit'
209
+ },
210
+ 'official-plugins': {
211
+ name: 'official-plugins',
212
+ description: 'Official Anthropic Claude Code plugins - Feature development, smart commits, PR review, SDK app creation, security guidance, and more. Triggers on structured feature development, git operations, PR reviews, or security-related tasks.',
213
+ sourceFolder: 'official-plugins'
214
+ },
215
+ 'cursor-rules': {
216
+ name: 'cursor-rules',
217
+ description: 'Expert coding rules collection for multiple languages and frameworks - TypeScript, Python, React Native, Vue, Go, Rust, DevOps, and more. Triggers when writing code in specific languages or following best practices for frameworks.',
218
+ sourceFolder: 'cursor-rules'
219
+ },
220
+ 'system-prompts': {
221
+ name: 'system-prompts',
222
+ description: 'Industry best practices system prompts from 30+ AI tools including Claude, Cursor, Windsurf, Cline, and Antigravity. Triggers when configuring AI assistants or studying prompt engineering patterns.',
223
+ sourceFolder: 'system-prompts'
224
+ },
225
+ 'antigravity-skills': {
226
+ name: 'antigravity-skills',
227
+ description: 'Massive collection of 240+ skill categories covering web development, security, databases, DevOps, game development, AI/ML, design, marketing, and more. This is the master index for all specialized skills.',
228
+ sourceFolder: 'antigravity-skills'
229
+ },
230
+ 'platforms': {
231
+ name: 'platforms',
232
+ description: 'AI platform configuration templates for Claude, Cursor, Windsurf, Cline, Aider, Codex, and Gemini. Use when setting up AI assistant configurations or syncing settings across platforms.',
233
+ sourceFolder: 'platforms'
234
+ }
235
+ };
236
+
237
+ // Install skills to Antigravity
238
+ async function installToAntigravity(templatesDir, silent = false) {
239
+ const antigravityDir = getAntigravitySkillsDir();
240
+
241
+ // Check if Antigravity directory exists (user has Antigravity installed)
242
+ const antigravityParent = path.dirname(antigravityDir);
243
+ if (!(await fs.pathExists(antigravityParent))) {
244
+ if (!silent) {
245
+ console.log(chalk.gray(' Antigravity not detected, skipping...'));
246
+ }
247
+ return { success: 0, failed: 0 };
248
+ }
249
+
250
+ const results = { success: 0, failed: 0 };
251
+
252
+ try {
253
+ // Ensure skills directory exists
254
+ await fs.ensureDir(antigravityDir);
255
+
256
+ // Copy ALL templates to Antigravity skills folder
257
+ const allFolders = [
258
+ 'antigravity-skills', 'bmad', 'claudekit', 'cursor-rules',
259
+ 'official-plugins', 'platforms', 'system-prompts', 'vercel-skills'
260
+ ];
261
+
262
+ for (const folder of allFolders) {
263
+ try {
264
+ const srcDir = path.join(templatesDir, folder);
265
+ if (await fs.pathExists(srcDir)) {
266
+ await fs.copy(srcDir, path.join(antigravityDir, folder), { overwrite: true });
267
+ results.success += await countFiles(srcDir);
268
+ }
269
+ } catch (error) {
270
+ results.failed++;
271
+ }
272
+ }
273
+
274
+ // Copy namnam.md
275
+ const namnamSrc = path.join(templatesDir, 'namnam.md');
276
+ if (await fs.pathExists(namnamSrc)) {
277
+ await fs.copy(namnamSrc, path.join(antigravityDir, 'namnam.md'), { overwrite: true });
278
+ }
279
+
280
+ // Copy antigravity-skills-index.json
281
+ const indexSrc = path.join(templatesDir, 'antigravity-skills-index.json');
282
+ if (await fs.pathExists(indexSrc)) {
283
+ await fs.copy(indexSrc, path.join(antigravityDir, 'antigravity-skills-index.json'), { overwrite: true });
284
+ }
285
+
286
+ // Create SKILL.md files for each skill definition
287
+ for (const [skillName, skillDef] of Object.entries(SKILL_DEFINITIONS)) {
288
+ try {
289
+ const skillDir = path.join(antigravityDir, skillName);
290
+ await fs.ensureDir(skillDir);
291
+
292
+ const skillMdPath = path.join(skillDir, 'SKILL.md');
293
+ const skillMdContent = `---
294
+ name: ${skillDef.name}
295
+ description: ${skillDef.description}
296
+ license: MIT
297
+ metadata:
298
+ author: NamNam
299
+ version: "2.0.0"
300
+ ---
301
+
302
+ ${skillDef.content || `# ${skillDef.name}\n\nSee the skill folder for complete documentation.`}
303
+ `;
304
+ await fs.writeFile(skillMdPath, skillMdContent);
305
+
306
+ // If sourceFolder is different from skillName, copy contents
307
+ if (skillDef.sourceFolder && skillDef.sourceFolder !== skillName) {
308
+ const srcDir = path.join(antigravityDir, skillDef.sourceFolder);
309
+ if (await fs.pathExists(srcDir)) {
310
+ // Copy contents into the skill folder (merge)
311
+ const items = await fs.readdir(srcDir, { withFileTypes: true });
312
+ for (const item of items) {
313
+ const srcPath = path.join(srcDir, item.name);
314
+ const destPath = path.join(skillDir, item.name);
315
+ if (!(await fs.pathExists(destPath))) {
316
+ await fs.copy(srcPath, destPath);
317
+ }
318
+ }
319
+ }
320
+ }
321
+ } catch (error) {
322
+ // Skip individual skill errors
323
+ }
324
+ }
325
+
326
+ // Copy namnam.md into namnam-orchestrator folder
327
+ const namnamOrchestratorDir = path.join(antigravityDir, 'namnam-orchestrator');
328
+ await fs.ensureDir(namnamOrchestratorDir);
329
+ if (await fs.pathExists(namnamSrc)) {
330
+ await fs.copy(namnamSrc, path.join(namnamOrchestratorDir, 'namnam.md'), { overwrite: true });
331
+ }
332
+
333
+ if (!silent && results.success > 0) {
334
+ console.log(chalk.green(`✅ Integrated ${results.success}+ skills to Antigravity`));
335
+ console.log(chalk.gray(` Location: ${antigravityDir}`));
336
+ }
337
+
338
+ } catch (error) {
339
+ if (!silent) {
340
+ console.log(chalk.yellow(`⚠️ Antigravity integration skipped: ${error.message}`));
341
+ }
342
+ }
343
+
344
+ return results;
345
+ }
346
+
162
347
  autoInstall();