This document outlines the sustained maintenance strategy for dev-utility-lab to ensure it remains a high-quality, professional open-source project. This plan prevents the repository from becoming a bloated monolith and focuses on stability, code quality, and incremental improvements.
- Test Coverage: Maintain >90% coverage. Identify edge cases in math and string operations to write more comprehensive parameter-based tests.
- Type Hinting: Ensure all new features and legacy files strictly adhere to
mypyconstraints without relying on# type: ignore. - Refactoring: Periodically review the
dashboard.serviceslayer. Consider abstracting thedispatcher.pylogic if the tool registry grows beyond 20 items. - Dependency Management: Schedule monthly updates for
requirements-dev.txtandDockerfilebase images to ensure security patches are applied.
- API Documentation: Auto-generate API docs from code docstrings using tools like
SphinxorMkDocsin future iterations. - Onboarding: Keep
CONTRIBUTING.mdandgetting-started.mdup-to-date with every major workflow change. - Changelog: Strictly adhere to Semantic Versioning and maintain a detailed
CHANGELOG.md.
- Bug Reports: Aim for a 48-hour response time on reported bugs.
- Feature Requests: Evaluate against the core mission: "Lightweight, clean, reusable utilities." Decline features that belong in dedicated micro-repositories.
- Stale Issues: Implement a stale bot to close inactive issues after 90 days.
- Minor Releases (Features): Bi-weekly or Monthly.
- Patch Releases (Bug Fixes): As needed.
- Major Releases: Annually, requiring significant architectural shifts.
- Refactor: Migrate legacy string formatting to f-strings universally.
- Test: Add property-based testing (using libraries like
hypothesis) for mathematical functions. - Docs: Add usage examples for every single utility function in the
dev_utilslibrary documentation.