Welcome Contributors
OpenCode Agents is a curated registry of 69 AI agents for OpenCode. All agents are manually evaluated and maintained to ensure high quality. We welcome contributions that improve existing agents, add new ones, or enhance the tooling.Development Environment Setup
Prerequisites
- Node.js 20+ — for the CLI and TUI
- Python 3.10+ — for agent quality scoring and sync scripts
- Git — for version control
- Bun (optional) — for running plugin tests
Clone the Repository
Install Dependencies
The project uses zero dependencies for the CLI. Python scripts use stdlib only — no pip packages required.Project Structure
Key Concepts
Agent Format
All agents follow a 4-section expert format:- Identity — Unheaded paragraph describing the agent’s role, expertise, and context
- Decisions — IF/THEN decision trees for handling different scenarios
- Examples — Code examples showing the agent in action
- Quality Gate — Validation criteria before considering work complete
Quality Scoring
Every agent is evaluated on 8 dimensions (scale 1-5):- Frontmatter — Description, mode, permission block
- Identity — 50-300 word paragraph
- Decisions — ≥5 IF/THEN rules
- Examples — ≥3 code blocks
- Quality Gate — ≥5 bullet points
- Conciseness — 70-120 lines (body only)
- No Banned Sections — No deprecated headings (Workflow, Tools, Anti-patterns, Collaboration)
- Version Pinning — Versions and years mentioned in identity
Permissions
Agents use thepermission: frontmatter field (not the deprecated tools: field):
Contributing Workflow
1. Find an Issue
Browse open issues or:- Report a bug with the Bug Report template
- Request a new agent with the Agent Request template
- Suggest an improvement
2. Create a Branch
3. Make Changes
- Edit existing agents in
agents/<category>/ - Add new agents following the 4-section format
- Update tests if modifying core functionality
- Run quality scorer to verify agent quality
4. Test Locally
See Testing for detailed test commands.5. Commit Changes
Follow Conventional Commits:feat— New featurefix— Bug fixdocs— Documentation onlyrefactor— Code restructuringtest— Add or modify testschore— Maintenance tasks
6. Push and Open PR
- Run 893 tests across Node.js and Python
- Lint code for syntax errors
- Validate YAML frontmatter in all agents
- Verify manifest.json integrity
- Check that README scores are up to date
- Ensure no deprecated
tools:fields exist
CI/CD Pipeline
Continuous Integration (.github/workflows/ci.yml)
Triggered on every push and PR to main. Runs 4 jobs in parallel:
| Job | Description |
|---|---|
| test | Python tests on versions 3.10, 3.12, 3.13 |
| test-cli | Node.js tests on versions 20, 22, 23 (CLI, TUI, lock) |
| lint | Syntax validation (Python, Node.js, shellcheck), YAML frontmatter, manifest.json, README score freshness |
| validate-agents | Manifest-to-file consistency, deprecated field detection |
Release Workflow (.github/workflows/release.yml)
Automated release creation when a version tag is pushed:
Sync Agents Workflow (.github/workflows/sync-agents.yml)
Manual dispatch only — no automatic syncing. Used for discovering new agents from upstream sources, but all agents are manually curated before integration.
Code of Conduct
This project follows the Contributor Covenant. Be respectful, inclusive, and constructive.Getting Help
- Questions? Open a GitHub Discussion
- Bugs? File an issue
- Agent requests? Use the Agent Request template
Next Steps
Adding Agents
Learn the 4-section format and quality requirements
Testing
Run tests and validate your changes