# Contributing Guidelines We welcome contributions from the community! Please follow these guidelines to help maintain consistency and quality in the project. ## Code of Conduct This project adheres to the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you agree to uphold its terms. ## How to Contribute ### 1. Fork the Repository Click the "Fork" button at the top-right of the [repository page](https://github.com/sjdonado/bit). ### 2. Clone Your Fork ```bash git clone https://github.com/YOUR_USERNAME/bit.git cd bit ``` ### 3. Create a Feature Branch ```bash git checkout -b feat/your-feature-name ``` ### or for bug fixes: ```bash git checkout -b fix/issue-description ``` ### 4. Develop Your Changes - Check [Local Development](docs/SETUP.md#local-development) guidelines - Ensure changes match the project scope - Write clear commit messages - Include tests for new functionality - Update documentation when applicable ### 5. Commit Changes ```bash git commit -am 'Add descriptive commit message' ``` ### 6. Push to GitHub ```bash git push origin your-branch-name ``` ### 7. Create a Pull Request 1. Go to the [original repository](https://github.com/sjdonado/bit) 2. Click "New Pull Request" 3. Select your fork and branch 4. Add a clear description including: - Purpose of changes - Related issues (if applicable) - Testing performed ## Pull Request Guidelines - Keep PRs focused on a single feature/bugfix - Ensure all tests pass - Update documentation in the same PR - Use descriptive titles (e.g., "Add URL validation" not "Update code") - Reference related issues using #issue-number ## Reporting Issues When opening an issue, please include: 1. Description of the problem 2. Steps to reproduce 3. Expected vs actual behavior 4. Environment details (OS, Crystal version, etc) For feature requests: - Explain the problem you're trying to solve - Suggest potential implementations ## License By contributing, you agree that your contributions will be licensed under the [license](LICENSE).