diff --git a/.antigravity/INSTALL.md b/.antigravity/INSTALL.md deleted file mode 100644 index 2c7681a6..00000000 --- a/.antigravity/INSTALL.md +++ /dev/null @@ -1,61 +0,0 @@ -# Installing Understand-Anything for Antigravity - -## Prerequisites - -- Git - -## Installation - -1. **Clone the repository:** - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/.antigravity/understand-anything - ``` - -2. **Create the skills symlinks:** - ```bash - mkdir -p ~/.gemini/antigravity/skills - ln -s ~/.antigravity/understand-anything/understand-anything-plugin/skills ~/.gemini/antigravity/skills/understand-anything - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || ln -s ~/.antigravity/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.gemini\antigravity\skills" - cmd /c mklink /J "$env:USERPROFILE\.gemini\antigravity\skills\understand-anything" "$env:USERPROFILE\.antigravity\understand-anything\understand-anything-plugin\skills" - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\.antigravity\understand-anything\understand-anything-plugin" - ``` - -3. **Restart the chat or IDE** so Antigravity can discover the skills. - -## Verify - -```bash -ls -la ~/.gemini/antigravity/skills/understand-anything -``` - -You should see a symlink pointing to the skills directory in the cloned repo. - -## Usage - -Skills activate automatically when relevant. You can also invoke directly by saying: -- "Run the understand skill to analyze this codebase" -- "Use the understand-dashboard skill to view the architecture map" -- "Use understand-chat to answer a question about the graph" - -## Updating - -```bash -cd ~/.antigravity/understand-anything && git pull -``` - -Skills update instantly through the symlink. - -## Uninstalling - -```bash -rm ~/.gemini/antigravity/skills/understand-anything -rm ~/.understand-anything-plugin -rm -rf ~/.antigravity/understand-anything -``` diff --git a/.codex/INSTALL.md b/.codex/INSTALL.md deleted file mode 100644 index bc4e9a24..00000000 --- a/.codex/INSTALL.md +++ /dev/null @@ -1,71 +0,0 @@ -# Installing Understand-Anything for Codex - -## Prerequisites - -- Git - -## Installation - -1. **Clone the repository:** - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/.codex/understand-anything - ``` - -2. **Create the skills symlinks:** - ```bash - mkdir -p ~/.agents/skills - # Note: if OpenCode's Understand-Anything is already installed, these symlinks - # already exist and the ln commands will safely fail — that is fine, the - # existing symlinks work for Codex too. - for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - ln -sf ~/.codex/understand-anything/understand-anything-plugin/skills/$skill ~/.agents/skills/$skill - done - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || ln -s ~/.codex/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills" - $skills = @("understand","understand-chat","understand-dashboard","understand-diff","understand-explain","understand-onboard") - foreach ($skill in $skills) { - cmd /c mklink /J "$env:USERPROFILE\.agents\skills\$skill" "$env:USERPROFILE\.codex\understand-anything\understand-anything-plugin\skills\$skill" - } - # Universal plugin root symlink - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\.codex\understand-anything\understand-anything-plugin" - ``` - -3. **Restart Codex** to discover the skills. - -## Verify - -```bash -ls -la ~/.agents/skills/ | grep understand -``` - -You should see symlinks for each skill pointing into the cloned repository. - -## Usage - -Skills activate automatically when relevant. You can also invoke directly: -- "Analyze this codebase and build a knowledge graph" -- "Help me understand this project's architecture" - -## Updating - -```bash -cd ~/.codex/understand-anything && git pull -``` - -Skills update instantly through the symlinks. - -## Uninstalling - -```bash -for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - rm -f ~/.agents/skills/$skill -done -rm ~/.understand-anything-plugin -rm -rf ~/.codex/understand-anything -``` diff --git a/.gemini/INSTALL.md b/.gemini/INSTALL.md deleted file mode 100644 index fda5bf32..00000000 --- a/.gemini/INSTALL.md +++ /dev/null @@ -1,72 +0,0 @@ -# Installing Understand-Anything for Gemini CLI - -## Prerequisites - -- Git -- [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed - -## Installation - -1. **Clone the repository:** - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/.gemini/understand-anything - ``` - -2. **Create the skills symlinks:** - ```bash - mkdir -p ~/.agents/skills - # Note: if another platform's Understand-Anything is already installed, these symlinks - # already exist and the ln commands will safely fail — that is fine, the - # existing symlinks work for Gemini CLI too. - for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - ln -sf ~/.gemini/understand-anything/understand-anything-plugin/skills/$skill ~/.agents/skills/$skill - done - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || ln -s ~/.gemini/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills" - $skills = @("understand","understand-chat","understand-dashboard","understand-diff","understand-explain","understand-onboard") - foreach ($skill in $skills) { - cmd /c mklink /J "$env:USERPROFILE\.agents\skills\$skill" "$env:USERPROFILE\.gemini\understand-anything\understand-anything-plugin\skills\$skill" - } - # Universal plugin root symlink - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\.gemini\understand-anything\understand-anything-plugin" - ``` - -3. **Restart Gemini CLI** to discover the skills. - -## Verify - -```bash -ls -la ~/.agents/skills/ | grep understand -``` - -You should see symlinks for each skill pointing into the cloned repository. - -## Usage - -Skills activate automatically when relevant. You can also invoke directly: -- "Analyze this codebase and build a knowledge graph" -- "Help me understand this project's architecture" - -## Updating - -```bash -cd ~/.gemini/understand-anything && git pull -``` - -Skills update instantly through the symlinks. - -## Uninstalling - -```bash -for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - rm -f ~/.agents/skills/$skill -done -rm ~/.understand-anything-plugin -rm -rf ~/.gemini/understand-anything -``` diff --git a/.gitignore b/.gitignore index 71c7af4b..e2c91df1 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ dist .env.* coverage/ *.log +__pycache__/ .claude/ .worktrees/ homepage/public/demo/ diff --git a/.openclaw/INSTALL.md b/.openclaw/INSTALL.md deleted file mode 100644 index d3150a62..00000000 --- a/.openclaw/INSTALL.md +++ /dev/null @@ -1,50 +0,0 @@ -# Installing Understand-Anything for OpenClaw - -## Prerequisites - -- Git - -## Installation - -1. **Clone the repository:** - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/.openclaw/understand-anything - ``` - -2. **Create the skills symlinks:** - ```bash - mkdir -p ~/.openclaw/skills - ln -s ~/.openclaw/understand-anything/understand-anything-plugin/skills ~/.openclaw/skills/understand-anything - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || ln -s ~/.openclaw/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.openclaw\skills" - cmd /c mklink /J "$env:USERPROFILE\.openclaw\skills\understand-anything" "$env:USERPROFILE\.openclaw\understand-anything\understand-anything-plugin\skills" - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\.openclaw\understand-anything\understand-anything-plugin" - ``` - -3. **Restart OpenClaw** to discover the skills. - -## Usage - -- `@understand` — Analyze the current codebase -- `@understand-chat` — Ask questions about the knowledge graph -- `@understand-dashboard` — Launch the interactive dashboard - -## Updating - -```bash -cd ~/.openclaw/understand-anything && git pull -``` - -## Uninstalling - -```bash -rm ~/.openclaw/skills/understand-anything -rm ~/.understand-anything-plugin -rm -rf ~/.openclaw/understand-anything -``` diff --git a/.opencode/INSTALL.md b/.opencode/INSTALL.md deleted file mode 100644 index e462957b..00000000 --- a/.opencode/INSTALL.md +++ /dev/null @@ -1,92 +0,0 @@ -# Installing Understand-Anything for OpenCode - -## Prerequisites - -- Git -- [OpenCode](https://opencode.ai) installed - -## Installation - -1. **Clone the repository:** - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/.opencode/understand-anything - ``` - -2. **Create the skills symlinks:** - ```bash - mkdir -p ~/.agents/skills - # Note: if Codex's Understand-Anything is already installed, these symlinks - # already exist and the ln commands will safely fail — that is fine, the - # existing symlinks work for OpenCode too. - for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - ln -sf ~/.opencode/understand-anything/understand-anything-plugin/skills/$skill ~/.agents/skills/$skill - done - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || ln -s ~/.opencode/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills" - $skills = @("understand","understand-chat","understand-dashboard","understand-diff","understand-explain","understand-onboard") - foreach ($skill in $skills) { - cmd /c mklink /J "$env:USERPROFILE\.agents\skills\$skill" "$env:USERPROFILE\.opencode\understand-anything\understand-anything-plugin\skills\$skill" - } - # Universal plugin root symlink - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\.opencode\understand-anything\understand-anything-plugin" - ``` - -3. **Restart OpenCode** to discover the skills. - -## Verify - -```bash -ls -la ~/.agents/skills/ | grep understand -``` - -You should see symlinks for each skill pointing into the cloned repository. - -## Usage - -Skills activate automatically when relevant. You can also invoke directly: - -``` -use skill tool to load understand -``` - -Or just ask: "Analyze this codebase and build a knowledge graph" - -## Updating - -```bash -cd ~/.opencode/understand-anything && git pull -``` - -Skills update instantly through the symlinks. - -## Uninstalling - -```bash -for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - rm -f ~/.agents/skills/$skill -done -rm ~/.understand-anything-plugin -rm -rf ~/.opencode/understand-anything -``` - -## Troubleshooting - -### Skills not found - -1. Check that the symlinks exist: `ls -la ~/.agents/skills/ | grep understand` -2. Verify the clone succeeded: `ls ~/.opencode/understand-anything/understand-anything-plugin/skills/` -3. Restart OpenCode - -### Tool mapping - -When skills reference Claude Code tools: -- `TodoWrite` → `todowrite` -- `Task` with subagents → `@mention` syntax -- `Skill` tool → OpenCode's native `skill` tool -- File operations → your native tools diff --git a/.pi/INSTALL.md b/.pi/INSTALL.md deleted file mode 100644 index 02a2012b..00000000 --- a/.pi/INSTALL.md +++ /dev/null @@ -1,72 +0,0 @@ -# Installing Understand-Anything for Pi Agent - -## Prerequisites - -- Git -- [Pi Agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) installed - -## Installation - -1. **Clone the repository:** - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/.pi/understand-anything - ``` - -2. **Create the skills symlinks:** - ```bash - mkdir -p ~/.agents/skills - # Note: if another platform's Understand-Anything is already installed, these symlinks - # already exist and the ln commands will safely fail — that is fine, the - # existing symlinks work for Pi Agent too. - for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - ln -sf ~/.pi/understand-anything/understand-anything-plugin/skills/$skill ~/.agents/skills/$skill - done - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || ln -s ~/.pi/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills" - $skills = @("understand","understand-chat","understand-dashboard","understand-diff","understand-explain","understand-onboard") - foreach ($skill in $skills) { - cmd /c mklink /J "$env:USERPROFILE\.agents\skills\$skill" "$env:USERPROFILE\.pi\understand-anything\understand-anything-plugin\skills\$skill" - } - # Universal plugin root symlink - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\.pi\understand-anything\understand-anything-plugin" - ``` - -3. **Restart Pi Agent** to discover the skills. - -## Verify - -```bash -ls -la ~/.agents/skills/ | grep understand -``` - -You should see symlinks for each skill pointing into the cloned repository. - -## Usage - -Skills activate automatically when relevant. You can also invoke directly: -- "Analyze this codebase and build a knowledge graph" -- "Help me understand this project's architecture" - -## Updating - -```bash -cd ~/.pi/understand-anything && git pull -``` - -Skills update instantly through the symlinks. - -## Uninstalling - -```bash -for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - rm -f ~/.agents/skills/$skill -done -rm ~/.understand-anything-plugin -rm -rf ~/.pi/understand-anything -``` diff --git a/.vscode/INSTALL.md b/.vscode/INSTALL.md deleted file mode 100644 index 81b895ef..00000000 --- a/.vscode/INSTALL.md +++ /dev/null @@ -1,82 +0,0 @@ -# Installing Understand-Anything for VS Code + GitHub Copilot - -## Prerequisites - -- [VS Code](https://code.visualstudio.com/) with the [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) extension (v1.108+) -- Git - -## Option A — Auto-discovery (recommended) - -Clone this repo and open it in VS Code. GitHub Copilot automatically discovers the plugin via `.copilot-plugin/plugin.json` — no manual steps required. - -```bash -git clone https://github.com/Lum1104/Understand-Anything.git -code Understand-Anything -``` - -Skills will appear when you type `/` in GitHub Copilot Chat. - -## Option B — Personal skills (available across all projects) - -1. **Clone the repository** (to any location you prefer): - ```bash - git clone https://github.com/Lum1104/Understand-Anything.git ~/understand-anything - ``` - -2. **Create a symlink for each skill** into `~/.copilot/skills/`: - ```bash - mkdir -p ~/.copilot/skills - SKILLS_DIR=~/understand-anything/understand-anything-plugin/skills - for skill in "$SKILLS_DIR"/*/; do - ln -sf "$skill" ~/.copilot/skills/$(basename "$skill") - done - # Universal plugin root symlink — lets the dashboard skill find packages/dashboard/ - # Skip if already exists (e.g. another platform was installed first) - [ -e ~/.understand-anything-plugin ] || [ -L ~/.understand-anything-plugin ] || \ - ln -s ~/understand-anything/understand-anything-plugin ~/.understand-anything-plugin - ``` - - **Windows (PowerShell):** - ```powershell - New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.copilot\skills" - $skillsDir = "$env:USERPROFILE\understand-anything\understand-anything-plugin\skills" - Get-ChildItem $skillsDir -Directory | ForEach-Object { - cmd /c mklink /J "$env:USERPROFILE\.copilot\skills\$($_.Name)" $_.FullName - } - cmd /c mklink /J "$env:USERPROFILE\.understand-anything-plugin" "$env:USERPROFILE\understand-anything\understand-anything-plugin" - ``` - -3. **Reload VS Code** (`Cmd+Shift+P` → `Developer: Reload Window`) so GitHub Copilot discovers the skills. - -## Verify - -Type `/` in GitHub Copilot Chat — you should see all six skills listed: - -- `understand` — build the knowledge graph -- `understand-chat` — ask questions about the codebase -- `understand-dashboard` — open the interactive dashboard -- `understand-diff` — analyze impact of current changes -- `understand-explain` — deep-dive into a file or function -- `understand-onboard` — generate an onboarding guide - -## Usage - -Skills activate automatically when relevant. You can also invoke them directly by typing `/` in Copilot Chat and selecting a skill. - -## Updating - -```bash -cd ~/understand-anything && git pull -``` - -Skills update instantly through the symlinks. - -## Uninstalling - -```bash -for skill in understand understand-chat understand-dashboard understand-diff understand-explain understand-onboard; do - rm -f ~/.copilot/skills/$skill -done -rm -f ~/.understand-anything-plugin -rm -rf ~/understand-anything -``` diff --git a/README.md b/README.md index 5011ceb1..5aaacf20 100644 --- a/README.md +++ b/README.md @@ -176,26 +176,25 @@ Understand-Anything works across multiple AI coding platforms. /plugin install understand-anything ``` -### Codex +### One-line install (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -Tell Codex: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# or skip the prompt by passing the platform: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -Tell OpenCode: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows (PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +The installer clones the repo to `~/.understand-anything/repo` and creates the right symlinks for the chosen platform. Restart your CLI/IDE afterwards. -Tell OpenClaw: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- Supported `` values: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vscode` +- Update later: `./install.sh --update` +- Uninstall: `./install.sh --uninstall ` ### Cursor @@ -205,10 +204,7 @@ Cursor auto-discovers the plugin via `.cursor-plugin/plugin.json` when this repo VS Code with GitHub Copilot (v1.108+) auto-discovers the plugin via `.copilot-plugin/plugin.json` when this repo is cloned. No manual installation needed — just clone and open in VS Code. -For personal skills (available across all projects), tell GitHub Copilot: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +For personal skills (available across all projects), run the `install.sh` above with the `vscode` platform. ### Copilot CLI @@ -216,41 +212,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -Tell Antigravity: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -Tell Gemini CLI: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -Tell Pi Agent: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### Platform Compatibility | Platform | Status | Install Method | |----------|--------|----------------| | Claude Code | ✅ Native | Plugin marketplace | -| Codex | ✅ Supported | AI-driven install | -| OpenCode | ✅ Supported | AI-driven install | -| OpenClaw | ✅ Supported | AI-driven install | | Cursor | ✅ Supported | Auto-discovery | | VS Code + GitHub Copilot | ✅ Supported | Auto-discovery | | Copilot CLI | ✅ Supported | Plugin install | -| Antigravity | ✅ Supported | AI-driven install | -| Gemini CLI | ✅ Supported | AI-driven install | -| Pi Agent | ✅ Supported | AI-driven install | +| Codex | ✅ Supported | `install.sh codex` | +| OpenCode | ✅ Supported | `install.sh opencode` | +| OpenClaw | ✅ Supported | `install.sh openclaw` | +| Antigravity | ✅ Supported | `install.sh antigravity` | +| Gemini CLI | ✅ Supported | `install.sh gemini` | +| Pi Agent | ✅ Supported | `install.sh pi` | --- diff --git a/READMEs/README.es-ES.md b/READMEs/README.es-ES.md index 0243edf1..7ad9b446 100644 --- a/READMEs/README.es-ES.md +++ b/READMEs/README.es-ES.md @@ -175,26 +175,25 @@ Understand-Anything funciona en múltiples plataformas de codificación con IA. /plugin install understand-anything ``` -### Codex +### Instalación de una línea (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -Dile a Codex: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# o pasa la plataforma directamente para saltar el prompt: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -Dile a OpenCode: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows (PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +El instalador clona el repositorio en `~/.understand-anything/repo` y crea los enlaces simbólicos correspondientes para la plataforma elegida. Reinicia tu CLI/IDE al terminar. -Dile a OpenClaw: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- Valores soportados de ``: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vscode` +- Actualizar más adelante: `./install.sh --update` +- Desinstalar: `./install.sh --uninstall ` ### Cursor @@ -204,10 +203,7 @@ Cursor detecta automáticamente el plugin a través de `.cursor-plugin/plugin.js VS Code con GitHub Copilot (v1.108+) detecta automáticamente el plugin a través de `.copilot-plugin/plugin.json` cuando se clona este repositorio. No requiere instalación manual: simplemente clona y abre en VS Code. -Para habilidades personales (disponibles en todos los proyectos), dile a GitHub Copilot: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +Para habilidades personales (disponibles en todos los proyectos), ejecuta el `install.sh` de arriba con la plataforma `vscode`. ### Copilot CLI @@ -215,41 +211,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -Dile a Antigravity: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -Dile a Gemini CLI: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -Dile a Pi Agent: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### Compatibilidad de Plataformas | Plataforma | Estado | Método de Instalación | |----------|--------|----------------| | Claude Code | ✅ Nativo | Marketplace de plugins | -| Codex | ✅ Soportado | Instalación guiada por IA | -| OpenCode | ✅ Soportado | Instalación guiada por IA | -| OpenClaw | ✅ Soportado | Instalación guiada por IA | | Cursor | ✅ Soportado | Detección automática | | VS Code + GitHub Copilot | ✅ Soportado | Detección automática | | Copilot CLI | ✅ Soportado | Instalación de plugin | -| Antigravity | ✅ Soportado | Instalación guiada por IA | -| Gemini CLI | ✅ Soportado | Instalación guiada por IA | -| Pi Agent | ✅ Soportado | Instalación guiada por IA | +| Codex | ✅ Soportado | `install.sh codex` | +| OpenCode | ✅ Soportado | `install.sh opencode` | +| OpenClaw | ✅ Soportado | `install.sh openclaw` | +| Antigravity | ✅ Soportado | `install.sh antigravity` | +| Gemini CLI | ✅ Soportado | `install.sh gemini` | +| Pi Agent | ✅ Soportado | `install.sh pi` | --- diff --git a/READMEs/README.ja-JP.md b/READMEs/README.ja-JP.md index 5af1182f..fed875bc 100644 --- a/READMEs/README.ja-JP.md +++ b/READMEs/README.ja-JP.md @@ -176,26 +176,25 @@ Understand-Anythingは複数のAIコーディングプラットフォームで /plugin install understand-anything ``` -### Codex +### ワンラインインストール(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -Codexに以下を伝えてください: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# プラットフォームを直接指定して対話プロンプトをスキップすることもできます: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -OpenCodeに以下を伝えてください: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows(PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +インストーラーはリポジトリを `~/.understand-anything/repo` にクローンし、選択したプラットフォーム用のシンボリックリンクを作成します。完了後はCLI/IDEを再起動してください。 -OpenClawに以下を伝えてください: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- サポートされる `` 値:`gemini`、`codex`、`opencode`、`pi`、`openclaw`、`antigravity`、`vscode` +- 後で更新:`./install.sh --update` +- アンインストール:`./install.sh --uninstall ` ### Cursor @@ -205,10 +204,7 @@ Cursorはこのリポジトリをクローンすると `.cursor-plugin/plugin.js GitHub Copilot拡張機能(v1.108+)をインストールしたVS Codeは、`.copilot-plugin/plugin.json` 経由でプラグインを自動検出します。クローンしてVS Codeで開くだけで、手動インストールは不要です。 -全プロジェクトで使用するパーソナルスキルとして設定する場合は、GitHub Copilotに以下を伝えてください: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +全プロジェクトで使用するパーソナルスキルとして導入したい場合は、上記の `install.sh` を `vscode` プラットフォームで実行してください。 ### Copilot CLI @@ -216,41 +212,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -Antigravityに以下を伝えてください: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -Gemini CLIに以下を伝えてください: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -Pi Agentに以下を伝えてください: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### プラットフォーム互換性 | プラットフォーム | ステータス | インストール方法 | |----------|--------|----------------| | Claude Code | ✅ ネイティブ | プラグインマーケットプレイス | -| Codex | ✅ サポート | AI駆動インストール | -| OpenCode | ✅ サポート | AI駆動インストール | -| OpenClaw | ✅ サポート | AI駆動インストール | | Cursor | ✅ サポート | 自動検出 | | VS Code + GitHub Copilot | ✅ サポート | 自動検出 | | Copilot CLI | ✅ サポート | プラグインインストール | -| Antigravity | ✅ サポート | AI駆動インストール | -| Gemini CLI | ✅ サポート | AI駆動インストール | -| Pi Agent | ✅ サポート | AI駆動インストール | +| Codex | ✅ サポート | `install.sh codex` | +| OpenCode | ✅ サポート | `install.sh opencode` | +| OpenClaw | ✅ サポート | `install.sh openclaw` | +| Antigravity | ✅ サポート | `install.sh antigravity` | +| Gemini CLI | ✅ サポート | `install.sh gemini` | +| Pi Agent | ✅ サポート | `install.sh pi` | --- diff --git a/READMEs/README.ko-KR.md b/READMEs/README.ko-KR.md index b1159f18..6a8e1827 100644 --- a/READMEs/README.ko-KR.md +++ b/READMEs/README.ko-KR.md @@ -175,26 +175,25 @@ Understand-Anything은 다양한 AI 코딩 플랫폼에서 사용할 수 있습 /plugin install understand-anything ``` -### Codex +### 한 줄 설치 (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -Codex에 입력하세요: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# 플랫폼 이름을 직접 전달하여 프롬프트를 건너뛸 수도 있습니다: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -OpenCode에 입력하세요: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows (PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +설치 스크립트는 저장소를 `~/.understand-anything/repo`에 클론하고 선택한 플랫폼에 맞는 심볼릭 링크를 생성합니다. 설치 후 CLI 또는 IDE를 재시작하세요. -OpenClaw에 입력하세요: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- 지원되는 `` 값: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vscode` +- 이후 업데이트: `./install.sh --update` +- 제거: `./install.sh --uninstall ` ### Cursor @@ -204,10 +203,7 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und GitHub Copilot(v1.108+)이 설치된 VS Code는 `.copilot-plugin/plugin.json`을 통해 플러그인을 자동으로 인식합니다. 수동 설치가 필요 없습니다. 클론 후 VS Code에서 열기만 하면 됩니다. -모든 프로젝트에서 사용하려면(개인 스킬) GitHub Copilot에 입력하세요: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +모든 프로젝트에서 사용하는 개인 스킬로 설치하려면 위 `install.sh`를 `vscode` 플랫폼으로 실행하세요. ### Copilot CLI @@ -215,41 +211,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -Antigravity에 입력하세요: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -Gemini CLI에 입력하세요: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -Pi Agent에 입력하세요: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### 플랫폼 호환성 | 플랫폼 | 상태 | 설치 방법 | |----------|--------|----------------| | Claude Code | ✅ 네이티브 | 플러그인 마켓플레이스 | -| Codex | ✅ 지원 | AI 기반 설치 | -| OpenCode | ✅ 지원 | AI 기반 설치 | -| OpenClaw | ✅ 지원 | AI 기반 설치 | | Cursor | ✅ 지원 | 자동 인식 | | VS Code + GitHub Copilot | ✅ 지원 | 자동 인식 | | Copilot CLI | ✅ 지원 | 플러그인 설치 | -| Antigravity | ✅ 지원 | AI 기반 설치 | -| Gemini CLI | ✅ 지원 | AI 기반 설치 | -| Pi Agent | ✅ 지원 | AI 기반 설치 | +| Codex | ✅ 지원 | `install.sh codex` | +| OpenCode | ✅ 지원 | `install.sh opencode` | +| OpenClaw | ✅ 지원 | `install.sh openclaw` | +| Antigravity | ✅ 지원 | `install.sh antigravity` | +| Gemini CLI | ✅ 지원 | `install.sh gemini` | +| Pi Agent | ✅ 지원 | `install.sh pi` | --- diff --git a/READMEs/README.tr-TR.md b/READMEs/README.tr-TR.md index 2363a868..8517ebc0 100644 --- a/READMEs/README.tr-TR.md +++ b/READMEs/README.tr-TR.md @@ -176,26 +176,25 @@ Understand-Anything birden fazla AI kodlama platformunda çalışır. /plugin install understand-anything ``` -### Codex +### Tek satırlık kurulum (Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -Codex'e söyle: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# veya platformu doğrudan geçirerek soruyu atla: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -OpenCode'a söyle: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows (PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +Kurulum betiği depoyu `~/.understand-anything/repo` dizinine klonlar ve seçilen platform için uygun sembolik bağlantıları oluşturur. Sonrasında CLI/IDE'ni yeniden başlat. -OpenClaw'a söyle: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- Desteklenen `` değerleri: `gemini`, `codex`, `opencode`, `pi`, `openclaw`, `antigravity`, `vscode` +- Daha sonra güncelle: `./install.sh --update` +- Kaldır: `./install.sh --uninstall ` ### Cursor @@ -205,10 +204,7 @@ Bu depo klonlandığında Cursor, eklentiyi `.cursor-plugin/plugin.json` aracıl GitHub Copilot uzantısı (v1.108+) yüklü VS Code, `.copilot-plugin/plugin.json` aracılığıyla eklentiyi otomatik keşfeder. Manuel kurulum gerekmez — sadece klonla ve VS Code'da aç. -Tüm projelerde kullanmak için kişisel beceri olarak kurmak istersen GitHub Copilot'a söyle: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +Tüm projelerde kullanmak için kişisel beceri olarak kurmak istersen yukarıdaki `install.sh`'ı `vscode` platformuyla çalıştır. ### Copilot CLI @@ -216,41 +212,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -Antigravity'e söyle: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -Gemini CLI'a söyle: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -Pi Agent'a söyle: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### Platform Uyumluluğu | Platform | Durum | Kurulum Yöntemi | |----------|--------|----------------| | Claude Code | ✅ Yerli | Eklenti pazarı | -| Codex | ✅ Destekleniyor | AI güdümlü kurulum | -| OpenCode | ✅ Destekleniyor | AI güdümlü kurulum | -| OpenClaw | ✅ Destekleniyor | AI güdümlü kurulum | | Cursor | ✅ Destekleniyor | Otomatik keşif | | VS Code + GitHub Copilot | ✅ Destekleniyor | Otomatik keşif | | Copilot CLI | ✅ Destekleniyor | Eklenti kurulumu | -| Antigravity | ✅ Destekleniyor | AI güdümlü kurulum | -| Gemini CLI | ✅ Destekleniyor | AI güdümlü kurulum | -| Pi Agent | ✅ Destekleniyor | AI güdümlü kurulum | +| Codex | ✅ Destekleniyor | `install.sh codex` | +| OpenCode | ✅ Destekleniyor | `install.sh opencode` | +| OpenClaw | ✅ Destekleniyor | `install.sh openclaw` | +| Antigravity | ✅ Destekleniyor | `install.sh antigravity` | +| Gemini CLI | ✅ Destekleniyor | `install.sh gemini` | +| Pi Agent | ✅ Destekleniyor | `install.sh pi` | --- diff --git a/READMEs/README.zh-CN.md b/READMEs/README.zh-CN.md index 38cf724c..a612932a 100644 --- a/READMEs/README.zh-CN.md +++ b/READMEs/README.zh-CN.md @@ -168,33 +168,32 @@ Understand Anything 是一个 [Claude Code Plugin](https://code.claude.com/docs/ Understand-Anything 可在多个 AI 编码平台上运行。 -### Claude Code (原生支持) +### Claude Code(原生) ```bash /plugin marketplace add Lum1104/Understand-Anything /plugin install understand-anything ``` -### Codex +### 一行命令安装(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -告诉 Codex: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# 也可以直接传入平台名跳过交互提示: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -告诉 OpenCode: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows(PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +安装脚本会将仓库克隆到 `~/.understand-anything/repo`,并为所选平台创建相应的符号链接。安装完成后请重启 CLI 或 IDE。 -告诉 OpenClaw: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- 支持的 `` 取值:`gemini`、`codex`、`opencode`、`pi`、`openclaw`、`antigravity`、`vscode` +- 后续更新:`./install.sh --update` +- 卸载:`./install.sh --uninstall ` ### Cursor @@ -204,10 +203,7 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und 安装 GitHub Copilot 扩展(v1.108+)后,VS Code 会通过 `.copilot-plugin/plugin.json` 自动发现插件,克隆后直接在 VS Code 中打开即可,无需手动安装。 -若需要在所有项目中使用(个人技能),告诉 GitHub Copilot: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +若需要在所有项目中使用(个人技能),运行上面的 `install.sh` 并选择 `vscode` 平台即可。 ### Copilot CLI @@ -215,41 +211,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -告诉 Antigravity: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -告诉 Gemini CLI: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -告诉 Pi Agent: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### 多平台兼容 | 平台 | 状态 | 安装方式 | |----------|--------|----------------| -| Claude Code | ✅ Native | 插件市场 | -| Codex | ✅ 支持 | AI驱动安装 | -| OpenCode | ✅ 支持 | AI驱动安装 | -| OpenClaw | ✅ 支持 | AI驱动安装 | +| Claude Code | ✅ 原生 | 插件市场 | | Cursor | ✅ 支持 | 自动发现 | | VS Code + GitHub Copilot | ✅ 支持 | 自动发现 | | Copilot CLI | ✅ 支持 | 插件安装 | -| Antigravity | ✅ 支持 | AI驱动安装 | -| Gemini CLI | ✅ 支持 | AI驱动安装 | -| Pi Agent | ✅ 支持 | AI驱动安装 | +| Codex | ✅ 支持 | `install.sh codex` | +| OpenCode | ✅ 支持 | `install.sh opencode` | +| OpenClaw | ✅ 支持 | `install.sh openclaw` | +| Antigravity | ✅ 支持 | `install.sh antigravity` | +| Gemini CLI | ✅ 支持 | `install.sh gemini` | +| Pi Agent | ✅ 支持 | `install.sh pi` | --- diff --git a/READMEs/README.zh-TW.md b/READMEs/README.zh-TW.md index 47bbe8ee..b251c507 100644 --- a/READMEs/README.zh-TW.md +++ b/READMEs/README.zh-TW.md @@ -168,33 +168,32 @@ Understand Anything 是一個 [Claude Code Plugin](https://code.claude.com/docs/ Understand-Anything 可在多個 AI 編碼平台上執行。 -### Claude Code(原生支援) +### Claude Code(原生) ```bash /plugin marketplace add Lum1104/Understand-Anything /plugin install understand-anything ``` -### Codex +### 一行指令安裝(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / VS Code Copilot) -告訴 Codex: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md +**macOS / Linux:** +```bash +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# 也可以直接傳入平台名稱跳過互動提示: +curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex ``` -### OpenCode - -告訴 OpenCode: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.opencode/INSTALL.md +**Windows(PowerShell):** +```powershell +iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex ``` -### OpenClaw +安裝指令稿會將儲存庫複製到 `~/.understand-anything/repo`,並為所選平台建立相應的符號連結。安裝完成後請重新啟動 CLI 或 IDE。 -告訴 OpenClaw: -``` -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.openclaw/INSTALL.md -``` +- 支援的 `` 取值:`gemini`、`codex`、`opencode`、`pi`、`openclaw`、`antigravity`、`vscode` +- 後續更新:`./install.sh --update` +- 解除安裝:`./install.sh --uninstall ` ### Cursor @@ -204,10 +203,7 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und 安裝 GitHub Copilot 擴充功能(v1.108+)後,VS Code 會透過 `.copilot-plugin/plugin.json` 自動發現外掛程式,複製後直接在 VS Code 中開啟即可,無需手動安裝。 -若需要在所有專案中使用(個人技能),告訴 GitHub Copilot: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.vscode/INSTALL.md -``` +若需要在所有專案中使用(個人技能),執行上面的 `install.sh` 並選擇 `vscode` 平台即可。 ### Copilot CLI @@ -215,41 +211,20 @@ Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Und copilot plugin install Lum1104/Understand-Anything:understand-anything-plugin ``` -### Antigravity - -告訴 Antigravity: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.antigravity/INSTALL.md -``` - -### Gemini CLI - -告訴 Gemini CLI: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.gemini/INSTALL.md -``` - -### Pi Agent - -告訴 Pi Agent: -```text -Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.pi/INSTALL.md -``` - ### 多平台相容性 | 平台 | 狀態 | 安裝方式 | |----------|--------|----------------| | Claude Code | ✅ 原生 | 外掛程式市集 | -| Codex | ✅ 支援 | AI 驅動安裝 | -| OpenCode | ✅ 支援 | AI 驅動安裝 | -| OpenClaw | ✅ 支援 | AI 驅動安裝 | | Cursor | ✅ 支援 | 自動發現 | | VS Code + GitHub Copilot | ✅ 支援 | 自動發現 | | Copilot CLI | ✅ 支援 | 外掛程式安裝 | -| Antigravity | ✅ 支援 | AI 驅動安裝 | -| Gemini CLI | ✅ 支援 | AI 驅動安裝 | -| Pi Agent | ✅ 支援 | AI 驅動安裝 | +| Codex | ✅ 支援 | `install.sh codex` | +| OpenCode | ✅ 支援 | `install.sh opencode` | +| OpenClaw | ✅ 支援 | `install.sh openclaw` | +| Antigravity | ✅ 支援 | `install.sh antigravity` | +| Gemini CLI | ✅ 支援 | `install.sh gemini` | +| Pi Agent | ✅ 支援 | `install.sh pi` | --- diff --git a/install.ps1 b/install.ps1 new file mode 100644 index 00000000..a0668568 --- /dev/null +++ b/install.ps1 @@ -0,0 +1,232 @@ +<# +.SYNOPSIS + Understand-Anything installer for Windows (PowerShell). + +.DESCRIPTION + Clones the repo and creates skill symlinks/junctions for the chosen platform. + +.EXAMPLE + ./install.ps1 # prompt for platform + ./install.ps1 codex # install for codex + ./install.ps1 -Update # pull latest changes + ./install.ps1 -Uninstall codex # remove links for codex +#> + +param( + [Parameter(Position = 0)] + [string]$Platform, + [switch]$Update, + [string]$Uninstall, + [switch]$Help +) + +$ErrorActionPreference = 'Stop' + +$RepoUrl = if ($env:UA_REPO_URL) { $env:UA_REPO_URL } else { 'https://github.com/Lum1104/Understand-Anything.git' } +$RepoDir = if ($env:UA_DIR) { $env:UA_DIR } else { Join-Path $HOME '.understand-anything\repo' } +$PluginLink = Join-Path $HOME '.understand-anything-plugin' + +# Platform table — Target = skills directory; Style = "per-skill" | "folder" +$Platforms = [ordered]@{ + gemini = @{ Target = (Join-Path $HOME '.agents\skills'); Style = 'per-skill' } + codex = @{ Target = (Join-Path $HOME '.agents\skills'); Style = 'per-skill' } + opencode = @{ Target = (Join-Path $HOME '.agents\skills'); Style = 'per-skill' } + pi = @{ Target = (Join-Path $HOME '.agents\skills'); Style = 'per-skill' } + openclaw = @{ Target = (Join-Path $HOME '.openclaw\skills'); Style = 'folder' } + antigravity = @{ Target = (Join-Path $HOME '.gemini\antigravity\skills'); Style = 'folder' } + vscode = @{ Target = (Join-Path $HOME '.copilot\skills'); Style = 'per-skill' } +} + +function Show-Usage { + @" +Understand-Anything installer (Windows) + +Usage: + install.ps1 [] Install for (or prompt if omitted) + install.ps1 -Update Pull latest changes + install.ps1 -Uninstall Remove links for + install.ps1 -Help + +Supported platforms: +$($Platforms.Keys -join ', ') + +Environment: + UA_REPO_URL Override clone URL + UA_DIR Override clone destination (default: %USERPROFILE%\.understand-anything\repo) +"@ +} + +function Resolve-Platform([string]$Id) { + if (-not $Platforms.Contains($Id)) { + Write-Error "Unknown platform: $Id. Supported: $($Platforms.Keys -join ', ')" + } + return $Platforms[$Id] +} + +function Prompt-Platform { + $ids = @($Platforms.Keys) + Write-Host 'Which platform are you installing for?' + for ($i = 0; $i -lt $ids.Count; $i++) { + Write-Host (" {0}) {1}" -f ($i + 1), $ids[$i]) + } + $choice = Read-Host ("Choose [1-{0}]" -f $ids.Count) + $n = 0 + if (-not [int]::TryParse($choice, [ref]$n) -or $n -lt 1 -or $n -gt $ids.Count) { + Write-Error "Invalid choice: $choice" + } + return $ids[$n - 1] +} + +function Get-SkillsRoot { Join-Path $RepoDir 'understand-anything-plugin\skills' } + +function Clone-Or-Update { + if (Test-Path (Join-Path $RepoDir '.git')) { + Write-Host "→ Updating existing checkout at $RepoDir" + git -C $RepoDir pull --ff-only + } else { + Write-Host "→ Cloning $RepoUrl → $RepoDir" + $parent = Split-Path -Parent $RepoDir + if (-not (Test-Path $parent)) { New-Item -ItemType Directory -Path $parent | Out-Null } + git clone $RepoUrl $RepoDir + } +} + +function Get-SkillNames { + $root = Get-SkillsRoot + if (-not (Test-Path $root)) { Write-Error "Skills directory not found: $root" } + Get-ChildItem -Path $root -Directory | Select-Object -ExpandProperty Name +} + +function Test-IsReparse([string]$Path) { + if (-not (Test-Path $Path)) { return $false } + $item = Get-Item -LiteralPath $Path -Force + return ($item.LinkType -eq 'Junction' -or $item.LinkType -eq 'SymbolicLink') +} + +function Remove-Reparse([string]$Path) { + # Removes a junction/symlink without touching its target. Refuses to touch + # real files or directories so an existing user folder at the same path is + # never destroyed. + if (-not (Test-Path $Path)) { return $false } + $item = Get-Item -LiteralPath $Path -Force + if ($item.LinkType -eq 'Junction' -or $item.LinkType -eq 'SymbolicLink') { + $item.Delete() + return $true + } + Write-Warning "Refusing to delete $Path — it is a real file/directory, not a junction/symlink we created. Remove it manually if you intended to." + return $false +} + +function New-Junction([string]$LinkPath, [string]$TargetPath) { + if (Test-Path $LinkPath) { + if (Test-IsReparse $LinkPath) { + (Get-Item -LiteralPath $LinkPath -Force).Delete() + } else { + Write-Error "Refusing to overwrite $LinkPath — it is a real file/directory, not a junction. Move or remove it first." + } + } + New-Item -ItemType Junction -Path $LinkPath -Target $TargetPath | Out-Null +} + +function Link-Skills([string]$Target, [string]$Style) { + $root = Get-SkillsRoot + if (-not (Test-Path $Target)) { New-Item -ItemType Directory -Path $Target | Out-Null } + + switch ($Style) { + 'per-skill' { + foreach ($skill in Get-SkillNames) { + $link = Join-Path $Target $skill + $src = Join-Path $root $skill + New-Junction $link $src + Write-Host " ✓ $link → $src" + } + } + 'folder' { + $link = Join-Path $Target 'understand-anything' + New-Junction $link $root + Write-Host " ✓ $link → $root" + } + default { Write-Error "Unknown style: $Style" } + } +} + +function Unlink-Skills([string]$Target, [string]$Style) { + if (-not (Test-Path $Target)) { return } + switch ($Style) { + 'per-skill' { + $skillsRoot = Get-SkillsRoot + if (Test-Path $skillsRoot) { + foreach ($skill in Get-SkillNames) { + Remove-Reparse (Join-Path $Target $skill) | Out-Null + } + } else { + # Checkout is gone — scan the target dir for stale links pointing + # into our plugin tree so we can still clean up. + Get-ChildItem -LiteralPath $Target -Force | ForEach-Object { + if ($_.LinkType -eq 'Junction' -or $_.LinkType -eq 'SymbolicLink') { + if ($_.Target -match 'understand-anything-plugin[\\/]+skills[\\/]+') { + Remove-Reparse $_.FullName | Out-Null + } + } + } + } + } + 'folder' { + Remove-Reparse (Join-Path $Target 'understand-anything') | Out-Null + } + } +} + +function Link-Plugin-Root { + if (Test-Path $PluginLink) { + Write-Host " • $PluginLink already exists, leaving as-is" + } else { + $src = Join-Path $RepoDir 'understand-anything-plugin' + New-Item -ItemType Junction -Path $PluginLink -Target $src | Out-Null + Write-Host " ✓ $PluginLink → $src" + } +} + +function Cmd-Install([string]$Id) { + $cfg = Resolve-Platform $Id + Clone-Or-Update + Write-Host "→ Linking skills for $Id ($($cfg.Style) → $($cfg.Target))" + Link-Skills $cfg.Target $cfg.Style + Write-Host '→ Linking universal plugin root' + Link-Plugin-Root + + Write-Host "`n✓ Installed Understand-Anything for $Id" + Write-Host ' Restart your CLI or IDE to pick up the skills.' + if ($Id -eq 'vscode') { + Write-Host "`n Tip: VS Code can also auto-discover the plugin by opening this repo" + Write-Host ' directly (it reads .copilot-plugin/plugin.json), no symlinks needed.' + } +} + +function Cmd-Uninstall([string]$Id) { + $cfg = Resolve-Platform $Id + Write-Host "→ Removing skill links for $Id" + Unlink-Skills $cfg.Target $cfg.Style + if (Remove-Reparse $PluginLink) { + Write-Host " ✓ removed $PluginLink" + } + if (Test-Path $RepoDir) { + Write-Host "`nThe checkout at $RepoDir was kept (other platforms may still use it)." + Write-Host "To remove it: Remove-Item -Recurse -Force '$RepoDir'" + } +} + +function Cmd-Update { + if (-not (Test-Path (Join-Path $RepoDir '.git'))) { + Write-Error "No installation found at $RepoDir. Run install first." + } + git -C $RepoDir pull --ff-only + Write-Host '✓ Updated.' +} + +if ($Help) { Show-Usage; return } +if ($Update) { Cmd-Update; return } +if ($Uninstall) { Cmd-Uninstall $Uninstall; return } + +if (-not $Platform) { $Platform = Prompt-Platform } +Cmd-Install $Platform diff --git a/install.sh b/install.sh new file mode 100755 index 00000000..b7571600 --- /dev/null +++ b/install.sh @@ -0,0 +1,275 @@ +#!/usr/bin/env bash +# Understand-Anything installer (macOS / Linux) +# +# Usage: +# ./install.sh Prompt for platform +# ./install.sh Install for +# ./install.sh --update Pull latest changes +# ./install.sh --uninstall Remove links for +# ./install.sh --help +# +# Curl-pipe usage: +# curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash +# curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex +# +# Environment: +# UA_REPO_URL Override clone URL (default: official GitHub repo) +# UA_DIR Override clone destination (default: $HOME/.understand-anything/repo) + +set -euo pipefail + +REPO_URL="${UA_REPO_URL:-https://github.com/Lum1104/Understand-Anything.git}" +REPO_DIR="${UA_DIR:-$HOME/.understand-anything/repo}" +PLUGIN_LINK="$HOME/.understand-anything-plugin" + +# Platform table — id|skills-target-dir|style +# style "per-skill": one symlink per skill into the target dir +# style "folder": one symlink for the whole skills/ dir into the target, +# named "understand-anything" +platforms_table() { + cat <&2 + printf 'Supported: %s\n' "$(platform_ids | tr '\n' ' ')" >&2 + exit 1 + fi + printf '%s\n' "$row" +} + +prompt_platform() { + local ids=() + while IFS= read -r id; do ids+=("$id"); done < <(platform_ids) + + printf 'Which platform are you installing for?\n' >&2 + local i=1 + for id in "${ids[@]}"; do + printf ' %d) %s\n' "$i" "$id" >&2 + i=$((i+1)) + done + printf 'Choose [1-%d]: ' "${#ids[@]}" >&2 + + local choice="" + if { exec 3/dev/null; then + read -r choice <&3 || true + exec 3<&- + else + read -r choice || true + fi + if [[ -z "$choice" ]]; then + printf '\nNo input received. Pass the platform as an argument instead, e.g.:\n' >&2 + printf ' install.sh codex\n' >&2 + exit 1 + fi + if ! [[ "$choice" =~ ^[0-9]+$ ]] || (( choice < 1 || choice > ${#ids[@]} )); then + printf 'Invalid choice: %s\n' "$choice" >&2 + exit 1 + fi + printf '%s\n' "${ids[$((choice-1))]}" +} + +clone_or_update() { + if [[ -d "$REPO_DIR/.git" ]]; then + printf -- '→ Updating existing checkout at %s\n' "$REPO_DIR" + git -C "$REPO_DIR" pull --ff-only + else + printf -- '→ Cloning %s → %s\n' "$REPO_URL" "$REPO_DIR" + mkdir -p "$(dirname "$REPO_DIR")" + git clone "$REPO_URL" "$REPO_DIR" + fi +} + +skills_root() { printf '%s\n' "$REPO_DIR/understand-anything-plugin/skills"; } + +list_skills() { + local root + root="$(skills_root)" + if [[ ! -d "$root" ]]; then + printf 'Skills directory not found: %s\n' "$root" >&2 + exit 1 + fi + local d + for d in "$root"/*/; do + [[ -d "$d" ]] || continue + basename "$d" + done +} + +link_skills() { + local target="$1" style="$2" + local root + root="$(skills_root)" + mkdir -p "$target" + case "$style" in + per-skill) + local skill + while IFS= read -r skill; do + ln -sfn "$root/$skill" "$target/$skill" + printf ' ✓ %s → %s\n' "$target/$skill" "$root/$skill" + done < <(list_skills) + ;; + folder) + ln -sfn "$root" "$target/understand-anything" + printf ' ✓ %s → %s\n' "$target/understand-anything" "$root" + ;; + *) + printf 'Unknown style: %s\n' "$style" >&2 + exit 1 + ;; + esac +} + +unlink_skills() { + local target="$1" style="$2" + [[ -d "$target" ]] || return 0 + case "$style" in + per-skill) + if [[ -d "$(skills_root)" ]]; then + local skill + while IFS= read -r skill; do + [[ -L "$target/$skill" ]] && rm -f "$target/$skill" + done < <(list_skills) + else + # Checkout is gone — scan the target dir for stale links pointing into + # our plugin tree so we can still clean up. + local link resolved + for link in "$target"/*; do + [[ -L "$link" ]] || continue + resolved="$(readlink "$link" 2>/dev/null || true)" + [[ "$resolved" == *"/understand-anything-plugin/skills/"* ]] || continue + rm -f "$link" + done + fi + ;; + folder) + [[ -L "$target/understand-anything" ]] && rm -f "$target/understand-anything" + ;; + esac +} + +link_plugin_root() { + if [[ -L "$PLUGIN_LINK" || -e "$PLUGIN_LINK" ]]; then + printf ' • %s already exists, leaving as-is\n' "$PLUGIN_LINK" + else + ln -s "$REPO_DIR/understand-anything-plugin" "$PLUGIN_LINK" + printf ' ✓ %s → %s\n' "$PLUGIN_LINK" "$REPO_DIR/understand-anything-plugin" + fi +} + +cmd_install() { + local id="$1" + local row target style + row="$(resolve_platform "$id")" + target="$(printf '%s\n' "$row" | cut -d'|' -f2)" + style="$(printf '%s\n' "$row" | cut -d'|' -f3)" + + clone_or_update + printf -- '→ Linking skills for %s (%s → %s)\n' "$id" "$style" "$target" + link_skills "$target" "$style" + printf -- '→ Linking universal plugin root\n' + link_plugin_root + + printf '\n✓ Installed Understand-Anything for %s\n' "$id" + printf ' Restart your CLI or IDE to pick up the skills.\n' + if [[ "$id" == "vscode" ]]; then + printf '\n Tip: VS Code can also auto-discover the plugin by opening this repo\n' + printf ' directly (it reads .copilot-plugin/plugin.json), no symlinks needed.\n' + fi +} + +cmd_uninstall() { + local id="$1" + local row target style + row="$(resolve_platform "$id")" + target="$(printf '%s\n' "$row" | cut -d'|' -f2)" + style="$(printf '%s\n' "$row" | cut -d'|' -f3)" + + printf -- '→ Removing skill links for %s\n' "$id" + unlink_skills "$target" "$style" + if [[ -L "$PLUGIN_LINK" ]]; then + rm -f "$PLUGIN_LINK" + printf ' ✓ removed %s\n' "$PLUGIN_LINK" + fi + if [[ -d "$REPO_DIR" ]]; then + printf '\nThe checkout at %s was kept (other platforms may still use it).\n' "$REPO_DIR" + printf 'To remove it: rm -rf "%s"\n' "$REPO_DIR" + fi +} + +cmd_update() { + if [[ ! -d "$REPO_DIR/.git" ]]; then + printf 'No installation found at %s. Run install first.\n' "$REPO_DIR" >&2 + exit 1 + fi + git -C "$REPO_DIR" pull --ff-only + printf '✓ Updated.\n' +} + +usage() { + cat <] Install for (or prompt if omitted) + install.sh --update Pull latest changes (skills update through symlinks) + install.sh --uninstall Remove links for + install.sh --help + +Supported platforms: +$(platform_ids | sed 's/^/ - /') + +Environment: + UA_REPO_URL Override clone URL (default: official repo) + UA_DIR Override clone destination (default: \$HOME/.understand-anything/repo) +USAGE +} + +main() { + case "${1:-}" in + -h|--help) + usage + ;; + --update) + cmd_update + ;; + --uninstall) + shift + if [[ -z "${1:-}" ]]; then + printf '%s\n' '--uninstall requires a platform argument' >&2 + usage >&2 + exit 1 + fi + cmd_uninstall "$1" + ;; + "") + local id + id="$(prompt_platform)" + cmd_install "$id" + ;; + -*) + printf 'Unknown option: %s\n' "$1" >&2 + usage >&2 + exit 1 + ;; + *) + cmd_install "$1" + ;; + esac +} + +main "$@"