Skip to main content

cookie cutter template manager

Project description

CCTM = cookie cutter template manager

project templates manager for cookiecutter

(python3 only)

quick examples

$ cctm init
$ cctm selfupdate
$ cctm install audreyr/cookiecutter-pypackage
$ cctm use audreyr/cookiecutter-pypackage

# alias
$ cctm management alias audreyr/cookiecutter-pypackage pypackage
$ cctm use pypackage

# extra_context configuration
$ cctm config --name=full_name --value=podhmo.podhmo
$ cctm use pypackage

setup

$ pip install cctm

cctm uses individual configuration file(cctm.json).

searching cctm.json

searching method is here.

first, from current working directory, searching “cctm.json” file, recuresively.

e.g. if cwd is ~/foo/bar/boo. searching below paths.

  1. ~/foo/bar/boo/cctm.json

  2. ~/foo/bar/cctm.json

  3. ~/foo/cctm.json

  4. ~/cctm.json

second, if cctm.json is not found on first process, then, using ~/.cctm/cctm.json (default path)

generating configuration file

generating configuration file via cctm init.

$ cctm init

# if generating configuration file as current working directory
$ cctm init --project=.

package information

listing package information via cctm list

$ cctm list | grep pypackage
kragniz/cookiecutter-pypackage-minimal(12) -- A minimal template for python packages
audreyr/cookiecutter-pypackage(555) -- Cookiecutter template for a Python package.
pypackage -> audreyr/cookiecutter-pypackage  # this is alias

show detail via cctm show

$ cctm show audreyr/cookiecutter-pypackage
{
  "updated_at": "2016-01-08T22:53:23Z",
  "url": "https://github.com/audreyr/cookiecutter-pypackage",
  "name": "audreyr/cookiecutter-pypackage",
  "description": "Cookiecutter template for a Python package.",
  "star": 555,
  "created_at": "2013-07-14T18:52:05Z"
}

using cookiecutter

installing cookiecutter template

installing the template via cctm install

$ cctm install chrisdev/wagtail-cookiecutter-foundation

# wagtail-cookiecutter-foundation is installed
$ cctm list --installed
audreyr/cookiecutter-pypackage
chrisdev/wagtail-cookiecutter-foundation

using cookiecutter template

using installed template via cctm use

$ cctm use chrisdev/wagtail-cookiecutter-foundation

if you are irritated by long-long-name, cctm management alias is helpful, maybe.

$ cctm management alias chrisdev/wagtail-cookiecutter-foundation mywagtail
$ cctm list --alias | grep wagtail
mywagtail -> chrisdev/wagtail-cookiecutter-foundation
$ cctm use mywagtail  # it's is also ok.

default configuration settings

if you want to set a default context, using cctm config

# show configuration
$ cctm config | jq .extra_context
{
  "name": "podhmo",
}
# edit configuration
$ cctm config --name=project_name --value=hello
# delete configuration
$ cctm config --name=project_name

extra_context attribute in config file is using as cookiecutter’s extra context, so.

$ cctm use mywagtail
project_name [Wagtail Project]:  # cancel

$ cctm config --name=project_name --value=hello
$ cctm use mywagtail
project_name [hello]:

your custom repositories

if you store url in repositories of configration file, cctm recognizes as package repositoriy.

default reposotiries are here.

"repositories": [
  "https://raw.githubusercontent.com/podhmo/cctm/master/data/cookiecutter.index.json"
]

package format example

{
  "name": "chrisdev/wagtail-cookiecutter-foundation",
  "url": "https://github.com/chrisdev/wagtail-cookiecutter-foundation",
  "description": "Cookiecutter template for Wagtail CMS using Zurb Foundation 5",
  "created_at": "2015-04-13T13:36:50Z",
  "updated_at": "2016-01-04T14:53:04Z",
  "star": 23
}

if you know, github url, be able to fetch information via cctm management fetch

$ cctm management fetch chrisdev/wagtail-cookiecutter-foundation
{
  "name": "chrisdev/wagtail-cookiecutter-foundation",
  "url": "https://github.com/chrisdev/wagtail-cookiecutter-foundation",
  "description": "Cookiecutter template for Wagtail CMS using Zurb Foundation 5",
  "created_at": "2015-04-13T13:36:50Z",
  "updated_at": "2016-01-04T14:53:04Z",
  "star": 23
}

# store data at local.json
$ cctm management fetch chrisdev/wagtail-cookiecutter-foundation --save --store=./local.json

please, don’t forget to call cctm selfupdate. this command synchnonizes at local data and repositoriies data.

$ cctm selfupdate

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cctm-0.1.tar.gz (7.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page