chore: install openagent opencode
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
This commit is contained in:
165
.opencode/context/core/workflows/external-libraries-faq.md
Normal file
165
.opencode/context/core/workflows/external-libraries-faq.md
Normal file
@@ -0,0 +1,165 @@
|
||||
<!-- Context: workflows/external-libraries-faq | Priority: medium | Version: 1.0 | Updated: 2026-02-05 -->
|
||||
# External Libraries: FAQ
|
||||
|
||||
**Purpose**: Troubleshooting and common questions about ExternalScout
|
||||
|
||||
---
|
||||
|
||||
## When exactly should I use ExternalScout?
|
||||
|
||||
**ALWAYS when working with external packages.**
|
||||
|
||||
**Triggers:**
|
||||
- User mentions library
|
||||
- `import`/`require` statements
|
||||
- package.json deps
|
||||
- Build errors
|
||||
- First-time setup
|
||||
- Version upgrades
|
||||
|
||||
**Rule**: If it's not in `.opencode/context/`, use ExternalScout.
|
||||
|
||||
---
|
||||
|
||||
## What if I already know the library?
|
||||
|
||||
**DON'T rely on training data - it's outdated.**
|
||||
|
||||
Example: You think "I know Next.js, I'll use pages/"
|
||||
Reality: Next.js 15 uses app/
|
||||
Result: Broken code ❌
|
||||
|
||||
**Always fetch current docs, even if you "know" the library.**
|
||||
|
||||
---
|
||||
|
||||
## How do I know if something is external?
|
||||
|
||||
**External:** npm/pip/gem/cargo packages | Third-party frameworks | ORMs | Auth libraries | UI libraries
|
||||
|
||||
**NOT external:** Your project's code | Project utilities | Internal modules
|
||||
|
||||
**Check:** Is it in `package.json` dependencies? → External → Use ExternalScout
|
||||
|
||||
---
|
||||
|
||||
## Can I use both ContextScout and ExternalScout?
|
||||
|
||||
**YES! Use both for most features.**
|
||||
|
||||
```javascript
|
||||
// 1. ContextScout: Project standards
|
||||
task(subagent_type="ContextScout", ...)
|
||||
|
||||
// 2. ExternalScout: Library docs
|
||||
task(subagent_type="ExternalScout", ...)
|
||||
|
||||
// 3. Combine: Implement using both
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## What if ExternalScout doesn't have the library?
|
||||
|
||||
ExternalScout has two sources:
|
||||
1. **Context7 API** (primary): 50+ popular libraries
|
||||
2. **Official docs** (fallback): Any library with public docs
|
||||
|
||||
If library not in Context7: Auto-fallback to official docs via webfetch.
|
||||
|
||||
---
|
||||
|
||||
## How do I write a good ExternalScout prompt?
|
||||
|
||||
**Template:**
|
||||
```javascript
|
||||
task(
|
||||
subagent_type="ExternalScout",
|
||||
description="Fetch [Library] docs for [specific topic]",
|
||||
prompt="Fetch current documentation for [Library]: [specific question]
|
||||
|
||||
Focus on:
|
||||
- [What you need - be specific]
|
||||
- [Related features/APIs]
|
||||
|
||||
Context: [What you're building]"
|
||||
)
|
||||
```
|
||||
|
||||
**Good:** ✅ Specific | ✅ Focused (3-5 things) | ✅ Contextual
|
||||
**Bad:** ❌ Vague | ❌ Too broad | ❌ No context
|
||||
|
||||
---
|
||||
|
||||
## What if I get an error after using ExternalScout?
|
||||
|
||||
**Process:**
|
||||
1. Read error message carefully
|
||||
2. ExternalScout again with specific error:
|
||||
```javascript
|
||||
task(
|
||||
subagent_type="ExternalScout",
|
||||
description="Fetch docs for error resolution",
|
||||
prompt="Fetch [Library] docs: [error message]
|
||||
Error: [paste actual error]
|
||||
Focus on: Common causes | Solutions"
|
||||
)
|
||||
```
|
||||
3. Check install scripts (maybe setup incomplete)
|
||||
4. Verify versions (package.json vs docs)
|
||||
|
||||
---
|
||||
|
||||
## Do I need approval to use ExternalScout?
|
||||
|
||||
**NO - ExternalScout is read-only, no approval required.**
|
||||
|
||||
**Approval required:** ❌ Write code | ❌ Run commands | ❌ Install packages
|
||||
**No approval:** ✅ ContextScout | ✅ ExternalScout | ✅ Read files
|
||||
|
||||
---
|
||||
|
||||
## ContextScout vs ExternalScout?
|
||||
|
||||
| Aspect | ContextScout | ExternalScout |
|
||||
|--------|--------------|---------------|
|
||||
| **Searches** | Internal project files | External documentation |
|
||||
| **Location** | `.opencode/context/` | Internet (Context7, docs) |
|
||||
| **Returns** | Project standards | Library APIs |
|
||||
| **Use for** | "How we do things here" | "How this library works" |
|
||||
| **Speed** | Fast (local) | Slower (network) |
|
||||
|
||||
**Use both together for best results.**
|
||||
|
||||
---
|
||||
|
||||
## Quick Checklist
|
||||
|
||||
Before implementing with external libraries:
|
||||
|
||||
- [ ] Used ContextScout for project standards?
|
||||
- [ ] Checked for install scripts first?
|
||||
- [ ] Used ExternalScout for EACH external library?
|
||||
- [ ] Asked for installation steps?
|
||||
- [ ] Asked for current API patterns?
|
||||
- [ ] Read returned docs before coding?
|
||||
|
||||
**All checked? → You're doing it right! ✅**
|
||||
|
||||
---
|
||||
|
||||
## Supported Libraries
|
||||
|
||||
**See**: `.opencode/skills/context7/library-registry.md`
|
||||
|
||||
**Categories:** Database/ORM | Auth | Frontend | Infrastructure | UI | State | Validation | Testing
|
||||
|
||||
Not listed? ExternalScout can still fetch from official docs.
|
||||
|
||||
---
|
||||
|
||||
## Related
|
||||
|
||||
- `external-libraries-workflow.md` - Core workflow
|
||||
- `external-libraries-scenarios.md` - Common scenarios
|
||||
- `.opencode/agent/subagents/core/externalscout.md` - ExternalScout agent
|
||||
Reference in New Issue
Block a user