|
1 | 1 | # Contributing to This Project |
2 | 2 |
|
3 | | -Thank you for considering contributing! Please follow these guidelines to help us maintain a high-quality project. |
| 3 | +Thank you for considering contributing! |
| 4 | +Your time and effort help us build and maintain a high-quality, reliable, and inclusive project. |
| 5 | + |
| 6 | +--- |
4 | 7 |
|
5 | 8 | ## How to Contribute |
6 | 9 |
|
7 | 10 | 1. **Fork the repository** and create your branch from `main`. |
8 | | -2. **Clone your fork** and make your changes. |
9 | | -3. **Test your changes** before submitting. |
10 | | -4. **Submit a pull request** with a clear description of your changes. |
| 11 | +2. **Clone your fork** locally and install all dependencies. |
| 12 | +3. **Create a feature branch** with a descriptive name (e.g. `fix/readme-typo` or `feat/add-logging`). |
| 13 | +4. **Make your changes** — code, docs, or tests. |
| 14 | +5. **Run tests locally** to ensure everything works. |
| 15 | +6. **Commit your changes** following the commit message guidelines below. |
| 16 | +7. **Push your branch** to your fork. |
| 17 | +8. **Submit a Pull Request (PR)** with a clear and concise title and description. |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## Code Style & Standards |
| 22 | + |
| 23 | +- Follow the existing code and formatting style. |
| 24 | +- Use consistent indentation, naming, and file organization. |
| 25 | +- Keep functions small and focused. |
| 26 | +- Add comments for complex logic. |
| 27 | +- Prefer readability and clarity over cleverness. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Running Tests Locally |
| 32 | + |
| 33 | +This project uses **Cargo** for building and testing Rust code. |
| 34 | + |
| 35 | +Before submitting a Pull Request, make sure all tests pass locally: |
| 36 | + |
| 37 | +```bash |
| 38 | +cargo build |
| 39 | +cargo test |
| 40 | +``` |
| 41 | + |
| 42 | +If applicable, you can run tests with additional flags for better output: |
| 43 | + |
| 44 | +```bash |
| 45 | +cargo test -- --nocapture |
| 46 | +``` |
| 47 | + |
| 48 | +Please ensure new features or fixes include **relevant tests** and do not break existing ones. |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +## Commit Message Guidelines |
| 53 | + |
| 54 | +Writing clear and meaningful commit messages helps everyone understand why a change was made. |
| 55 | +Follow these conventions: |
| 56 | + |
| 57 | +### Format |
| 58 | + |
| 59 | +``` |
| 60 | +[type] (optional-scope): <short summary> |
| 61 | +``` |
| 62 | + |
| 63 | +### Examples |
11 | 64 |
|
12 | | -## Code Style |
| 65 | +``` |
| 66 | +feat(actions): added `--dry-run` to add command. |
| 67 | +fix(docs): correct typo in README setup section |
| 68 | +chore(ci): update GitHub Actions Rust version |
| 69 | +refactor(api): simplify error handling |
| 70 | +docs(contributing): add PR naming guidelines |
| 71 | +``` |
13 | 72 |
|
14 | | -- Follow the existing code style. |
15 | | -- Write clear, concise commit messages. |
16 | | -- Add comments where necessary. |
| 73 | +### Tips |
| 74 | + |
| 75 | +* Use the **imperative mood** (“add”, not “added” or “adds”). |
| 76 | +* Limit the **subject line** to 72 characters. |
| 77 | +* Include details in the commit body if necessary (why, what, how). |
| 78 | +* Use prefixes like: |
| 79 | + |
| 80 | + * `feat:` for new features |
| 81 | + * `fix:` for bug fixes |
| 82 | + * `docs:` for documentation updates |
| 83 | + * `chore:` for maintenance or tooling changes |
| 84 | + * `refactor:` for restructuring without behavior change |
| 85 | + * `test:` for adding or updating tests |
| 86 | + |
| 87 | +--- |
| 88 | + |
| 89 | +## Pull Request (PR) Naming & Description |
| 90 | + |
| 91 | +Good PR titles make it easier for reviewers to understand the intent. |
| 92 | + |
| 93 | +### Recommended PR title format: |
| 94 | + |
| 95 | +``` |
| 96 | +[type]: short, descriptive summary |
| 97 | +``` |
| 98 | + |
| 99 | +### Examples: |
| 100 | + |
| 101 | +``` |
| 102 | +feat: implement user profile editing |
| 103 | +fix: resolve panic in config loader |
| 104 | +docs: improve contributing guide formatting |
| 105 | +``` |
| 106 | + |
| 107 | +### PR Description Checklist |
| 108 | + |
| 109 | +When opening a Pull Request: |
| 110 | + |
| 111 | +* Explain **what** the change does. |
| 112 | +* Explain **why** the change was needed. |
| 113 | +* Include **screenshots** if applicable. |
| 114 | +* Mention related **issue numbers** (e.g. “Closes #12”). |
| 115 | +* Ensure your branch is **up to date** with `main`. |
| 116 | +* Respond to **review comments** politely and promptly. |
| 117 | + |
| 118 | +--- |
17 | 119 |
|
18 | 120 | ## Reporting Issues |
19 | 121 |
|
20 | | -- Search for existing issues before opening a new one. |
21 | | -- Provide a clear and descriptive title and description. |
22 | | -- Include steps to reproduce, expected behavior, and screenshots if applicable. |
| 122 | +When filing a new issue: |
23 | 123 |
|
24 | | -## Pull Request Process |
| 124 | +* **Search** existing issues to avoid duplicates. |
| 125 | +* Use a **clear and descriptive title**. |
| 126 | +* Provide steps to reproduce, expected vs. actual behavior. |
| 127 | +* Include screenshots or logs if applicable. |
25 | 128 |
|
26 | | -- Ensure your branch is up to date with `main`. |
27 | | -- Address review comments promptly. |
28 | | -- Squash commits if requested. |
| 129 | +--- |
29 | 130 |
|
30 | 131 | ## Community Standards |
31 | 132 |
|
32 | | -- Be respectful and inclusive. |
33 | | -- Follow the [Code of Conduct](CODE_OF_CONDUCT.md). |
| 133 | +We are committed to creating an open, welcoming, and inclusive environment for everyone. |
| 134 | + |
| 135 | +Please: |
| 136 | + |
| 137 | +* Be respectful and constructive in discussions. |
| 138 | +* Encourage collaboration and diversity of thought. |
| 139 | +* Follow the [Code of Conduct](CODE_OF_CONDUCT.md). |
| 140 | + |
| 141 | +--- |
| 142 | + |
| 143 | +Thank you for helping make this project better! 💪 |
| 144 | +Your contributions - whether code, documentation, or ideas - are all valuable. |
| 145 | + |
34 | 146 |
|
35 | | -Thank you for helping improve this project! |
|
0 commit comments