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
@@ -114,3 +119,44 @@ Before you submit a pull request, check that it meets these guidelines:
114
119
new functionality into a functionwith a docstring.
115
120
3. Your pull request will automatically be checked by the full test suite.
116
121
It needs to pass all of them before it can be considered for merging.
122
+
123
+
---
124
+
125
+
## Development Tools, Infrastructure, and Practices
126
+
127
+
This project applies modern Python development workflows and collaborative practices learned in DSCI 524, with a strong emphasis on reproducibility, automation, and code quality.
128
+
129
+
### Development Tools
130
+
131
+
***Hatch** is used for environment management, testing, and task execution. This ensures consistent developer environments and simplifies common workflows such as running tests and checks.
132
+
***Ruff** is used for formatting and linting to enforce PEP 8–compliant, readable code and to provide fast feedback during development.
133
+
***Pytest** is used for automated testing to validate correctness and prevent regressions as the codebase evolves.
134
+
***Quartodoc + Quarto** are used to generate API documentation directly from docstrings, ensuring documentation stays closely aligned with the code.
135
+
136
+
### GitHub Infrastructure
137
+
138
+
***GitHub Issues** are used to track bugs, feature requests, and documentation improvements, with labels (`bug`, `enhancement`, `help wanted`) to organize work and encourage contributions.
139
+
***Pull Requests** are the primary mechanism for code review, discussion, and integration. All changes are reviewed before merging.
140
+
***GitHub Actions (CI)** automatically run tests, formatting checks, and build steps on every pull request to `main`, ensuring consistent quality standards and preventing broken code from being merged.
141
+
***Branch-based development** is used, with feature and fix branches (`feat/*`, `fix/*`) to keep the main branch stable.
142
+
143
+
### Organizational and Collaboration Practices
144
+
145
+
***Semantic commit messages** (Conventional Commits) improve readability of the project history and support changelog generation.
146
+
***Consistent docstring standards** ensure functions are easy to understand and maintain, especially for new contributors.
147
+
***Clear contribution guidelines** lower the barrier to entry for contributors and help standardize collaboration across the team.
148
+
149
+
---
150
+
151
+
## Scaling Considerations
152
+
153
+
If this project (or a similar one) were to scale to a larger user base or contributor community, the following tools and practices would be adopted or expanded:
154
+
155
+
***Stricter CI gates**, such as required test coverage thresholds and branch protection rules, to maintain code quality at scale.
156
+
***Dependency monitoring** tools (e.g., Dependabot) to keep dependencies secure and up to date.
157
+
***Pre-commit hooks** to catch formatting, linting, and documentation issues earlier in the development cycle.
158
+
***Expanded documentation and examples**, including tutorials and usage guides, to support a broader audience.
159
+
***Issue and PR templates refinement**, ensuring high-quality reports and consistent reviews as contribution volume grows.
160
+
161
+
These tools and practices help ensure that the project remains maintainable, reliable, and welcoming as it scales in complexity and community size.
0 commit comments