- ✅ All planned features for the initial release should be implemented.
- ✅ Features should work as expected; no critical bugs that break core functionality.
- ✅ Edge cases and error handling should be covered.
- ✅ Code is clean, readable, and follows PEP 8 style conventions.
- ✅ Functions and classes are well-organized; modular design.
- ✅ Unused code, debug prints, and commented-out sections are removed.
- ✅ Temporary files and file calls are removed.
- ✅ Proper exception handling is in place.
- ✅ Unit tests cover critical functionality.
- ✅ Optional: Integration tests to ensure components work together.
- ✅ All tests pass consistently.
- ✅ No hard-coded secrets (API keys, passwords) in the repo.
- ✅ Avoid known security vulnerabilities in dependencies.
- ✅ Graceful shutdown and resource cleanup (files, network connections).
- View all changes in foreign code sources, which this project derives information from:
python -m scripts.check_source_updates
- Check for dependency updates to see if newer versions are available:
python -m scripts.check_dependency_updates
- Ensure all tests are successful and generate coverage report:
coverage run -m pytest tests/
coverage html
- View coverage report: Are all critical code files covered?
- Update UML-Graph of Second Representation for documentation:
python -m scripts.make_uml pmp_manip.core.project SRProject
- Review pyproject.toml with the new dependencies:
python -m scripts.review_pyproject_toml
- Follow suggested changes and increase version number
- Build package locally:
pip install --upgrade build python -m build
- Commit and Push all changes (Just an Example):
git add -A git commit -m "prepare next release" git push - Create a Git tag with the version number and Push the tag to your remote:
git tag v1.2.3 git push origin v1.2.3
- Verify CI passes on the release tag (GitHub Actions)