Architectural Decision Records#
Architectural decisions are made throughout a project’s lifetime. As a way of keeping track of these decisions, we record these decisions in Architecture Decision Records (ADRs) listed below.
- 1. Record architecture decisions
 - 2. Make a skeleton repository
 - 3. Standard documentation structure
 - 4. Use a source directory
 - 5. Use pyproject.toml
 - 6. Use setuptools_scm
 - 7. Installing developer environment
 - 8. Use tox and pre-commit
 - 9. Sphinx theme
 - 10. Include vscode settings
 - 11. Pinning requirements
 - 12. Use containers
 - 13. Switch to copier
 - 14. Split up CI YAML
 - 15. Use ruff
 - 16. Convert to mkdocs
 - 17. Use pyright
 - 18. Forbid Private Member Access in Production Code
 - 19. Use autosummary to create API docs
 - 20. Support devcontainers as the opinionated way to contribute
 - 21. Run CI on pull requests and main branch only
 - 21. Semantic Versioning and Conventional Commits
 - 21. Use long-form URLs in documentation
 - 22. Follow NEP 0029 release cycle
 - 23. Adopt uv
 
For more information on ADRs see this blog by Michael Nygard.