<div align="center">
<img src="https://raw.githubusercontent.com/soulcraft-research/brainy/main/brainy.png" alt="Brainy Logo" width="200"/>

# Contributing to Soulcraft Brainy

</div>

Thank you for your interest in contributing to Soulcraft Brainy! This document provides guidelines and instructions for
contributing to the project.

## Commit Message Guidelines

When contributing to this project, please write clear and descriptive commit messages that explain the purpose of your
changes. Good commit messages help maintainers understand your contributions and make the review process smoother.

### Best Practices

- Keep the first line concise (ideally under 50 characters)
- Use the imperative mood ("Add feature" not "Added feature")
- Reference issues and pull requests where appropriate
- When necessary, provide more detailed explanations in the commit body

### Examples

```
Add vector normalization option
Fix distance calculation in HNSW search
Update API documentation
Add support for IndexedDB storage
Change API parameter order
Simplify vector comparison logic
Add tests for metadata filtering
Update build dependencies
```

## Pull Request Process

1. Ensure your code follows the project's coding standards
2. Update the documentation if necessary
3. Make sure all tests pass
4. Use conventional commit messages in your PR
5. Your PR will be reviewed by maintainers and merged if approved

## Development Setup

1. Fork and clone the repository
2. Install dependencies: `npm install`
3. Build the project: `npm run build`
4. Run tests: `npm test`

Thank you for contributing to Soulcraft Brainy!
