Skip to content

Commit f363b97

Browse files
author
Pranam
committed
add CONTRIBUTING.md to guide contributors
Signed-off-by: Pranam <[email protected]>
1 parent 56af10a commit f363b97

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

CONTRIBUTING.md

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
Thank you for considering contributing to OpenFeature Rust SDK! We appreciate your help and look forward to collaborating with you.
2+
3+
Here are the key steps for contributing to the OpenFeature Rust SDK:
4+
5+
## How to Contribute
6+
7+
1. **Fork the Repository**: Create a personal fork of the [repository](https://github.com/open-feature/rust-sdk.git) on GitHub.
8+
2. **Clone Your Fork**:
9+
```sh
10+
mkdir open-feature
11+
cd open-feature
12+
git clone https://github.com/open-feature/rust-sdk.git
13+
cd rust-sdk
14+
```
15+
3. **Create a Branch**: Create a new branch with a name that follows the recommended convention:
16+
```sh
17+
git checkout -b <prefix>/<gh-issue-number>
18+
```
19+
- If there is a corresponding GitHub issue number, include it in the branch name.
20+
- Otherwise, name the branch meaningfully, using hyphens to replace spaces.
21+
- Use the following prefixes based on the type of change:
22+
- 🐛 Bug Fixes: `fix/<description>` or `fix/<issue-number>`
23+
- ✨ New Features: `feat/<description>` or `feat/<issue-number>`
24+
- 🧹 Chore: `chore/<description>` or `chore/<issue-number>`
25+
- 📚 Documentation: `docs/<description>` or `docs/<issue-number>`
26+
- 🚀 Performance: `perf/<description>` or `perf/<issue-number>`
27+
- 🛠️ Build: `build/<description>` or `build/<issue-number>`
28+
- 📦 Dependencies: `deps/<description>` or `deps/<issue-number>`
29+
- 🚦 CI: `ci/<description>` or `ci/<issue-number>`
30+
- 🔄 Refactoring: `refactor/<description>` or `refactor/<issue-number>`
31+
- 🔙 Reverts: `revert/<description>` or `revert/<issue-number>`
32+
- 🎨 Styling: `style/<description>` or `style/<issue-number>`
33+
- 🧪 Tests: `test/<description>` or `test/<issue-number>`
34+
35+
4. **Make Changes**: Implement your changes or additions to the codebase.
36+
5. **Commit Changes**: Stage your changes and commit them with a descriptive message.
37+
6. **Push to Your Fork**: Push your branch to your forked repository.
38+
7. **Create a Pull Request**: Open a pull request from your forked repository to the main OpenFeature Rust SDK repository.
39+
8. **Address Feedback**: If there are any comments or requested changes, address them in your branch and push the updates.
40+
9. **Merge**: Once your pull request is approved, it will be merged into the main repository.
41+
42+
## Development Setup
43+
44+
To set up your development environment, ensure you have the following installed:
45+
46+
- [Rust & Cargo](https://www.rust-lang.org/tools/install)
47+
- [VS Code](https://code.visualstudio.com)
48+
- [Rust Analyzer VS Code Extension](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
49+
50+
After installing Rust, you can verify your installation with following command:
51+
52+
```sh
53+
rustc --version
54+
```
55+
56+
After installing Cargo, you can verify your installation with following command:
57+
58+
```sh
59+
cargo --version
60+
```
61+
62+
## Build, Test, Document and Run the Project
63+
64+
To build the project, execute the following command:
65+
```sh
66+
cargo build
67+
```
68+
69+
To test the project, execute the following command:
70+
```sh
71+
cargo test
72+
```
73+
74+
To build documentation for the project, execute the following command:
75+
```text
76+
cargo doc
77+
```
78+
79+
To run the project, execute the following command:
80+
```sh
81+
cargo run
82+
```
83+
84+
## Closing Note
85+
86+
Thank you 🙏 for your interest and support! Your contributions help us improve and grow 🌱 the OpenFeature Rust SDK. We truly appreciate your time and effort in making our project better. If you have any questions or need assistance, please don’t hesitate to reach out on Slack in the [#openfeature-rust](https://cloud-native.slack.com/archives/C05RG7F93NV) channel!

0 commit comments

Comments
 (0)