Thanks for your interest in contributing!
- Clone the repo
- Install dependencies:
npm install - Build:
npm run build - Test:
npm test - Lint:
npm run lint
- Create a feature branch from
master - Make your changes with clear, focused commits
- Ensure
npm run buildandnpm testpass - Ensure
npm run lintpasses (usenpm run lint:fixto auto-fix) - Open a PR with a clear description of the change and motivation
- TypeScript, strict mode, ESM (
"type": "module") - No comments in production code
- Use
node:prefix for Node.js built-in imports - Error handling: always catch, never throw from notification paths
- All notification functions are best-effort (silently fail)
- Use GitHub Issues
- Include your OS, Node.js version, and opencode version
- For bugs, include steps to reproduce and expected vs actual behavior