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).
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.
$ yorick create-skeleton eggs Constructing... Done. You can now edit your skeleton at ~/.yorick/__default__/eggs/ $ my-favorite-editor ~/.yorick/__default__/eggs/
$ yorick construct eggs Enter a name for your project. project_name> spam Constructing... Done. $ find . ./spam/ ./spam/__init__.py ./README.md $ cat README.md # spam Insert a readme for spam here.
$ yorick install-closet fred https://github.com/fred/closet.git Closet cloned to ~/.yorick/fred/ $ yorick update-closet fred Updating... fred was already up to date.
$ yorick construct fred.more_eggs Enter a name for your project. project_name> spam Constructing... Done.