Skip to main content

Welcome Contributors!

We welcome contributions from the community! This guide will help you get started.

Getting Started

1

Fork the repository

Click the “Fork” button on GitHub to create your own copy
2

Clone your fork

git clone https://github.com/YOUR_USERNAME/olis.git
cd olis
3

Set up development environment

Follow the Development Setup guide
4

Create a branch

git checkout -b feature/your-feature-name

Development Workflow

1

Make your changes

Write code, add tests, update documentation
2

Run tests

pnpm test
pnpm lint
3

Commit your changes

git add .
git commit -m "feat: add new feature"
Follow Conventional Commits:
  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • chore: Maintenance
  • refactor: Code refactoring
  • test: Test updates
4

Push and create PR

git push origin feature/your-feature-name
Then create a Pull Request on GitHub

Code Standards

TypeScript

  • Use TypeScript strict mode
  • Prefer types over interfaces
  • Document complex types
  • Avoid any type

Python

  • Follow PEP 8
  • Use type hints
  • Write docstrings
  • Format with Black

Testing

  • Write tests for new features
  • Maintain coverage above 80%
  • Test edge cases
  • Use meaningful test names

Documentation

  • Update docs with code changes
  • Add code comments for complex logic
  • Include examples
  • Keep README up to date

Pull Request Guidelines

  • Clear description of changes
  • Link related issues
  • Include screenshots for UI changes
  • Ensure all tests pass
  • Get at least one review
  • Keep PRs focused and small

Questions?

  • Open a GitHub issue
  • Join our Discord community
  • Check existing documentation
Thank you for contributing! 🎉