CookieCutter allows us to create project templates. It is useful to automate the setup.
Starting new projects is a problem for me because it requires a lot of copy-pasting from exiting projects.
It leads to lot of code-duplication. The best practices are spread all over the projects. Typically, a good change should flow to other projects as well.
To focus on:
- Editorconfig
- Editor defaults
- Better READMEs
- Deployment automation
These are the specifics.
- README.md
- Django split settings
- Split requirements
- Pre-commit hooks
- django-envoiron
- editorconfig
- remote-setup
- git push deployment
- github actions for tests
pip install --upgrade cookiecutter
cookiecutter https://github.com/Mittal-Analytics/django-cookiecutter
Use this recipe to update an existing project.
Setup the local env:
python3 -m venv .venv
uv pip install -r requirements.txt
source .venv/bin/activate
Create a new project using this package:
cookiecutter https://github.com/Mittal-Analytics/django-cookiecutter
Make changes in that project. Then fetch changes from that repo:
bash fetch_updates.sh