You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+12-70Lines changed: 12 additions & 70 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,17 @@ Please try to include as much information as you can. Details like these are inc
25
25
* Anything unusual about your environment or deployment
26
26
27
27
28
+
## Finding contributions to work on
29
+
Looking at the existing issues is a great way to find something to contribute to. We label issues that are well-defined and ready for community contributions with the "ready for contribution" label.
30
+
31
+
Check our [Ready for Contribution](../../issues?q=is%3Aissue%20state%3Aopen%20label%3A%22ready%20for%20contribution%22) issues for items you can work on.
32
+
33
+
Before starting work on any issue:
34
+
1. Check if someone is already assigned or working on it
35
+
2. Comment on the issue to express your interest and ask any clarifying questions
36
+
3. Wait for maintainer confirmation before beginning significant work
37
+
38
+
28
39
## Development Environment
29
40
30
41
This project uses [hatchling](https://hatch.pypa.io/latest/build/#hatchling) as the build backend and [hatch](https://hatch.pypa.io/latest/) for development workflow management.
@@ -70,7 +81,7 @@ This project uses [hatchling](https://hatch.pypa.io/latest/build/#hatchling) as
70
81
71
82
### Pre-commit Hooks
72
83
73
-
We use [pre-commit](https://pre-commit.com/) to automatically run quality checks before each commit. The hook will run `hatch run format`, `hatch run lint`, `hatch run test`, and `hatch run cz check`on when you make a commit, ensuring code consistency.
84
+
We use [pre-commit](https://pre-commit.com/) to automatically run quality checks before each commit. The hook will run `hatch run format`, `hatch run lint`, `hatch run test`, and `hatch run cz check` when you make a commit, ensuring code consistency.
74
85
75
86
The pre-commit hook is installed with:
76
87
@@ -122,75 +133,6 @@ To send us a pull request, please:
122
133
8. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
123
134
124
135
125
-
## Finding contributions to work on
126
-
Looking at the existing issues is a great way to find something to contribute to.
127
-
128
-
You can check:
129
-
- Our known bugs list in [Bug Reports](../../issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) for issues that need fixing
130
-
- Feature requests in [Feature Requests](../../issues?q=is%3Aissue%20state%3Aopen%20label%3Aenhancement) for new functionality to implement
131
-
132
-
133
-
## Dependency Management with uv lock
134
-
135
-
This project uses `uv lock` to ensure reproducible dependency resolution across all environments. The `uv.lock` file contains exact versions of all dependencies and **must be committed to git**.
136
-
137
-
### For Developers
138
-
139
-
**Initial Setup:**
140
-
```bash
141
-
# Install exact dependencies from lock file
142
-
uv sync --dev
143
-
```
144
-
145
-
**Daily Development:**
146
-
```bash
147
-
# Use locked dependencies for all commands
148
-
uv run poe test
149
-
uv run poe lint
150
-
uv run poe format
151
-
```
152
-
153
-
**Adding New Dependencies:**
154
-
```bash
155
-
# Add new dependency and update lock file
156
-
uv add "new-package>=1.0.0"
157
-
# The lock file is automatically updated
158
-
git add pyproject.toml uv.lock
159
-
git commit -m "feat: add new-package dependency"
160
-
```
161
-
162
-
**Updating Dependencies:**
163
-
```bash
164
-
# Update to latest compatible versions
165
-
uv lock
166
-
167
-
# Or upgrade to latest versions (major updates)
168
-
uv lock --upgrade
169
-
170
-
# Always commit lock file changes
171
-
git add uv.lock
172
-
git commit -m "chore: update dependencies"
173
-
```
174
-
175
-
### Why Lock Files Matter
176
-
177
-
-**Reproducible Builds**: Same exact dependencies across dev, CI, and production
178
-
-**Faster CI**: Pre-resolved dependencies eliminate resolution time
0 commit comments