diff --git a/README.md b/README.md index 53880c64..e51fbee6 100644 --- a/README.md +++ b/README.md @@ -54,8 +54,12 @@ AI Agents (like Claude Code, Cursor, or Gemini) are smart, but they lack **speci Don't install 560+ skills manually. Use our **Starter Packs**: -1. **Clone the repo**: +1. **Install** (pick one): ```bash + # Easiest: npx installer (clones to ~/.agent/skills by default) + npx antigravity-awesome-skills + + # Or clone manually git clone https://github.com/sickn33/antigravity-awesome-skills.git .agent/skills ``` 2. **Pick your persona** (See [docs/BUNDLES.md](docs/BUNDLES.md)): @@ -91,7 +95,7 @@ These skills follow the universal **SKILL.md** format and work with any AI codin > [!WARNING] > **Windows Users**: This repository uses **symlinks** for official skills. -> You must enable Developer Mode or run Git as Administrator: +> The **npx** installer sets `core.symlinks=true` automatically. For **git clone**, enable Developer Mode or run Git as Administrator: > `git clone -c core.symlinks=true https://github.com/...` --- @@ -128,10 +132,33 @@ We have moved the full skill registry to a dedicated catalog to keep this README ## Installation -To use these skills with **Claude Code**, **Gemini CLI**, **Codex CLI**, **Cursor**, **Antigravity**, or **OpenCode**, clone this repository into your agent's skills directory: +To use these skills with **Claude Code**, **Gemini CLI**, **Codex CLI**, **Cursor**, **Antigravity**, or **OpenCode**: + +### Option A: npx (recommended) ```bash -# Universal installation (works with most tools) +# Default: ~/.agent/skills (universal) +npx antigravity-awesome-skills + +# Cursor +npx antigravity-awesome-skills --cursor + +# Claude Code +npx antigravity-awesome-skills --claude + +# Gemini CLI +npx antigravity-awesome-skills --gemini + +# Custom path +npx antigravity-awesome-skills --path ./my-skills +``` + +Run `npx antigravity-awesome-skills --help` for all options. If the directory already exists, the installer runs `git pull` to update. + +### Option B: git clone + +```bash +# Universal (works with most tools) git clone https://github.com/sickn33/antigravity-awesome-skills.git .agent/skills # Claude Code specific diff --git a/bin/install.js b/bin/install.js new file mode 100755 index 00000000..ce0dc221 --- /dev/null +++ b/bin/install.js @@ -0,0 +1,113 @@ +#!/usr/bin/env node + +const { spawnSync } = require('child_process'); +const path = require('path'); +const fs = require('fs'); + +const REPO = 'https://github.com/sickn33/antigravity-awesome-skills.git'; +const HOME = process.env.HOME || process.env.USERPROFILE || ''; + +function resolveDir(p) { + if (!p) return null; + const s = p.replace(/^~($|\/)/, HOME + '$1'); + return path.resolve(s); +} + +function parseArgs() { + const a = process.argv.slice(2); + let pathArg = null; + let cursor = false, claude = false, gemini = false; + + for (let i = 0; i < a.length; i++) { + if (a[i] === '--help' || a[i] === '-h') return { help: true }; + if (a[i] === '--path' && a[i + 1]) { pathArg = a[++i]; continue; } + if (a[i] === '--cursor') { cursor = true; continue; } + if (a[i] === '--claude') { claude = true; continue; } + if (a[i] === '--gemini') { gemini = true; continue; } + if (a[i] === 'install') continue; + } + + return { pathArg, cursor, claude, gemini }; +} + +function defaultDir(opts) { + if (opts.pathArg) return resolveDir(opts.pathArg); + if (opts.cursor) return path.join(HOME, '.cursor', 'skills'); + if (opts.claude) return path.join(HOME, '.claude', 'skills'); + if (opts.gemini) return path.join(HOME, '.gemini', 'skills'); + return path.join(HOME, '.agent', 'skills'); +} + +function printHelp() { + console.log(` +antigravity-awesome-skills — installer + + npx antigravity-awesome-skills [install] [options] + + Clones the skills repo into your agent's skills directory. + +Options: + --cursor Install to ~/.cursor/skills (Cursor) + --claude Install to ~/.claude/skills (Claude Code) + --gemini Install to ~/.gemini/skills (Gemini CLI) + --path