Software project basics
History /
Edit /
PDF /
EPUB /
BIB /
Created: May 25, 2019 / Updated: August 31, 2025 / Status: draft / 1 min read (~164 words)
Created: May 25, 2019 / Updated: August 31, 2025 / Status: draft / 1 min read (~164 words)
- Code changes are stored in git
- Setup continuous integration (e.g., GitHub Actions)
- Use dependency management (e.g., uv)
- Have a testing framework (e.g., pytest)
- Define a code standard, enforced through tools and not documentation (e.g., ruff)
- Prefer typed function/method over dynamic types
- On every commit to git
- Code quality check
- Code style check
- Unit/functional/integration/system tests
- Code coverage should be recorded during tests and a report made available
- Prior to pushing
- Use an LLM tool to review the changes to identify potential issues
- On pushes, the CI should
- Code quality check
- Code style check
- Unit/functional/integration/system tests
- A project repository must have
- a
README.md
explaining how to run the project on your own computer - a
RELEASING.md
explaining how to release the code - a
CHANGELOG.md
listing relevant changes made
- a
- Responsibilities are made explicit in terms of roles
- Critical roles, such as project lead, must have a backup/shadow individual
- Setup telemetry, alerts, profiling, logging