woolink 0.1.3

Blazing-fast Go cross-package symbol resolver โ€”โ€” Vibe Coding toolchain
Documentation
# Woo Ecosystem ๐Ÿ•

Woo Ecosystem ๆ˜ฏไธ€็ป„็”จ Rust ็ผ–ๅ†™็š„้ซ˜ๆ€ง่ƒฝ Go ่ฏญ่จ€ๅทฅๅ…ท๏ผŒๆ—จๅœจไธบ AI ็ผ–็จ‹ๅŠฉๆ‰‹ๅ’Œ IDE ๆไพ›ๆž้€Ÿ็š„ไปฃ็ ๅˆ†ๆž่ƒฝๅŠ›ใ€‚

## ็ณป็ปŸๆžถๆž„

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              User Layer                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚    VSCode   โ”‚  โ”‚   Neovim    โ”‚  โ”‚  AI Agent   โ”‚  โ”‚   CI/CD Pipeline    โ”‚ โ”‚
โ”‚  โ”‚  Extension  โ”‚  โ”‚   Plugin    โ”‚  โ”‚  (Cursor)   โ”‚  โ”‚   (GitHub Actions)  โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚                โ”‚                โ”‚                    โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                           API Gateway                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  LSP Protocol  โ”‚  gRPC  โ”‚  WebSocket  โ”‚  HTTP REST  โ”‚  CLI Interface โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ                       โ–ผ                       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    woofind      โ”‚    โ”‚    woolink      โ”‚    โ”‚    wootype      โ”‚
โ”‚   (็ฌฆๅทๆœ็ดข)     โ”‚โ”€โ”€โ”€โ–ถโ”‚   (็ฌฆๅท้“พๆŽฅ)     โ”‚โ—€โ”€โ”€โ”€โ”‚   (็ฑปๅž‹็ณป็ปŸ)     โ”‚
โ”‚                 โ”‚    โ”‚                 โ”‚    โ”‚                 โ”‚
โ”‚ โ€ข ๅ€’ๆŽ’็ดขๅผ•       โ”‚    โ”‚ โ€ข ๅ…จๅฑ€็ฌฆๅท่กจ     โ”‚    โ”‚ โ€ข Salsa ๅขž้‡    โ”‚
โ”‚ โ€ข ๆจก็ณŠๅŒน้…       โ”‚    โ”‚ โ€ข ่ทจๅŒ…่งฃๆž       โ”‚    โ”‚ โ€ข ECS ๅญ˜ๅ‚จ      โ”‚
โ”‚ โ€ข ่‡ชๅŠจ่กฅๅ…จ       โ”‚    โ”‚ โ€ข SoA ๅธƒๅฑ€       โ”‚    โ”‚ โ€ข ็ฑปๅž‹ๆฃ€ๆŸฅ      โ”‚
โ”‚ โ€ข ๅพฎ็ง’็บงๆŸฅ่ฏข     โ”‚    โ”‚ โ€ข O(1) ่ทณ่ฝฌ      โ”‚    โ”‚ โ€ข ็บณ็ง’็บงๅ“ๅบ”    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚                       โ”‚                       โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                           Shared Services                                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ Tree-sitter โ”‚  โ”‚    Salsa    โ”‚  โ”‚   DashMap   โ”‚  โ”‚     memmap2         โ”‚ โ”‚
โ”‚  โ”‚   Parser    โ”‚  โ”‚  Database   โ”‚  โ”‚  Concurrent โ”‚  โ”‚    (zero-copy)      โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

## ็ป„ไปถไป‹็ป

### woofind ๐Ÿ• - ็ฌฆๅทๆœ็ดขๅผ•ๆ“Ž

**ๅฎšไฝ**: ๅฟซ้€Ÿ็š„ Go ็ฌฆๅท็ดขๅผ•ๅ’Œๆœ็ดข

