What is cookiecutter?!
A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.
- Documentation: https://cookiecutter.readthedocs.io
 - GitHub: https://github.com/cookiecutter/cookiecutter
 - PyPI: https://pypi.python.org/pypi/cookiecutter
 - Free and open source software: BSD license
 
Cookiecutter as a Container
Wonderful, now let's use cookiecutter from a container instead of installing it on your machine.
Base image
The image is based on python:3 and can be build for any architecture supported by python:3.
Flavors
The cookiecutter container image is available in 2 flavors
- latest is build daily via travis and if the base images changes
 - 
version during each travis build the current cookiecutter version is validated and the image is tagged accordingly starting with 
1.7.0. More versions can be found on hub.docker.com/r/ckaserer/cookiecutter. 
Requirements
- Bash
 - docker
 
Getting started
To process any cookiecutter template you can execute
docker run --rm -it -v $(pwd):/cookiecutter ckaserer/cookiecutter TEMPLATE
Or if you like the a more convinient approach you can put following lines in your bashrc
# cookiecutter
function cookiecutter () {
  local command="docker run --rm -it -v $(pwd):/cookiecutter ckaserer/cookiecutter"
  echo "+ ${command} $@" && ${command} $@
}
readonly -f cookiecutter
[ "$?" -eq "0" ] || return $?
and after sourcing your bashrc again to load the newly added function into our shell via
source ~/.bashrc
you can process your template just like you would when installing cookiecutter on your machine via
cookiecutter TEMPLATE
              
    
Top comments (0)