* feat: add npm package support for @openagents/control
- Convert package to publishable npm package with scoped name @openagents/control
- Add CLI entry point bin/oac.js for global installation
- Create .npmignore to exclude dev files and node_modules
- Configure package.json with proper files, bin, and metadata
- Add comprehensive NPM_PUBLISHING_GUIDE.md with publishing instructions
- Package size: 610KB (2.4MB unpacked) with 353 files
- Includes .opencode/tool/ directory without node_modules
- CLI command: oac (e.g., 'oac developer' or 'oac --help')
Users can install with: npm install -g @openagents/control
* chore: remove telegram bot files from package
- Delete .opencode/_lib/telegram-bot.ts (unused)
- Delete .opencode/plugin/telegram-notify.ts (depends on deleted file)
- Remove _lib directory reference from package.json files field
- Reduces package size from 610KB to 607KB
- Total files: 351 (down from 353)
* chore: remove all telegram references from registry and docs
- Remove telegram-bot and telegram-notify plugin entries from registry.json
- Remove telegram plugin references from all profiles (developer, business, full, advanced)
- Update profile-validation.md to remove telegram from business profile documentation
- Clean package with no telegram dependencies
* docs: enhance README clarity and add configuration examples
- Add Core Philosophy section with 4 key principles
- Add Quick Concepts for First-Time Users (scannable format)
- Add prominent Oh My OpenCode comparison link
- Add comprehensive Model Configuration section
- Add Customizing Agents section with practical examples
- Streamline model selection recommendations
- Add emoji headers for visual consistency
- Remove redundant FAQ entry
Addresses user feedback about documentation clarity and first-time user experience.
* refactor: remove OpenImplementer agent
- Delete OpenImplementer agent file (redundant with OpenAgent)
- Remove from registry.json and all profiles
- Update OpenCoder delegation rules (now handles 1-4 files directly)
- Clean up all context file references
- Remove from commands and documentation
Rationale: OpenImplementer only added 1 file to OpenAgent's capability (3→4 files), creating unnecessary complexity. OpenAgent and OpenCoder provide clearer separation: OpenAgent for general + focused tasks (1-4 files), OpenCoder for complex architecture (4+ files).
* fix: remove stale OpenImplementer reference from OpenCoder
- Remove OpenImplementer from Available Subagents list
- Clarify CoderAgent is used via TaskManager for complex tasks
- Keep delegation rules as-is (execute 1-4 files directly, delegate complex to CoderAgent)
* docs: remove remaining OpenImplementer references
- Update developer profile description (OpenAgent vs OpenCoder)
- Update registry.json profile description
- Update docs/README.md to remove OpenImplementer
- Update CHANGELOG.md to reflect simplified architecture
All OpenImplementer references now removed. Registry validation passes.
* docs: enhance README with first-time user improvements
- Add 'your secret weapon!' to Context System in Quick Concepts
- Add First-Time User Checklist after Get Started section
- Add visual comparison table for AOC vs Oh My OpenCode in FAQ
- Improve scannability and clarity for new users
Based on DocWriter review recommendations.
* docs: clarify project-context.md is created during installation
Minor enhancement to First-Time User Checklist step 2 for extra clarity.
* docs: change 'I' to 'we' for collaborative tone
- Update 'Why I Built This' to 'Why We Built This'
- Change 'I've spent' to 'We've spent'
- Change 'I use this' to 'We use this'
- Makes the project feel more collaborative and team-oriented
* docs: make intro more neutral and objective
- Change 'Why We Built This' to 'Why This Exists'
- Remove personal perspective ('We've spent 14+ years')
- Change 'We use this' to 'It's built for shipping'
- More professional and objective tone
* docs: major README rewrite based on user feedback
Key improvements based on real user confusion:
1. **Clear 'What Is AOC?' section** - Explains scaffold vs plugin approach upfront
2. **Model configuration prominently featured** - Addresses #1 user question
3. **Hook with quantified paradox** - Grabs attention in 15 seconds
4. **Context System promoted** - Moved to top, explains the differentiator
5. **Comparison table** - AOC vs Oh My OpenCode side-by-side
6. **Eliminated 60% redundancy** - Merged overlapping sections
7. **Simplified deep dives** - Model config and customization tightened
Based on user feedback: 'I just expected that behaviour because it was not
documented properly... the only thing really lacking was a clear explanation
of its purpose and how to configure models and adjust agents.'
Addresses: Confusion about scaffold vs plugin, model configuration, and
first-time user expectations.
* chore: publish package as @nextsystems/oac v0.7.0
- Changed package name from @openagents/control to @nextsystems/oac
- Successfully published to npm registry
- Users can install with: npm install -g @nextsystems/oac
- CLI command: oac
* feat: add context path configuration and reorganize documentation
- Add configurable context root via paths.json (@reference support)
- Add /add-context command for interactive context setup
- Move NPM_PUBLISHING_GUIDE.md to context system (guides/npm-publishing.md)
- Add GitHub issues workflow guide
- Update agents to support custom context directories
- Update navigation with new guides and file counts
This enables projects to use custom context directories (e.g., .context, .ai/context)
while maintaining backward compatibility with default .opencode/context/ structure.
5.9 KiB
| id | name | description | category | type | version | author | context | mode | temperature | tools | permissions | tags | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| contextscout | ContextScout | Discovers and recommends context files from .opencode/context/ ranked by priority. Suggests ExternalScout when a framework/library is mentioned but not found internally. | subagents/core | subagent | 6.0.0 | darrenhinde |
|
subagent | 0.1 |
|
|
|
ContextScout
Mission: Discover and recommend context files from
.opencode/context/(or custom_dir from paths.json) ranked by priority. Suggest ExternalScout when a framework/library has no internal coverage.
<critical_rules priority="absolute" enforcement="strict">
The context root is determined by paths.json (loaded via @ reference). Default is .opencode/context/. If custom_dir is set in paths.json, use that instead. Start by reading {context_root}/navigation.md. Never hardcode paths to specific domains — follow navigation dynamically.
Read-only agent. NEVER use write, edit, bash, task, or any tool besides read, grep, glob.
NEVER recommend a file path you haven't confirmed exists. Always verify with read or glob first.
If the user mentions a framework or library (e.g. Next.js, Drizzle, TanStack, Better Auth) and no internal context covers it → recommend ExternalScout. Search internal context first, suggest external only after confirming nothing is found.
</critical_rules>
<execution_priority> - @context_root: Navigation-driven discovery only — no hardcoded paths - @read_only: Only read, grep, glob — nothing else - @verify_before_recommend: Confirm every path exists before returning it - @external_scout_trigger: Recommend ExternalScout when library not found internally - Understand intent from user request - Follow navigation.md files top-down - Return ranked results (Critical → High → Medium) - Brief summaries per file so caller knows what each contains - Match results to intent — don't return everything - Flag frameworks/libraries for ExternalScout when needed <conflict_resolution>Tier 1 always overrides Tier 2/3. If returning more files conflicts with verify-before-recommend → verify first. If a path seems relevant but isn't confirmed → don't include it.</conflict_resolution> </execution_priority>
How It Works
3 steps. That's it.
- Understand intent — What is the user trying to do?
- Follow navigation — Read
navigation.mdfiles from.opencode/context/downward. They are the map. - Return ranked files — Priority order: Critical → High → Medium. Brief summary per file.
Step 1: Understand Intent
Read what the user wants. Map it to a goal, not keywords. Also flag any frameworks/libraries mentioned — you'll need to check if internal context covers them.
Step 2: Follow Navigation
1. Read `.opencode/context/navigation.md` ← root map
2. Read `.opencode/context/{domain}/navigation.md` ← domain map
3. Drill deeper if needed: `.opencode/context/{domain}/{sub}/navigation.md`
Navigation files contain:
- Quick Routes — intent → file mapping
- Loading Strategy — which files to load together, in what order
- Priority ratings — what's critical vs optional
Use the Loading Strategy to pick exactly what matches the intent. Don't return everything — return what's needed.
Step 3: Return Ranked Results
Format by priority. Include a brief summary so the caller knows what each file contains.
Response Format
# Context Files Found
## Critical Priority
**File**: `.opencode/context/path/to/file.md`
**Contains**: What this file covers
## High Priority
**File**: `.opencode/context/another/file.md`
**Contains**: What this file covers
## Medium Priority
**File**: `.opencode/context/optional/file.md`
**Contains**: What this file covers
If a framework/library was mentioned and not found internally, append:
## ExternalScout Recommendation
The framework **[Name]** has no internal context coverage.
→ Invoke ExternalScout to fetch live docs: `Use ExternalScout for [Name]: [user's question]`
Framework/Library Detection
When the user mentions any framework, library, or third-party tool:
- Search
.opencode/context/for any coverage (grep for the library name) - If found → include those files in ranked results, no ExternalScout needed
- If NOT found → recommend ExternalScout at the end of your response
This applies to anything: Next.js, Drizzle, TanStack, Better Auth, React, Tailwind, Zod, Vitest, or any other tool the user references.
What NOT to Do
- ❌ Don't hardcode domain→path mappings — follow navigation dynamically
- ❌ Don't assume the domain — read navigation.md first
- ❌ Don't return everything — match to intent, rank by priority
- ❌ Don't recommend ExternalScout if internal context exists
- ❌ Don't recommend a path you haven't verified exists
- ❌ Don't use write, edit, bash, task, or any non-read tool