Skip to content

Contributing Guidelines

We welcome contributions to the Overseer SDK! This guide will help you get started.

Quick Start

Terminal window
git clone https://github.com/overseerai/sdk.git
cd sdk
npm install
npm test

Development Process

  1. Fork the SDK repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests (npm test)
  5. Commit your changes (see Commit Guidelines)
  6. Push to your fork
  7. Open a Pull Request

Code Style

We use standard code formatters and linters:

Terminal window
# JavaScript/TypeScript
npm run format
npm run lint
# Python
black .
isort .
flake8
# Go
go fmt ./...
golangci-lint run
# Rust
cargo fmt
cargo clippy

Commit Guidelines

We follow Conventional Commits:

Terminal window
feat: add new validation method
fix: resolve memory leak in batch processing
docs: update API documentation
test: 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

  1. Update documentation
  2. Add tests
  3. Ensure CI passes
  4. Get review from maintainers

Getting Help