First off, thank you for considering contributing! Every contribution — whether it's a bug report, feature suggestion, documentation fix, or pull request — makes this project better.
This project follows a Code of Conduct. By participating, you agree to uphold its standards.
Open a GitHub Issue.
Include:
- A clear, descriptive title
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Node.js version, OpenCode version)
- Screenshots or logs if relevant
Open a Feature Request.
Include:
- A clear, descriptive title
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
Documentation is in the README.md, AGENTS.md, .opencode/docs/, and individual skill/agent files. Submit a PR with your improvements.
# Fork the repo on GitHub, then:
git clone https://github.com/YOUR_USERNAME/opencode-agent-kit.git
cd opencode-agent-kit
npm install-
Create a branch from
mainwith a descriptive name:git checkout -b feat/add-something git checkout -b fix/something-broken git checkout -b docs/improve-readme
-
Make your changes following project conventions:
- Keep changes focused — one feature/fix per PR
- Write/update tests for new functionality
- Run
npm testbefore committing - Format with Prettier:
npx prettier --write .
-
Commit with a descriptive message:
git commit -m "feat: add XYZ feature" git commit -m "fix: resolve ABC issue" git commit -m "docs: update README with XYZ"
Types:
feat,fix,docs,test,refactor,chore,perf,ci -
Push and open a PR:
git push origin feat/add-something
Then open a PR against
mainon GitHub.
Before submitting, ensure:
- Code compiles/works correctly
- Tests pass (
npm test) - New tests are added for new functionality
- Documentation is updated (README, agent prompts, skills)
- CHANGELOG.md is updated under
[Unreleased] - Changes are backwards-compatible (or migration path is documented)
To add a new agent to the kit:
- Create the agent prompt file in
template/.opencode/agents/<name>.md - Add the agent to
template/opencode.jsonunderagentsection - Create relevant skills in
template/.opencode/skills/<name>/SKILL.md - Create commands in
template/.opencode/commands/<name>/ - Update
README.mdandAGENTS.mdwith the new agent - Update
CHANGELOG.md
Skills go in .opencode/skills/<skill-name>/SKILL.md (or template/.opencode/skills/ for shipped skills).
Each skill should have:
- YAML frontmatter (name, description, version, author)
- Clear trigger conditions
- Step-by-step instructions
- Examples
- Pitfalls/troubleshooting section
opencode-agent-kit/
├── bin/ # CLI commands (init, upgrade, doctor, uninstall)
├── template/ # Template files for `opencode-agent-kit init`
│ ├── opencode.json # Main agent configuration (shipped to users)
│ ├── opencode.example.json # Per-model config example
│ └── .opencode/ # Full template structure
├── tests/ # Test suite
├── schema/ # JSON schemas
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
├── CODE_OF_CONDUCT.md
├── LICENSE
├── package.json
└── README.md
Open a Discussion or Issue.
Thank you for helping make opencode-agent-kit better!