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

# Contributing

> Contribute back to OpenSync

# Contributing

Contribute improvements back to the OpenSync project.

## Ways to Contribute

<CardGroup cols={2}>
  <Card title="Bug Reports" icon="bug" href="https://github.com/waynesutton/opensync/issues/new?labels=bug">
    Report issues on GitHub
  </Card>

  <Card title="Feature Requests" icon="lightbulb" href="https://github.com/waynesutton/opensync/issues/new?labels=enhancement">
    Suggest new features
  </Card>

  <Card title="Pull Requests" icon="code-pull-request" href="https://github.com/waynesutton/opensync/pulls">
    Submit code changes
  </Card>

  <Card title="Documentation" icon="book" href="https://github.com/waynesutton/opensync/tree/main/docs">
    Improve the docs
  </Card>
</CardGroup>

## Bug Reports

1. Check existing issues first
2. Create a new issue with:
   * Clear description
   * Steps to reproduce
   * Expected vs actual behavior
   * Environment details

## Feature Requests

Open an issue with:

* Use case description
* Proposed solution
* Alternatives considered

## Pull Requests

<Steps>
  <Step title="Fork the repository">Create your own fork on GitHub.</Step>

  <Step title="Create a branch">
    `bash git checkout -b feature/your-feature `
  </Step>

  <Step title="Make changes">
    Follow the coding style and add tests if applicable.
  </Step>

  <Step title="Commit">Use clear, descriptive commit messages.</Step>

  <Step title="Push and create PR">
    `bash git push origin feature/your-feature ` Then open a pull request on
    GitHub.
  </Step>
</Steps>

## Development Guidelines

### Code Style

* TypeScript with strict mode
* Prettier for formatting
* ESLint for linting

### Commits

Follow conventional commits:

```
feat: add new feature
fix: resolve bug
docs: update documentation
refactor: improve code structure
```

### Testing

Run tests before submitting:

```bash theme={null}
npm run test
```

## Code of Conduct

Be respectful and constructive. See `CODE_OF_CONDUCT.md` for details.

## Getting Help

* **Discussions** - Ask questions in GitHub Discussions
* **Issues** - Report bugs and request features
* **Discord** - Join the community (if available)

<Tip title="First-time contributors">
  Look for issues labeled "good first issue" to get started.
</Tip>
