Skip to content

Commit 900ed2f

Browse files
committed
docs: add contributing.md
1 parent 4c91570 commit 900ed2f

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

CONTRIBUTING.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Contributing
2+
3+
Thanks for your interest in contributing to finwise-python!
4+
5+
## Development Setup
6+
7+
1. Clone the repository:
8+
```bash
9+
git clone https://github.com/rameezk/finwise-python.git
10+
cd finwise-python
11+
```
12+
13+
2. Create a virtual environment:
14+
```bash
15+
python -m venv venv
16+
source venv/bin/activate # On Windows: venv\Scripts\activate
17+
```
18+
19+
3. Install development dependencies:
20+
```bash
21+
pip install -e ".[dev]"
22+
```
23+
24+
## Running Tests
25+
26+
```bash
27+
pytest
28+
```
29+
30+
With coverage:
31+
```bash
32+
pytest --cov --cov-report=term-missing
33+
```
34+
35+
## Code Quality
36+
37+
This project uses [ruff](https://docs.astral.sh/ruff/) for linting and formatting, and [mypy](https://mypy-lang.org/) for type checking.
38+
39+
```bash
40+
# Lint
41+
ruff check .
42+
43+
# Format
44+
ruff format .
45+
46+
# Type check
47+
mypy src/
48+
```
49+
50+
## Submitting Changes
51+
52+
1. Fork the repository
53+
2. Create a feature branch (`git checkout -b feature/my-feature`)
54+
3. Make your changes
55+
4. Ensure tests pass and code quality checks succeed
56+
5. Commit your changes using [conventional commits](https://www.conventionalcommits.org/)
57+
6. Push to your fork and open a pull request
58+
59+
## Commit Messages
60+
61+
This project uses [semantic-release](https://python-semantic-release.readthedocs.io/) for automated versioning. Please use conventional commit messages:
62+
63+
- `feat:` - New features (triggers minor version bump)
64+
- `fix:` - Bug fixes (triggers patch version bump)
65+
- `docs:` - Documentation changes
66+
- `chore:` - Maintenance tasks
67+
- `test:` - Test changes
68+
- `refactor:` - Code refactoring
69+
70+
Example:
71+
```
72+
feat: add support for bulk transactions
73+
fix: handle pagination edge case
74+
docs: update installation instructions
75+
```
76+
77+
## Questions?
78+
79+
Open an issue if you have questions or run into problems.

0 commit comments

Comments
 (0)