> ## Documentation Index
> Fetch the complete documentation index at: https://docs.olis-ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing

> How to contribute to the Olis project

## Welcome Contributors!

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

## Getting Started

<Steps>
  <Step title="Fork the repository">
    Click the "Fork" button on GitHub to create your own copy
  </Step>

  <Step title="Clone your fork">
    ```bash theme={null}
    git clone https://github.com/YOUR_USERNAME/olis.git
    cd olis
    ```
  </Step>

  <Step title="Set up development environment">
    Follow the [Development Setup](/development/setup) guide
  </Step>

  <Step title="Create a branch">
    ```bash theme={null}
    git checkout -b feature/your-feature-name
    ```
  </Step>
</Steps>

## Development Workflow

<Steps>
  <Step title="Make your changes">
    Write code, add tests, update documentation
  </Step>

  <Step title="Run tests">
    ```bash theme={null}
    pnpm test
    pnpm lint
    ```
  </Step>

  <Step title="Commit your changes">
    ```bash theme={null}
    git add .
    git commit -m "feat: add new feature"
    ```

    Follow [Conventional Commits](https://www.conventionalcommits.org/):

    * `feat:` New feature
    * `fix:` Bug fix
    * `docs:` Documentation
    * `chore:` Maintenance
    * `refactor:` Code refactoring
    * `test:` Test updates
  </Step>

  <Step title="Push and create PR">
    ```bash theme={null}
    git push origin feature/your-feature-name
    ```

    Then create a Pull Request on GitHub
  </Step>
</Steps>

## Code Standards

<CardGroup cols={2}>
  <Card title="TypeScript" icon="code">
    * Use TypeScript strict mode
    * Prefer types over interfaces
    * Document complex types
    * Avoid `any` type
  </Card>

  <Card title="Python" icon="python">
    * Follow PEP 8
    * Use type hints
    * Write docstrings
    * Format with Black
  </Card>

  <Card title="Testing" icon="flask">
    * Write tests for new features
    * Maintain coverage above 80%
    * Test edge cases
    * Use meaningful test names
  </Card>

  <Card title="Documentation" icon="book">
    * Update docs with code changes
    * Add code comments for complex logic
    * Include examples
    * Keep README up to date
  </Card>
</CardGroup>

## 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! 🎉
