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
+152Lines changed: 152 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,6 +111,158 @@ Before you submit a pull request, check that it meets these guidelines:
111
111
112
112
Your suggested code should follow [PEP 8](https://pep8.org/) Python style guide. We recommend [Ruff](https://docs.astral.sh/ruff/) for automatic code formatting and linting. Use straightforward variable names and keep functions focused on one single task. Docstrings need to be documented under all functions and classes definitions using [NumPy style](https://peps.python.org/pep-0008/#documentation-strings).
113
113
114
+
## Development Tools and Infrastructure
115
+
116
+
This section documents the development tools, GitHub infrastructure, and organizational practices applied in this project, as well as considerations for scaling up similar projects.
117
+
118
+
### Tools Used in This Project
119
+
120
+
#### Package Management and Build Tools
121
+
122
+
- **Hatch**: Modern Python project manager for building, versioning, and environment management
123
+
- Simplifies dependency management and virtual environment creation
124
+
- Provides consistent build and test workflows on deploying package
125
+
- **Conda**: Cross-platform package and environment manager
126
+
- Manages project dependencies and isolated environments
127
+
- Facilitates reproducible development setups
128
+
129
+
#### Code Quality and Testing
130
+
131
+
- **pytest**: Testing framework for writing and running unit tests
132
+
- Comprehensive test coverage in `tests/` directory
133
+
- Enables test-driven development practices
134
+
- **Codecov**: Code coverage reporting tool
135
+
- Tracks test coverage percentage
136
+
- Identifies untested code paths
137
+
- **Ruff**: Python linter and code formatter
138
+
- Enforces code style and quality standards
139
+
- Automatically formats code to adhere to PEP 8 guidelines
140
+
141
+
#### Documentation
142
+
143
+
- **Quarto**: Scientific and technical publishing system
144
+
- Generates project documentation from markdown and code
145
+
- Integrates narrative text with executable code examples
146
+
- **quartodoc**: Quarto extension for documentation sites
147
+
- Provides templates and tools for building documentation websites
148
+
- **NumPy-style docstrings**: Standard documentation format
149
+
- Provides clear, structured documentation for all functions
150
+
- Enables automatic documentation generation
151
+
152
+
#### Version Control
153
+
154
+
- **Git**: Distributed version control system
155
+
- **GitHub**: Cloud-based repository hosting and collaboration platform
156
+
157
+
### GitHub Infrastructure
158
+
159
+
Our project leverages several GitHub features for collaboration and automation:
160
+
161
+
#### Repository Organization
162
+
163
+
- **Branching Strategy**: Feature branch workflow
164
+
- `main` branch for stable code
165
+
- `otter` branch as our dev branch to integrate features, bug fixes, and changes before they are ready for production
166
+
- `gh-pages`: Branch for hosting documentation site
167
+
- Pull requests for merging changes into `main` or `otter`
168
+
169
+
#### Issue Tracking
170
+
171
+
- **GitHub Projects**: Kanban boards for task tracking
172
+
- Backlog management and roadmap visualization
173
+
- Allow tracking issues, pull requests, and ideas across customizable columns
174
+
- **Issue Templates**: Standardized formats for bug reports and feature requests
175
+
- Ensures comprehensive information collection
176
+
- Streamlines triage and prioritization
177
+
178
+
#### Pull Request Workflow
179
+
180
+
- **Pull Request Templates**: Guide contributors through necessary information
181
+
- **Code Review**: Copilot and peer review process before merging
- **Issue Automation**: Automated labeling and triage
254
+
- **Release Management**: Semantic versioning with automated releases
255
+
256
+
#### Monitoring and Analytics
257
+
258
+
- **PyPI Statistics**: Track package downloads and usage
259
+
- **Error Tracking**: Sentry or similar for runtime error monitoring
260
+
- **User Feedback**: Issue templates for user-reported bugs and features
261
+
262
+
### Conclusion
263
+
264
+
The tools and practices applied in this project establish a solid foundation for collaborative open-source development. For larger-scale projects, the additional infrastructure focuses on automation, quality assurance, and enabling distributed teams to work effectively. The key principle is to automate routine tasks, enforce quality standards early in the development process, and maintain clear documentation and communication channels.
265
+
114
266
## Code of Conduct
115
267
116
268
Please not that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
| Meta |[](CODE_OF_CONDUCT.md)|
5
+
| Package |[](https://test.pypi.org/project/wordguess/)[](https://test.pypi.org/project/wordguess/)|
6
+
| Meta | [](CODE_OF_CONDUCT.md)[](LICENSE)
Wordguess is a project that contains essential functions for a word-guessing game, inspired by [Wordle](https://www.nytimes.com/games/wordle/index.html).
9
11
@@ -26,22 +28,40 @@ You can install this package into your preferred Python environment using pip:
0 commit comments