Contributing Guidelines
We welcome contributions to the Overseer SDK! This guide will help you get started.
Quick Start
git clone https://github.com/overseerai/sdk.gitcd sdknpm installnpm test
Development Process
- Fork the SDK repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Run tests (
npm test
) - Commit your changes (see Commit Guidelines)
- Push to your fork
- Open a Pull Request
Code Style
We use standard code formatters and linters:
# JavaScript/TypeScriptnpm run formatnpm run lint
# Pythonblack .isort .flake8
# Gogo fmt ./...golangci-lint run
# Rustcargo fmtcargo clippy
Commit Guidelines
We follow Conventional Commits:
feat: add new validation methodfix: resolve memory leak in batch processingdocs: update API documentationtest: add integration tests
Testing
All new features should include tests. Here’s a simple example:
import { Overseer } from '../src';
describe('Overseer', () => { it('should validate safe content', async () => { const overseer = new Overseer({ apiKey: 'test' }); const result = await overseer.validate('Hello world'); expect(result.isAllowed).toBe(true); });});
Documentation
- Update relevant documentation for any new features
- Add JSDoc/docstrings to new code
- Include examples for new functionality
Pull Request Process
- Update documentation
- Add tests
- Ensure CI passes
- Get review from maintainers
Getting Help
- Join our Discord
- Check Good First Issues