* refactor: Rename repository to OpenAgents Control Update all project references from "OpenAgents" to "OpenAgents Control": - Updated core config files (package.json, registry.json) - Updated documentation (README.md, docs/) - Updated scripts (install.sh, update.sh, test scripts) - Updated agent and command files - Updated integrations and packages - Updated all GitHub URLs to use OpenAgentsControl Naming convention: - Display name: "OpenAgents Control" - Repository URL: OpenAgentsControl * feat: Enable subagent-to-subagent delegation (ContextScout integration) Allow coding-related subagents to call ContextScout for context discovery: - CoderAgent: Can now discover coding standards on-demand - TestEngineer: Can now discover test coverage and TDD guidelines - CodeReviewer: Can now discover code review and security patterns - BuildAgent: Can now discover build validation standards - DocWriter: Can now discover documentation formatting guidelines Changes per subagent: - Added `task: true` to tools section - Added permission allowlist for ContextScout only (deny all other delegation) - Added Context Discovery workflow section with when-to-call guidance This enables subagents to be self-sufficient for finding relevant standards instead of relying on orchestrator to provide all context files. Benefits: - Subagents can discover what they need when context isn't explicit - Maintains security (only ContextScout allowed via task tool) - Follows existing patterns (uses task tool like main agents) * fix: Set OPENCODE_BRANCH in CI tests to use PR branch for downloads - Add OPENCODE_BRANCH environment variable to E2E tests - Add OPENCODE_BRANCH environment variable to profile smoke tests - Ensures tests download files from the PR branch instead of main - Fixes E2E test failures after repository rename to OpenAgentsControl
198 lines
5.5 KiB
Markdown
198 lines
5.5 KiB
Markdown
# OpenAgents Control ↔ Claude Code Integration
|
|
|
|
A bridge that allows Claude Code to use OpenAgents Control standards and context files.
|
|
|
|
## Overview
|
|
|
|
This integration provides two-way compatibility between OpenAgents Control and Claude Code:
|
|
|
|
1. **Auto-Convert**: Convert OpenAgents Control to Claude Code format for distribution
|
|
2. **Local Adapter**: Immediate context-aware behavior when using Claude in this repo
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
integrations/claude-code/
|
|
├── converter/ # Scripts to convert OpenAgents Control → Claude format
|
|
├── generated/ # Output of conversion (gitignored)
|
|
├── plugin/ # Final plugin files for distribution
|
|
├── bootstrap-install.sh # One-line installer (downloads bundle)
|
|
└── install-claude.sh # Install script for distribution
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
### For This Repository (Local Adapter)
|
|
|
|
Just run Claude in this repository:
|
|
|
|
```bash
|
|
cd OpenAgentsControl
|
|
claude
|
|
```
|
|
|
|
Claude will automatically:
|
|
- Load the `openagents-control-standards` Skill
|
|
- Use `context-scout` to find relevant context in `.opencode/context/`
|
|
- Apply OpenAgents Control standards to any task
|
|
|
|
<details>
|
|
<summary><strong>⚠️ Claude CLI Workaround</strong></summary>
|
|
|
|
If Claude doesn't auto-load the local adapter when run in this repository:
|
|
|
|
1. **Restart Claude Code** after any changes to `.claude/`
|
|
2. **Explicitly reference the context** in your request:
|
|
```
|
|
"Load context from .claude/skills/openagents-control-standards/SKILL.md and .claude/agents/context-scout.md, then help me create a new agent"
|
|
```
|
|
3. **Manual trigger** - if the Skill doesn't auto-trigger, start your request with:
|
|
```
|
|
[Use OpenAgents Control standards]
|
|
```
|
|
This will activate the context loading workflow.
|
|
|
|
**Known Issue**: Skills auto-trigger based on Claude's heuristic. If it doesn't trigger:
|
|
- The `context-scout` subagent will still be available
|
|
- You can call it manually: `task(subagent_type="context-scout", ...)`
|
|
- Claude will still follow OpenAgents Control patterns if you reference `.opencode/context/` files in your prompt
|
|
|
|
</details>
|
|
|
|
|
|
### Install Claude CLI (if needed)
|
|
|
|
**macOS**:
|
|
```bash
|
|
brew install claude
|
|
```
|
|
|
|
**npm**:
|
|
```bash
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
**Verify**:
|
|
```bash
|
|
claude --version
|
|
```
|
|
|
|
## For Distribution (Auto-Convert)
|
|
|
|
### One-Line Install (Recommended)
|
|
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/darrenhinde/OpenAgentsControl/main/integrations/claude-code/bootstrap-install.sh | bash
|
|
```
|
|
|
|
**Prereqs**: `git`, `bash`
|
|
|
|
**Verify Claude Code**:
|
|
```bash
|
|
claude --version
|
|
```
|
|
|
|
This downloads the Claude integration bundle and runs the plugin installer.
|
|
|
|
### Step 1: Run the Converter
|
|
|
|
```bash
|
|
cd integrations/claude-code/converter
|
|
node src/convert-agents.js
|
|
```
|
|
|
|
This generates Claude-ready files in `integrations/claude-code/generated/`.
|
|
|
|
### Step 2: Install for Personal Use
|
|
|
|
```bash
|
|
cd integrations/claude-code
|
|
./install-claude.sh
|
|
```
|
|
|
|
This copies the plugin to `~/.claude/plugins/openagents-control-bridge/`.
|
|
|
|
### Step 3: Use with Claude Code
|
|
|
|
**With plugin (recommended for distributed use)**:
|
|
```bash
|
|
claude --plugin-dir ~/.claude/plugins/openagents-control-bridge
|
|
```
|
|
|
|
**Without plugin (manual mode)**:
|
|
```bash
|
|
# Set environment variable to load context files
|
|
export OPENAGENTS_CONTROL_CONTEXT_PATH=.opencode/context
|
|
|
|
# Run Claude with context loaded from your prompt
|
|
claude
|
|
```
|
|
|
|
<details>
|
|
<summary><strong>💡 CLI Tips</strong></summary>
|
|
|
|
- **Check loaded plugins**: `claude --print-plugins`
|
|
- **Debug mode**: `claude --debug` (shows plugin loading)
|
|
- **One-shot mode**: `claude "your request" --print-only`
|
|
- **Session history**: Check `~/.claude/sessions/` for logs
|
|
|
|
</details>
|
|
|
|
## How It Works
|
|
|
|
### Context Discovery
|
|
|
|
1. **Skill Triggers**: The `openagents-control-standards` Skill automatically activates when you ask Claude to do anything.
|
|
2. **Subagent Call**: Claude calls `context-scout` to find relevant files in `.opencode/context/`.
|
|
3. **Standards Loading**: Claude reads the discovered files and applies OpenAgents Control standards.
|
|
|
|
### Agent Conversion
|
|
|
|
The converter maps OpenAgents Control frontmatter to Claude format:
|
|
|
|
| OpenAgents Control Field | Claude Field |
|
|
|------------------|--------------|
|
|
| `id` | `name` |
|
|
| `description` | `description` |
|
|
| `tools` / `permissions` | `tools` |
|
|
| `model` | `model` |
|
|
| `mode: subagent` | `permissionMode: plan` |
|
|
|
|
## Adding New Agents
|
|
|
|
### For Local Use
|
|
|
|
Add to `.opencode/agent/{category}/{agent}.md`. The local adapter in `.claude/` will pick it up on restart.
|
|
|
|
### For Distribution
|
|
|
|
1. Add to `.opencode/agent/{category}/{agent}.md`
|
|
2. Run: `cd integrations/claude-code/converter && node src/convert-agents.js`
|
|
3. The converted agent appears in `integrations/claude-code/generated/agents/`
|
|
|
|
## Files to Commit
|
|
|
|
- `.claude/` - Local adapter (committed)
|
|
- `integrations/claude-code/converter/src/convert-agents.js` - Converter script (committed)
|
|
- `integrations/claude-code/install-claude.sh` - Install script (committed)
|
|
|
|
## Files to GitIgnore
|
|
|
|
- `integrations/claude-code/generated/` - Generated files (ignored)
|
|
- `integrations/claude-code/plugin/` - Build output (ignored)
|
|
|
|
## Requirements
|
|
|
|
- Node.js 18+
|
|
- Claude Code v2.1.6+
|
|
|
|
## CLI Reference
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `claude` | Start interactive session |
|
|
| `claude "request"` | One-shot request |
|
|
| `claude --plugin-dir ~/.claude/plugins/openagents-control-bridge` | Load with plugin |
|
|
| `claude --print-plugins` | Show loaded plugins |
|
|
| `claude --debug` | Debug mode |
|
|
| `claude --version` | Show version |
|