Skip to content

Commit f3453ca

Browse files
committed
docs: improve contributing guide
1 parent cd39d8c commit f3453ca

1 file changed

Lines changed: 68 additions & 11 deletions

File tree

CONTRIBUTING.md

Lines changed: 68 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,72 @@
1-
# Contributing
1+
# Contributing Guide
22

3-
We welcome contributions! Please follow these steps:
3+
Matches your desire to help? Awesome! We love contributions from everyone, whether it's fixing a typo, adding a feature, or fixing a bug.
44

5-
1. Fork the repository.
6-
2. Create a branch for your changes.
7-
3. Install dev dependencies: `uv sync`
8-
4. Make your changes.
9-
5. Run tests: `make test`
10-
6. Run linting: `make lint`
11-
7. Commit your changes using semantic commit messages (we use Commitizen):
5+
## 🏁 Getting Started
6+
7+
1. **Fork the repo** on GitHub.
8+
2. **Clone** your fork locally:
9+
```bash
10+
git clone https://github.com/YOUR-USERNAME/DefaultPython.git
11+
cd DefaultPython
12+
```
13+
3. **Install Dependencies** (uses `uv`):
14+
```bash
15+
uv sync
16+
```
17+
18+
## 🛠️ Making Changes
19+
20+
1. **Create a Branch**:
21+
```bash
22+
git checkout -b feat/my-new-feature
23+
```
24+
2. **Code Away!**
25+
3. **Test Your Changes**:
26+
Run the full suite to make sure nothing broke.
27+
```bash
28+
task test
29+
```
30+
4. **Check Code Quality**:
31+
Run the linter and formatter.
1232
```bash
13-
cz commit
33+
task lint
34+
task format
1435
```
15-
8. Push and open a Pull Request.
36+
37+
## 📝 Committing Changes
38+
39+
We use **Conventional Commits** to keep our history clean and automate releases.
40+
A commit message consists of a **type**, a **scope** (optional), and a **description**.
41+
42+
**Format**: `type(scope): description`
43+
44+
**Common Types**:
45+
* `feat`: A new feature
46+
* `fix`: A bug fix
47+
* `docs`: Documentation only changes
48+
* `style`: Changes that do not affect the meaning of the code (white-space, formatting, etc)
49+
* `refactor`: A code change that neither fixes a bug nor adds a feature
50+
* `test`: Adding missing tests or correcting existing tests
51+
* `chore`: Changes to the build process or auxiliary tools and libraries
52+
53+
**Example**:
54+
```bash
55+
git commit -m "feat(auth): add google login support"
56+
```
57+
58+
> **Pro Tip**: You can use the `cz` tool (installed automatically) to help you format this:
59+
> ```bash
60+
> uv run cz commit
61+
> ```
62+
63+
## 🚀 Submitting a Pull Request
64+
65+
1. Push your branch:
66+
```bash
67+
git push origin feat/my-new-feature
68+
```
69+
2. Open a Pull Request on GitHub.
70+
3. Ensure the CI checks pass (the Actions tab).
71+
72+
Thank you for your contribution!

0 commit comments

Comments
 (0)