mirror of
https://github.com/Egonex-AI/Understand-Anything.git
synced 2026-06-22 10:58:03 +08:00
docs: revise implementation plan — minimal restructure, move platform configs to root
Replace full flatten approach with minimal restructure: only move platform config directories (.codex, .opencode, .openclaw) to repo root for discovery. Add Cursor/Claude plugin descriptors. Remove Gemini extension. Keep all plugin source code inside understand-anything-plugin/. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
4ea55cd6fc
commit
2779408569
@@ -4,9 +4,9 @@
|
||||
|
||||
**Goal:** Make Understand-Anything skills work across Codex, OpenClaw, OpenCode, and Cursor — same files everywhere, no build step.
|
||||
|
||||
**Architecture:** Move 5 pipeline agents into `skills/understand/` as prompt templates. Create a reusable `knowledge-graph-guide` agent. Add per-platform INSTALL.md files for AI-driven installation.
|
||||
**Architecture:** Move 5 pipeline agents into `skills/understand/` as prompt templates. Create a reusable `knowledge-graph-guide` agent. Move per-platform config directories to repo root for auto-discovery. Add Cursor and Claude plugin descriptors.
|
||||
|
||||
**Tech Stack:** Markdown (SKILL.md, INSTALL.md), YAML frontmatter, Bash (symlink/clone commands in install docs).
|
||||
**Tech Stack:** Markdown (SKILL.md, INSTALL.md), YAML frontmatter, JSON (plugin descriptors), Bash (symlink/clone commands in install docs).
|
||||
|
||||
**Design Doc:** `docs/plans/2026-03-18-multi-platform-simple-design.md`
|
||||
|
||||
@@ -376,332 +376,185 @@ git commit -m "feat: add knowledge-graph-guide agent for graph navigation and qu
|
||||
|
||||
---
|
||||
|
||||
### Task 4: Create platform INSTALL.md files
|
||||
### Task 4: Move platform INSTALL.md files to repo root
|
||||
|
||||
**Files:**
|
||||
- Create: `understand-anything-plugin/.codex/INSTALL.md`
|
||||
- Create: `understand-anything-plugin/.opencode/INSTALL.md`
|
||||
- Create: `understand-anything-plugin/.openclaw/INSTALL.md`
|
||||
- Create: `understand-anything-plugin/.cursor/INSTALL.md`
|
||||
- Move: `understand-anything-plugin/.codex/INSTALL.md` → `.codex/INSTALL.md`
|
||||
- Move: `understand-anything-plugin/.opencode/INSTALL.md` → `.opencode/INSTALL.md`
|
||||
- Move: `understand-anything-plugin/.openclaw/INSTALL.md` → `.openclaw/INSTALL.md`
|
||||
- Delete: `understand-anything-plugin/.cursor/INSTALL.md` (replaced by `.cursor-plugin/plugin.json`)
|
||||
|
||||
**Step 1: Create .codex/INSTALL.md**
|
||||
|
||||
```markdown
|
||||
# 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 symlink:**
|
||||
```bash
|
||||
mkdir -p ~/.agents/skills
|
||||
ln -s ~/.codex/understand-anything/understand-anything-plugin/skills ~/.agents/skills/understand-anything
|
||||
```
|
||||
|
||||
**Windows (PowerShell):**
|
||||
```powershell
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills"
|
||||
cmd /c mklink /J "$env:USERPROFILE\.agents\skills\understand-anything" "$env:USERPROFILE\.codex\understand-anything\understand-anything-plugin\skills"
|
||||
```
|
||||
|
||||
3. **Restart Codex** to discover the skills.
|
||||
|
||||
## Verify
|
||||
**Step 1: Move the three platform directories to root**
|
||||
|
||||
```bash
|
||||
ls -la ~/.agents/skills/understand-anything
|
||||
cd /Users/yuxianglin/Desktop/opensource/Understand-Anything
|
||||
git mv understand-anything-plugin/.codex ./.codex
|
||||
git mv understand-anything-plugin/.opencode ./.opencode
|
||||
git mv understand-anything-plugin/.openclaw ./.openclaw
|
||||
```
|
||||
|
||||
You should see a symlink pointing to the skills directory.
|
||||
|
||||
## 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
|
||||
**Step 2: Delete .cursor/ (replaced by .cursor-plugin/ in Task 5)**
|
||||
|
||||
```bash
|
||||
cd ~/.codex/understand-anything && git pull
|
||||
git rm -r understand-anything-plugin/.cursor/
|
||||
```
|
||||
|
||||
Skills update instantly through the symlink.
|
||||
**Step 3: Verify symlink paths are correct**
|
||||
|
||||
## Uninstalling
|
||||
Read each INSTALL.md. The symlink paths should reference `understand-anything-plugin/skills` — this is still correct since the skills directory remains inside the plugin wrapper.
|
||||
|
||||
**Step 4: Commit**
|
||||
|
||||
```bash
|
||||
rm ~/.agents/skills/understand-anything
|
||||
rm -rf ~/.codex/understand-anything
|
||||
```
|
||||
```
|
||||
|
||||
**Step 2: Create .opencode/INSTALL.md**
|
||||
|
||||
```markdown
|
||||
# Installing Understand-Anything for OpenCode
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [OpenCode.ai](https://opencode.ai) installed
|
||||
|
||||
## Installation
|
||||
|
||||
Add understand-anything to the `plugin` array in your `opencode.json` (global or project-level):
|
||||
|
||||
```json
|
||||
{
|
||||
"plugin": ["understand-anything@git+https://github.com/Lum1104/Understand-Anything.git"]
|
||||
}
|
||||
```
|
||||
|
||||
Restart OpenCode. The plugin auto-installs and registers all skills.
|
||||
|
||||
## Verify
|
||||
|
||||
Ask: "List available skills" — you should see understand, understand-chat, understand-dashboard, etc.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
use skill tool to load understand-anything/understand
|
||||
```
|
||||
|
||||
Or just ask: "Analyze this codebase and build a knowledge graph"
|
||||
|
||||
## Updating
|
||||
|
||||
Restart OpenCode — the plugin re-installs from git automatically.
|
||||
|
||||
## Uninstalling
|
||||
|
||||
Remove the plugin line from `opencode.json` and restart.
|
||||
```
|
||||
|
||||
**Step 3: Create .openclaw/INSTALL.md**
|
||||
|
||||
```markdown
|
||||
# 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 symlink:**
|
||||
```bash
|
||||
mkdir -p ~/.openclaw/skills
|
||||
ln -s ~/.openclaw/understand-anything/understand-anything-plugin/skills ~/.openclaw/skills/understand-anything
|
||||
```
|
||||
|
||||
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 -rf ~/.openclaw/understand-anything
|
||||
```
|
||||
```
|
||||
|
||||
**Step 4: Create .cursor/INSTALL.md**
|
||||
|
||||
```markdown
|
||||
# Installing Understand-Anything for Cursor
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Git
|
||||
|
||||
## Installation
|
||||
|
||||
1. **Clone the repository:**
|
||||
```bash
|
||||
git clone https://github.com/Lum1104/Understand-Anything.git ~/.cursor/understand-anything
|
||||
```
|
||||
|
||||
2. **Create the plugin symlink:**
|
||||
```bash
|
||||
mkdir -p ~/.cursor/plugins
|
||||
ln -s ~/.cursor/understand-anything/understand-anything-plugin ~/.cursor/plugins/understand-anything
|
||||
```
|
||||
|
||||
3. **Restart Cursor** to discover the plugin.
|
||||
|
||||
## Usage
|
||||
|
||||
Skills activate automatically when relevant. Use `/understand` to analyze a codebase.
|
||||
|
||||
## Updating
|
||||
|
||||
```bash
|
||||
cd ~/.cursor/understand-anything && git pull
|
||||
```
|
||||
|
||||
## Uninstalling
|
||||
|
||||
```bash
|
||||
rm ~/.cursor/plugins/understand-anything
|
||||
rm -rf ~/.cursor/understand-anything
|
||||
```
|
||||
```
|
||||
|
||||
**Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add understand-anything-plugin/.codex/ understand-anything-plugin/.opencode/ understand-anything-plugin/.openclaw/ understand-anything-plugin/.cursor/
|
||||
git commit -m "feat: add per-platform INSTALL.md for AI-driven installation"
|
||||
git add -A
|
||||
git commit -m "refactor: move platform config directories to repo root for discovery"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Task 5: Update README with multi-platform section
|
||||
### Task 5: Add plugin descriptors
|
||||
|
||||
**Files:**
|
||||
- Modify: `README.md`
|
||||
- Create: `.cursor-plugin/plugin.json`
|
||||
- Create: `.claude-plugin/plugin.json`
|
||||
|
||||
**Step 1: Read the current README**
|
||||
**Step 1: Create `.cursor-plugin/plugin.json`**
|
||||
|
||||
Read `README.md` in full to find where the installation section is.
|
||||
|
||||
**Step 2: Add multi-platform section after the existing Quick Start**
|
||||
|
||||
Add a new section titled "Multi-Platform Installation" with this content:
|
||||
|
||||
```markdown
|
||||
## 🌐 Multi-Platform Installation
|
||||
|
||||
Understand-Anything works across multiple AI coding platforms.
|
||||
|
||||
### Claude Code (Native)
|
||||
|
||||
```bash
|
||||
/plugin marketplace add Lum1104/Understand-Anything
|
||||
/plugin install understand-anything
|
||||
```
|
||||
|
||||
### Codex
|
||||
|
||||
Tell Codex:
|
||||
```
|
||||
Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/understand-anything-plugin/.codex/INSTALL.md
|
||||
```
|
||||
|
||||
### OpenCode
|
||||
|
||||
Add to your `opencode.json`:
|
||||
```json
|
||||
{
|
||||
"plugin": ["understand-anything@git+https://github.com/Lum1104/Understand-Anything.git"]
|
||||
"name": "understand-anything",
|
||||
"displayName": "Understand Anything",
|
||||
"description": "AI-powered codebase understanding — analyze, visualize, and explain any project",
|
||||
"version": "1.0.5",
|
||||
"author": { "name": "Lum1104" },
|
||||
"homepage": "https://github.com/Lum1104/Understand-Anything",
|
||||
"repository": "https://github.com/Lum1104/Understand-Anything",
|
||||
"license": "MIT",
|
||||
"keywords": ["codebase-analysis", "knowledge-graph", "architecture", "onboarding", "dashboard"],
|
||||
"skills": "./understand-anything-plugin/skills/",
|
||||
"agents": "./understand-anything-plugin/agents/"
|
||||
}
|
||||
```
|
||||
|
||||
### OpenClaw
|
||||
Note: paths point into `understand-anything-plugin/` since the source stays nested.
|
||||
|
||||
Tell OpenClaw:
|
||||
```
|
||||
Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/understand-anything-plugin/.openclaw/INSTALL.md
|
||||
```
|
||||
**Step 2: Create `.claude-plugin/plugin.json`**
|
||||
|
||||
### Cursor
|
||||
|
||||
Tell Cursor:
|
||||
```
|
||||
Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/understand-anything-plugin/.cursor/INSTALL.md
|
||||
```
|
||||
|
||||
### Platform Compatibility
|
||||
|
||||
| Platform | Status | Install Method |
|
||||
|----------|--------|----------------|
|
||||
| Claude Code | ✅ Native | Plugin marketplace |
|
||||
| Codex | ✅ Supported | AI-driven install |
|
||||
| OpenCode | ✅ Supported | Plugin config |
|
||||
| OpenClaw | ✅ Supported | AI-driven install |
|
||||
| Cursor | ✅ Supported | AI-driven install |
|
||||
```json
|
||||
{
|
||||
"name": "understand-anything",
|
||||
"description": "AI-powered codebase understanding — analyze, visualize, and explain any project",
|
||||
"version": "1.0.5",
|
||||
"author": { "name": "Lum1104" },
|
||||
"homepage": "https://github.com/Lum1104/Understand-Anything",
|
||||
"repository": "https://github.com/Lum1104/Understand-Anything",
|
||||
"license": "MIT",
|
||||
"keywords": ["codebase-analysis", "knowledge-graph", "architecture", "onboarding", "dashboard"]
|
||||
}
|
||||
```
|
||||
|
||||
**Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add README.md
|
||||
git commit -m "docs: add multi-platform installation instructions to README"
|
||||
git add .cursor-plugin/ .claude-plugin/plugin.json
|
||||
git commit -m "feat: add Cursor and Claude plugin descriptors for auto-discovery"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Task 6: Verify everything works
|
||||
### Task 6: Update README with corrected multi-platform URLs
|
||||
|
||||
**Step 1: Check file structure**
|
||||
**Files:**
|
||||
- Modify: `README.md`
|
||||
|
||||
**Step 1: Read current README**
|
||||
|
||||
Read `README.md` in full.
|
||||
|
||||
**Step 2: Update raw GitHub URLs for INSTALL.md files**
|
||||
|
||||
The INSTALL.md files moved from `understand-anything-plugin/.codex/INSTALL.md` to `.codex/INSTALL.md`. Update all raw GitHub URLs:
|
||||
|
||||
```
|
||||
OLD: .../refs/heads/main/understand-anything-plugin/.codex/INSTALL.md
|
||||
NEW: .../refs/heads/main/.codex/INSTALL.md
|
||||
|
||||
OLD: .../refs/heads/main/understand-anything-plugin/.openclaw/INSTALL.md
|
||||
NEW: .../refs/heads/main/.openclaw/INSTALL.md
|
||||
|
||||
OLD: .../refs/heads/main/understand-anything-plugin/.opencode/INSTALL.md
|
||||
NEW: .../refs/heads/main/.opencode/INSTALL.md
|
||||
```
|
||||
|
||||
**Step 3: Replace Cursor section**
|
||||
|
||||
Replace the Cursor AI-driven install section with:
|
||||
|
||||
```markdown
|
||||
### Cursor
|
||||
|
||||
Cursor auto-discovers the plugin via `.cursor-plugin/plugin.json` when this repo is cloned. No manual installation needed — just clone and open in Cursor.
|
||||
```
|
||||
|
||||
**Step 4: Commit**
|
||||
|
||||
```bash
|
||||
git add README.md
|
||||
git commit -m "docs: update multi-platform URLs after moving configs to root"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Task 7: Verify everything works
|
||||
|
||||
**Step 1: Check platform configs at root**
|
||||
|
||||
```bash
|
||||
ls .codex/INSTALL.md .opencode/INSTALL.md .openclaw/INSTALL.md
|
||||
ls .cursor-plugin/plugin.json .claude-plugin/plugin.json
|
||||
```
|
||||
|
||||
All should exist.
|
||||
|
||||
**Step 2: Verify plugin source is intact**
|
||||
|
||||
```bash
|
||||
ls understand-anything-plugin/skills/understand/
|
||||
ls understand-anything-plugin/agents/
|
||||
ls understand-anything-plugin/.codex/
|
||||
ls understand-anything-plugin/.opencode/
|
||||
ls understand-anything-plugin/.openclaw/
|
||||
ls understand-anything-plugin/.cursor/
|
||||
ls understand-anything-plugin/packages/
|
||||
```
|
||||
|
||||
Expected:
|
||||
- `skills/understand/`: SKILL.md + 5 *-prompt.md files
|
||||
- `agents/`: only `knowledge-graph-guide.md`
|
||||
- Each `.{platform}/`: INSTALL.md
|
||||
Skills, agents, and packages should all still exist inside the wrapper.
|
||||
|
||||
**Step 2: Verify no old agent references remain in SKILL.md**
|
||||
**Step 3: Verify no platform configs remain inside the wrapper**
|
||||
|
||||
```bash
|
||||
grep -n "Dispatch the \*\*" understand-anything-plugin/skills/understand/SKILL.md
|
||||
ls understand-anything-plugin/.codex/ 2>/dev/null # should fail
|
||||
ls understand-anything-plugin/.cursor/ 2>/dev/null # should fail
|
||||
ls understand-anything-plugin/.opencode/ 2>/dev/null # should fail
|
||||
ls understand-anything-plugin/.openclaw/ 2>/dev/null # should fail
|
||||
```
|
||||
|
||||
Expected: 0 results.
|
||||
|
||||
**Step 3: Verify prompt templates don't have agent frontmatter**
|
||||
**Step 4: Run tests**
|
||||
|
||||
```bash
|
||||
head -3 understand-anything-plugin/skills/understand/project-scanner-prompt.md
|
||||
pnpm --filter @understand-anything/core build && pnpm --filter @understand-anything/core test
|
||||
```
|
||||
|
||||
Expected: Markdown header, NOT `---` YAML frontmatter.
|
||||
All tests should pass — only config files moved, not source code.
|
||||
|
||||
**Step 4: Verify knowledge-graph-guide has model: inherit**
|
||||
**Step 5: Verify marketplace.json is unchanged**
|
||||
|
||||
```bash
|
||||
grep "model:" understand-anything-plugin/agents/knowledge-graph-guide.md
|
||||
cat .claude-plugin/marketplace.json | grep source
|
||||
```
|
||||
|
||||
Expected: `model: inherit`
|
||||
Expected: `"source": "./understand-anything-plugin"` — unchanged, still correct.
|
||||
|
||||
**Step 5: Run existing tests to check nothing broke**
|
||||
**Step 6: Verify no stale raw GitHub URLs**
|
||||
|
||||
```bash
|
||||
cd understand-anything-plugin && pnpm test
|
||||
grep -r "understand-anything-plugin/\." README.md
|
||||
```
|
||||
|
||||
Expected: All tests pass (tests don't reference agent files directly).
|
||||
Expected: 0 results (no URLs pointing to old nested platform config locations).
|
||||
|
||||
Reference in New Issue
Block a user