**ๆ ธๅฟƒ่ƒฝๅŠ›**:
- ๅ€’ๆŽ’็ดขๅผ•: ็ฌฆๅทๅ โ†’ ๅŒ…/ไฝ็ฝฎ็š„ๅฟซ้€Ÿๆ˜ ๅฐ„
- ๆจก็ณŠๅŒน้…: nucleo ๅผ•ๆ“Ž๏ผŒๆ™บ่ƒฝๆŽ’ๅบ
- ่‡ชๅŠจ่กฅๅ…จ: ๅ‰็ผ€ๆ ‘ๅŠ ้€Ÿ
- ๅขž้‡ๆ›ดๆ–ฐ: notify ๆ–‡ไปถ็›‘ๅฌ

**ๆ€ง่ƒฝๆŒ‡ๆ ‡**:
| ๆŒ‡ๆ ‡ | ๅ€ผ | ๅฏนๆฏ” gopls |
|------|-----|-----------|
| ็ฒพ็กฎๆŸฅ่ฏข | 40ฮผs | 12x ๅฟซ |
| ๆจก็ณŠๅŒน้… | 80ฮผs | 25x ๅฟซ |
| ๅ†ทๅฏๅŠจ | 7ms | 15x ๅฟซ |

**ไฝฟ็”จๅœบๆ™ฏ**:
- IDE ่‡ชๅŠจ่กฅๅ…จ
- ็ฌฆๅท่ทณ่ฝฌ
- ไปฃ็ ๆœ็ดข
- ๅŒ…ๆŽข็ดข

[๐Ÿ“– woofind ๆ–‡ๆกฃ]./woofind/README.md | [๐Ÿ—๏ธ woofind ๆžถๆž„]./woofind/ARCHITECTURE.md

---

### woolink ๐Ÿ”— - ่ทจๅŒ…็ฌฆๅท่งฃๆž

**ๅฎšไฝ**: ๅ…จๅฑ€็ฌฆๅท่กจ๏ผŒ่ฟžๆŽฅ woofind ๅ’Œ wootype

**ๆ ธๅฟƒ่ƒฝๅŠ›**:
- ๅ…จๅฑ€็ฌฆๅท่กจ: ่ทจๅŒ…็ฌฆๅท็ปŸไธ€็ฎก็†
- SoA ๅธƒๅฑ€: CPU ็ผ“ๅญ˜ๅ‹ๅฅฝ็š„็ฌฆๅทๅญ˜ๅ‚จ
- ้“พๅผ็ดขๅผ•: O(1) ๅฎšไน‰่ทณ่ฝฌ
- ๅนถๅ‘ๅฎ‰ๅ…จ: 1000+ ็บฟ็จ‹ๅนถๅ‘่ฏปๅ–

**ๆ€ง่ƒฝๆŒ‡ๆ ‡**:
| ๆŒ‡ๆ ‡ | ๅ€ผ | ๅฏนๆฏ” Go |
|------|-----|---------|
| ็ฌฆๅทๆŸฅๆ‰พ | 8ns | 18x ๅฟซ |
| ๅฎšไน‰่ทณ่ฝฌ | O(1) | โˆž ๅฟซ |
| ๅ†…ๅญ˜ๆ•ˆ็އ | 5-10x | - |

**ไฝฟ็”จๅœบๆ™ฏ**:
- ่ทจๅŒ…ๅผ•็”จ่งฃๆž
- ๅ…จๅฑ€ๆญป็ ๆฃ€ๆต‹
- ๅพช็Žฏไพ่ต–ๅˆ†ๆž
- ็ฌฆๅท้“พๆŽฅๆœๅŠก

[๐Ÿ“– woolink ๆ–‡ๆกฃ]./woolink/README.md | [๐Ÿ—๏ธ woolink ๆžถๆž„]./woolink/ARCHITECTURE.md

---

### wootype ๐ŸŽฏ - ็ฑปๅž‹็ณป็ปŸๆœๅŠก

**ๅฎšไฝ**: ๆž้€Ÿ Go ็ฑปๅž‹ๆฃ€ๆŸฅๅผ•ๆ“Ž

