76 lines
2.0 KiB
Markdown
76 lines
2.0 KiB
Markdown
# 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).
|