a project skeleton / template / boilerplate tool

License: MIT

Language: Python

yorick: a project skeleton / template / boilerplate tool

Yorick is a work in progress. Many of the features described here are not yet complete. Currently, only the basics of the construct and create-skeleton commands work.

Whenever you start a programming project (or a book, or anything you do that involves files on a computer), you often end up doing the same initial steps, without much variation.

Yorick allows you to automate this by creating "skeletons" - templates that you can "construct" to create a boilerplate project. In the process of constructing, a skeleton can prompt the user for variables (project name, for instance), and have those variables substituted appropriately into the skeleton.

A collection of skeletons for different types of projects is called a "closet". Yorick automatically gives you a default closet to keep all of your own skeletons in, and the ability to add other people's closets alongside it. You can keep your closet to yourself or open it up to the world on GitHub (a bit like dotfiles).


TODO: expand list

  • Pluggable template engine support
  • Global and in-skeleton hooks
  • Update your project if the skeleton changes


  1. You need to have Python installed. (If you're not a Python programmer, don't worry, you can create and use yorick skeletons without writing a single line of Python.)
    • If you use Linux or OS X, you probably already have it. Run python --version to make sure it's version 2.7 - if not, upgrade.
  2. Run pip install yorick. (If you don't have pip, run easy_install pip first.)


These are just usage examples to show you what the command line interface looks like. If you want to dive in, check out the docs on ReadTheDocs.

Create a new skeleton

$ yorick create-skeleton eggs
Constructing... Done.
You can now edit your skeleton at ~/.yorick/__default__/eggs/

$ my-favorite-editor ~/.yorick/__default__/eggs/

Construct a project from a skeleton

$ yorick construct eggs
Enter a name for your project.
project_name> spam
Constructing... Done.

$ tree .
├── spam
│   └──

$ cat
# spam

Insert a readme for spam here.

Share your skeletons with the world

$ cd ~/.yorick/__default__
$ git init .
$ git add .
$ git commit -m "Initial commit"
$ git origin add master
$ git push -u origin master

Install closets from other people...

$ yorick install-closet fred
Closet cloned to ~/.yorick/fred/

$ yorick update-closet fred
Updating... fred was already up to date.

...and use their skeletons

$ yorick construct fred.more_eggs
Enter a name for your project.
project_name> spam
Constructing... Done.

To Do

  • Pre- and post-construction scripts
    • In-skeleton
    • Global

Project Statistics

Sourcerank 3
Repository Size 180 KB
Stars 0
Forks 0
Watchers 1
Open issues 0
Dependencies 3
Contributors 1
Tags 1
Last updated
Last pushed

Top Contributors See all

Leigh Brenecki

Packages Referencing this Repo

a project skeleton / template / boilerplate tool
Latest release 0.1pre - Published

Recent Tags See all

0.1pre November 16, 2012

Something wrong with this page? Make a suggestion

Last synced: 2018-05-25 18:54:28 UTC

Login to resync this repository