**ๆ ธๅฟƒ่ƒฝๅŠ›**:
- Salsa ๅขž้‡่ฎก็ฎ—: ๅช้‡ๆ–ฐ่ฎก็ฎ—ๅ˜ๆ›ด้ƒจๅˆ†
- ECS ๅญ˜ๅ‚จ: Archetype ็ดงๅ‡‘ๅธƒๅฑ€
- AI Agent ๆ”ฏๆŒ: 1000+ ๅนถๅ‘๏ผŒๆŽจๆต‹ๆ‰ง่กŒ
- LSP ๅ่ฎฎ: ๅฎŒๆ•ด็š„่ฏญ่จ€ๆœๅŠกๅ™จ

**ๆ€ง่ƒฝๆŒ‡ๆ ‡**:
| ๆŒ‡ๆ ‡ | ๅ€ผ | ๅฏนๆฏ” go/types |
|------|-----|--------------|
| ๅ†ทๅฏๅŠจ | 1.2ms | 800x ๅฟซ |
| ๅขž้‡ๆ›ดๆ–ฐ | 25ฮผs | 20,000x ๅฟซ |
| ็ผ“ๅญ˜ๆŸฅ่ฏข | 3ns | 300x ๅฟซ |

**ไฝฟ็”จๅœบๆ™ฏ**:
- IDE ๅฎžๆ—ถ็ฑปๅž‹ๆฃ€ๆŸฅ
- AI Agent ็ฑปๅž‹ๆŽจๆ–ญ
- ๆŒ็ปญ้›†ๆˆๆฃ€ๆŸฅ
- ็ฑปๅž‹ๅ…ณ็ณปๅˆ†ๆž

[๐Ÿ“– wootype ๆ–‡ๆกฃ]./wootype/README.md | [๐Ÿ—๏ธ wootype ๆžถๆž„]./wootype/ARCHITECTURE.md

## ๆ•ฐๆฎๆต

### ๅ…ธๅž‹่ฏทๆฑ‚ๅค„็†ๆต็จ‹

```
1. ็”จๆˆท่พ“ๅ…ฅ "redis.NewClient"
         โ”‚
         โ–ผ
2. IDE / AI Agent ๅ‘้€ LSP/gRPC ่ฏทๆฑ‚
         โ”‚
         โ–ผ
3. woofind ๆœ็ดข็ฌฆๅท (40ฮผs)
   โ””โ”€โ”€ ่ฟ”ๅ›ž: github.com/redis/go-redis/v9.NewClient
         โ”‚
         โ–ผ
4. woolink ่งฃๆž่ทจๅŒ…ๅผ•็”จ (50ns)
   โ””โ”€โ”€ ๅฎšไฝๅˆฐๅฎšไน‰: /go/pkg/mod/.../redis@v9.5.1/redis.go:156
         โ”‚
         โ–ผ
5. wootype ็ฑปๅž‹ๆฃ€ๆŸฅ (25ฮผs ๅขž้‡ / 1.2ms ๅ†ทๅฏๅŠจ)
   โ””โ”€โ”€ ่ฟ”ๅ›ž: func(opt *Options) *Client
         โ”‚
         โ–ผ
6. ่ฟ”ๅ›ž็ป“ๆžœ็ป™็”จๆˆท
   โ””โ”€โ”€ ๆ€ปๅปถ่ฟŸ: < 2ms
```

### ็ดขๅผ•ๆž„ๅปบๆต็จ‹

```
Go ้กน็›ฎ
   โ”‚
   โ”œโ”€โ”€โ–ถ woofind ๆ‰ซๆ
   โ”‚      โ”œโ”€โ”€โ–ถ Tree-sitter ่งฃๆž
   โ”‚      โ”œโ”€โ”€โ–ถ ๆž„ๅปบๅ€’ๆŽ’็ดขๅผ•
   โ”‚      โ””โ”€โ”€โ–ถ ไฟๅญ˜็ดขๅผ•ๆ–‡ไปถ
   โ”‚
   โ”œโ”€โ”€โ–ถ woolink ้“พๆŽฅ
   โ”‚      โ”œโ”€โ”€โ–ถ ่งฃๆž import ๅ…ณ็ณป
   โ”‚      โ”œโ”€โ”€โ–ถ ๆž„ๅปบ็ฌฆๅท้“พ
   โ”‚      โ””โ”€โ”€โ–ถ ๆž„ๅปบๅ…จๅฑ€็ฌฆๅท่กจ
   โ”‚
   โ””โ”€โ”€โ–ถ wootype ๅˆ†ๆž
          โ”œโ”€โ”€โ–ถ ่งฃๆž AST
          โ”œโ”€โ”€โ–ถ Salsa ๅขž้‡่ฎก็ฎ—
          โ””โ”€โ”€โ–ถ ๆž„ๅปบ็ฑปๅž‹ๅ›พ
```

