econ-project-templates
econ-project-templates copied to clipboard
Remove cookiecutter, change to minimal spec
Janos and I thought about the future of the econ-project-templates given the experience of the 2023 EPP iteration:
Problems
- Students do not understand cookiecutter dialogue
- Students do not understand the "concept cookiecutter" (e.g., students don't grasp the difference between project and cookiecutter)
- Connecting the downloaded project to GitHub often fails (especially if the remote is not empty) and is perceived as very complicated even if it works (e.g., clone link vs URL)
- Example project is out of date, especially data management (should be done by Hans-Martin and Tim)
- When cookiecutter fails, or you want to edit previous input, it is very annoying to
start over (fails, for example when the folder already exists, the environment already exists)
- There is the replay option, but it is unknown, and does not seem to work perfectly
Observations
- Cookiecutter replaces something students like to do: copying files and adjusting names with something they do not understand and do not like to do
- Students are usually not informed enough to make decisions about e.g. licenses, make initial commit, which types of pre-commits, creating the environment or not. It seems like fewer choices would make students feel better while doing the setup.
- The Julia, Stata and R examples are not used and they are another part of the code base that needs to be kept up-to-date (we could just reference the pytask documentation)
Solution Ideas
- Replace cookiecutter dialogue by minimal form:
- project slug (-> rename to project name)
- author name
- author email
- Form checks inputs in real-time, after filling it out, there appears a download button
- Reference to videos like "how to create environment" appears
- Workflow:
- Students create repo on github
- Students clone empty repo
- Students download files from example project into empty repo
- Students push added project to remote
Additional (Potential) Developer Benefits
- Removing the example projects for other programming languages makes it easier to maintain
- Removing cookiecutter complexity makes it easier to test and maintain the example project