103 lines
2.9 KiB
Markdown
103 lines
2.9 KiB
Markdown
# Context7 Skill
|
|
|
|
## Purpose
|
|
|
|
Fetches **live, version-specific documentation** for external libraries and frameworks using the Context7 API. Ensures you always get current API patterns instead of potentially outdated training data.
|
|
|
|
**Golden Rule**: Always fetch live docs for external libraries—training data may be outdated.
|
|
|
|
## Quick Start
|
|
|
|
### Recommended: Use ExternalScout Subagent
|
|
|
|
The **ExternalScout** subagent is the recommended way to fetch external documentation. It handles:
|
|
- Library detection
|
|
- Query optimization
|
|
- Documentation filtering and sorting
|
|
- Formatted results with code examples
|
|
|
|
**Invocation**:
|
|
```
|
|
Use ExternalScout to fetch documentation for [Library Name]: [your specific question]
|
|
```
|
|
|
|
**Example**:
|
|
```
|
|
Use ExternalScout to fetch documentation for Drizzle ORM: How do I set up modular schemas with PostgreSQL?
|
|
```
|
|
|
|
### Alternative: Direct Skill Usage
|
|
|
|
You can also invoke the Context7 skill directly via bash:
|
|
|
|
```bash
|
|
# Step 1: Search for library
|
|
curl -s "https://context7.com/api/v2/libs/search?libraryName=LIBRARY&query=TOPIC" | jq '.results[0]'
|
|
|
|
# Step 2: Fetch documentation
|
|
curl -s "https://context7.com/api/v2/context?libraryId=LIBRARY_ID&query=OPTIMIZED_QUERY&type=txt"
|
|
```
|
|
|
|
See `SKILL.md` for detailed API documentation.
|
|
|
|
## Supported Libraries
|
|
|
|
See `library-registry.md` for the complete list of supported libraries including:
|
|
- **Database & ORM**: Drizzle, Prisma
|
|
- **Authentication**: Better Auth, NextAuth.js, Clerk
|
|
- **Frontend**: Next.js, React, TanStack Query/Router/Start
|
|
- **Infrastructure**: Cloudflare Workers, AWS Lambda, Vercel
|
|
- **UI**: Shadcn/ui, Radix UI, Tailwind CSS
|
|
- **State**: Zustand, Jotai
|
|
- **Validation**: Zod, React Hook Form
|
|
- **Testing**: Vitest, Playwright
|
|
|
|
## Workflow
|
|
|
|
```
|
|
User Query
|
|
↓
|
|
ContextScout (searches internal context)
|
|
↓
|
|
No internal context found
|
|
↓
|
|
ContextScout recommends ExternalScout
|
|
↓
|
|
ExternalScout invoked
|
|
├─ Reads library-registry.md
|
|
├─ Detects library
|
|
├─ Loads query patterns
|
|
├─ Fetches from Context7 API
|
|
├─ Filters & sorts results
|
|
└─ Returns formatted documentation
|
|
↓
|
|
User receives current, actionable docs
|
|
```
|
|
|
|
## Files
|
|
|
|
- **`SKILL.md`** - Context7 API documentation and usage
|
|
- **`library-registry.md`** - Supported libraries, aliases, and query patterns
|
|
- **`README.md`** - This file (overview and quick start)
|
|
|
|
## Adding New Libraries
|
|
|
|
To add a new library to the registry:
|
|
|
|
1. Edit `library-registry.md`
|
|
2. Add entry under appropriate category:
|
|
```markdown
|
|
#### Library Name
|
|
- **Aliases**: `alias1`, `alias2`, `package-name`
|
|
- **Docs**: https://example.com/docs
|
|
- **Context7**: `use context7 for library-name`
|
|
- **Common topics**: topic1, topic2, topic3
|
|
```
|
|
3. (Optional) Add query optimization patterns
|
|
4. ExternalScout will automatically detect the new library
|
|
|
|
## Related
|
|
|
|
- **ExternalScout**: `.opencode/agent/subagents/core/externalscout.md`
|
|
- **ContextScout**: `.opencode/agent/subagents/core/contextscout.md`
|