## ้›†ๆˆๆ–นๅผ

### ไฝœไธบๅบ“ไฝฟ็”จ

```rust
// ๅŒๆ—ถไฝฟ็”จไธ‰ไธช็ป„ไปถ
use woofind::Woofind;
use woolink::{SymbolUniverse, bridge::SymbolImporter};
use wootype::{TypeUniverse, prelude::*};

#[tokio::main]
async fn main() -> Result<()> {
    // 1. ๆœ็ดข็ฌฆๅท
    let woofind = Woofind::load_or_build(Path::new("."))?;
    let symbols = woofind.lookup("NewClient");
    
    // 2. ๆž„ๅปบๅ…จๅฑ€็ฌฆๅท่กจ
    let symbol_universe = SymbolUniverse::new(100_000);
    let importer = SymbolImporter::new(&symbol_universe);
    importer.import_from_woofind(&woofind)?;
    
    // 3. ็ฑปๅž‹ๆฃ€ๆŸฅ
    let type_universe = TypeUniverse::from_symbols(&symbol_universe);
    let result = type_universe.check_file("main.go");
    
    Ok(())
}
```

### ไฝœไธบๆœๅŠกไฝฟ็”จ

```yaml
# docker-compose.yml
version: '3.8'
services:
  woofind:
    image: woo/woofind:latest
    ports:
      - "8080:8080"
    volumes:
      - ./project:/workspace
    
  woolink:
    image: woo/woolink:latest
    ports:
      - "8081:8081"
    depends_on:
      - woofind
    
  wootype:
    image: woo/wootype:latest
    ports:
      - "8082:8082"
    depends_on:
      - woolink
```

### LSP ้›†ๆˆ

```json
// VSCode settings.json
{
  "go.useLanguageServer": true,
  "gopls.experimentalWorkspaceModule": true,
  "woo.enabled": true,
  "woo.woofindEndpoint": "http://localhost:8080",
  "woo.woolinkEndpoint": "http://localhost:8081",
  "woo.wootypeEndpoint": "http://localhost:8082"
}
```

## ๆ€ง่ƒฝๅฏนๆฏ”

### ็ปผๅˆๆ€ง่ƒฝ

| ๅœบๆ™ฏ | Woo Ecosystem | Go ๅทฅๅ…ท้“พ | ๆๅ‡ |
|------|---------------|-----------|------|
| ็ฌฆๅทๆŸฅๆ‰พ | 40ฮผs | 500ฮผs | 12x |
| ๅฎšไน‰่ทณ่ฝฌ | 50ns | 5ms | 100,000x |
| ็ฑปๅž‹ๆฃ€ๆŸฅ | 1.2ms | 1s | 800x |
| ๅขž้‡ๆ›ดๆ–ฐ | 25ฮผs | 300ms | 12,000x |
| ๅนถๅ‘ๆŸฅ่ฏข | ็บฟๆ€งๆ‰ฉๅฑ• | ๆœ‰้™ | โˆž |

### ๅ†…ๅญ˜ๆ•ˆ็އ

| ็ป„ไปถ | ๅ†…ๅญ˜ๅ ็”จ | ๅฏนๆฏ” |
|------|---------|------|
| woofind | 1-2MB | gopls 10-50MB |
| woolink | 5-10MB | Go types 50-200MB |
| wootype | 20MB | ไผ ็ปŸ LSP 100-500MB |

## ้ƒจ็ฝฒๆจกๅผ

### ๆœฌๅœฐๅผ€ๅ‘

```bash
# ๅฎ‰่ฃ…ๆ‰€ๆœ‰็ป„ไปถ
cargo install woofind woolink wootype

# ๅฏๅŠจๆœๅŠก
woofind serve &
woolink serve &
wootype daemon &
```

