Thank you for considering contributing to OpenCoder! This document outlines the process for contributing to this project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/opencode-plugin-opencoder.git - Install dependencies:
bun install - Create a branch:
git checkout -b feature/your-feature
# Install dependencies
bun install
# Run type checker
bun run typecheck
# Run linter
bun run lint
# Fix lint issues
bun run lint:fix
# Format code
bun run format
# Run tests
bun test
# Test postinstall script
node postinstall.mjsagents/- Agent markdown files (core functionality)src/- TypeScript source code (plugin metadata)tests/- Test filespostinstall.mjs- Installs agents to user configpreuninstall.mjs- Removes agents on uninstall
- Use tabs for indentation
- Use double quotes for strings
- No semicolons (unless required)
- Run
bun run lint:fixbefore committing
When editing agent files in agents/:
- Be specific with instructions
- Include examples for expected output formats
- Define clear boundaries for agent behavior
- Test changes by running:
opencode @opencoder
Use Conventional Commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changeschore:- Maintenance tasksrefactor:- Code refactoringtest:- Test changes
Example: feat: add cycle limit option to orchestrator
- Ensure all tests pass:
bun test - Ensure types are correct:
bun run typecheck - Ensure code is linted:
bun run lint - Write a clear PR description
- Reference any related issues
When reporting issues, please include:
- OpenCode version
- Node.js/Bun version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
By contributing, you agree that your contributions will be licensed under the MIT License.