Figured it might be useful to add a basic Makefile. Once I started, I ended up adding a few more things :sweat_smile: - trying not to go overboard, I'm curious what poeple think of all of this.
This can help fold some tedious setup into a simple command to help both current and new users manage and develop the project.
It's by no means perfect, but we can build upon it. For example, I'm aiming to add make format and make lint targets in the future, and perhaps a few other Docker/docker-compose targets.
If we go for things like pre-commit.com hooks, these could be installed in the setup target, as an example.
As an aside, I also tidied up the root .gitignore file, and also pinned Django to version 2.2 - see commentary in the Files changed tab on this PR (or in the comments below).
Finally, I added a couple of Vagrant files. Vagrant is a pretty handy wrapper around virtual machine vendors, such as VirtualBox or VMWare. I figured to add these to make sure that we know how to set up and run the project natively on some boxes - including all system packages etc.
Docker of course does mitigate the need for this quite a bit, but it's pretty good nonetheless, since some people like to develop locally, and this keeps us pretty honest w.r.t. system level dependencies that we need.
Figured it might be useful to add a basic Makefile. Once I started, I ended up adding a few more things :sweat_smile: - trying not to go overboard, I'm curious what poeple think of all of this.
This can help fold some tedious setup into a simple command to help both current and new users manage and develop the project.
It's by no means perfect, but we can build upon it. For example, I'm aiming to add
make format
andmake lint
targets in the future, and perhaps a few other Docker/docker-compose targets.If we go for things like pre-commit.com hooks, these could be installed in the
setup
target, as an example.As an aside, I also tidied up the root
.gitignore
file, and also pinned Django to version 2.2 - see commentary in theFiles changed
tab on this PR (or in the comments below).Finally, I added a couple of Vagrant files. Vagrant is a pretty handy wrapper around virtual machine vendors, such as VirtualBox or VMWare. I figured to add these to make sure that we know how to set up and run the project natively on some boxes - including all system packages etc.
Docker of course does mitigate the need for this quite a bit, but it's pretty good nonetheless, since some people like to develop locally, and this keeps us pretty honest w.r.t. system level dependencies that we need.