Skip to content

Commit e706968

Browse files
Merge pull request #9 from botanu-ai/developer-deborah
docs: add CONTRIBUTING.md for LF compliance
2 parents 866d780 + a84e039 commit e706968

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

CONTRIBUTING.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Contributing to Botanu SDK
2+
3+
Thank you for your interest in contributing to Botanu SDK! This document provides guidelines and instructions for contributing.
4+
5+
## Developer Certificate of Origin (DCO)
6+
7+
This project requires all commits to be signed off in accordance with the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). This certifies that you have the right to submit your contribution under the project's open source license.
8+
9+
To sign off your commits, add the `-s` flag to your git commit command:
10+
11+
```bash
12+
git commit -s -m "Your commit message"
13+
```
14+
15+
This will add a `Signed-off-by` line to your commit message:
16+
17+
```
18+
Signed-off-by: Your Name <your.email@example.com>
19+
```
20+
21+
If you've already made commits without signing off, you can amend them:
22+
23+
```bash
24+
# Amend the last commit
25+
git commit --amend -s
26+
27+
# Rebase and sign off multiple commits
28+
git rebase --signoff HEAD~N # where N is the number of commits
29+
```
30+
31+
## Development Setup
32+
33+
1. Clone the repository:
34+
```bash
35+
git clone https://github.com/botanu-ai/botanu-sdk-python.git
36+
cd botanu-sdk-python
37+
```
38+
39+
2. Create a virtual environment and install dependencies:
40+
```bash
41+
python -m venv .venv
42+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
43+
pip install -e ".[dev]"
44+
```
45+
46+
3. Run tests:
47+
```bash
48+
pytest tests/
49+
```
50+
51+
4. Run linting and type checks:
52+
```bash
53+
ruff check src/ tests/
54+
ruff format src/ tests/
55+
mypy src/botanu/
56+
```
57+
58+
## Pull Request Process
59+
60+
1. Fork the repository and create a feature branch
61+
2. Make your changes with appropriate tests
62+
3. Ensure all tests pass and linting is clean
63+
4. Sign off all commits with DCO
64+
5. Submit a pull request with a clear description
65+
66+
## Code Style
67+
68+
- Follow [PEP 8](https://pep8.org/) style guidelines
69+
- Use type hints for all function signatures
70+
- Write docstrings for public APIs
71+
- Keep commits focused and atomic
72+
73+
## Reporting Issues
74+
75+
Please use GitHub Issues to report bugs or request features. Include:
76+
- A clear description of the issue
77+
- Steps to reproduce (for bugs)
78+
- Expected vs actual behavior
79+
- Python version and OS
80+
81+
## Code of Conduct
82+
83+
This project follows the [LF Projects Code of Conduct](https://lfprojects.org/policies/code-of-conduct/).
84+
85+
## License
86+
87+
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.

0 commit comments

Comments
 (0)