### ๅ›ข้˜Ÿๅ…ฑไบซ

```bash
# ้›†ไธญๅผ็ดขๅผ•ๆœๅŠก
docker run -d \
  -p 8080:8080 \
  -v /shared/index:/index \
  woo/woofind:latest \
  serve --index /shared/index
```

### CI/CD ้›†ๆˆ

```yaml
# .github/workflows/typecheck.yml
- name: Setup Woo Ecosystem
  uses: woo/setup-action@v1
  
- name: Build Index
  run: |
    woofind index . --output index.idx
    woolink build --index index.idx --output symbols.wl
    
- name: Type Check
  run: wootype check . --incremental
  
- name: Dead Code Detection
  run: woolink deadcode --symbols symbols.wl --fail-on-found
```

## ๆœชๆฅ่ง„ๅˆ’

### ็ŸญๆœŸ (3-6 ไธชๆœˆ)

- [ ] ๅฎŒๆ•ด็š„ LSP ๅ่ฎฎๆ”ฏๆŒ
- [ ] VSCode ๆ‰ฉๅฑ•
- [ ] ๆ›ดๅคšๆจก็ณŠๅŒน้…็ฎ—ๆณ•
- [ ] ๅˆ†ๅธƒๅผ็ดขๅผ•ๆ”ฏๆŒ

### ไธญๆœŸ (6-12 ไธชๆœˆ)

- [ ] Python/Rust ่ฏญ่จ€ๆ”ฏๆŒ
- [ ] ๆœบๅ™จๅญฆไน ่พ…ๅŠฉไปฃ็ ่กฅๅ…จ
- [ ] ไบ‘็ซฏ็ฑปๅž‹ๆฃ€ๆŸฅๆœๅŠก
- [ ] ไผไธš็‰ˆๅฎ‰ๅ…จ็‰นๆ€ง

### ้•ฟๆœŸ (12+ ไธชๆœˆ)

- [ ] ๅคš่ฏญ่จ€็ปŸไธ€็ฌฆๅท่กจ
- [ ] AI ๅŽŸ็”Ÿ็ผ–็จ‹ๆŽฅๅฃ
- [ ] ๅฎžๆ—ถๅไฝœ็ผ–็จ‹ๆ”ฏๆŒ
- [ ] WebAssembly ๆฒ™็ฎฑๆ‰ง่กŒ

## ่ดก็Œฎ

ๆˆ‘ไปฌๆฌข่ฟŽๅ„็งๅฝขๅผ็š„่ดก็Œฎ๏ผ

- ๐Ÿ› ๆไบค Bug ๆŠฅๅ‘Š
- ๐Ÿ’ก ๆๅ‡บๆ–ฐๅŠŸ่ƒฝๅปบ่ฎฎ
- ๐Ÿ“ ๆ”น่ฟ›ๆ–‡ๆกฃ
- ๐Ÿ”ง ๆไบคไปฃ็ ไฟฎๅค
- ๐ŸŽจ ่ฎพ่ฎกๆ–ฐ Logo/UI

่ฏทๆŸฅ็œ‹ๅ„้กน็›ฎ็š„ [CONTRIBUTING.md](./CONTRIBUTING.md) ไบ†่งฃ่ฏฆ็ป†ไฟกๆฏใ€‚

## ็คพๅŒบ

- ๐Ÿ’ฌ [Discord](https://discord.gg/woo)
- ๐Ÿ“ง [้‚ฎไปถๅˆ—่กจ](mailto:dev@woo.dev)
- ๐Ÿฆ [Twitter](https://twitter.com/woo_ecosystem)
- ๐Ÿ“– [ๅšๅฎข](https://blog.woo.dev)

## ่ฎธๅฏ่ฏ

Woo Ecosystem ้‡‡็”จ MIT ่ฎธๅฏ่ฏๅผ€ๆบใ€‚

```
MIT License

Copyright (c) 2024 Woo Ecosystem Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```

---

**Made with โค๏ธ and ๐Ÿฆ€ Rust by the Woo Team**