# PkgTemplates [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://invenia.github.io/PkgTemplates.jl/stable) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://invenia.github.io/PkgTemplates.jl/dev) [![Build Status](https://travis-ci.org/invenia/PkgTemplates.jl.svg?branch=master)](https://travis-ci.org/invenia/PkgTemplates.jl) [![Codecov](https://codecov.io/gh/invenia/PkgTemplates.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/invenia/PkgTemplates.jl) **PkgTemplates creates new Julia packages in an easy, repeatable, and customizable way.** ## Installation Install with Pkg, just like any other registered Julia package: ```jl pkg> add PkgTemplates # Press ']' to enter te Pkg REPL mode. ``` ## Usage Creating a `Template` is as simple as: ```jl using PkgTemplates t = Template() ``` The no-keywords constructor assumes the existence of some preexisting Git configuration (set with `git config --global`): - `user.name`: Your real name, e.g. John Smith. - `user.email`: Your email address, eg. john.smith@acme.corp. - `github.user`: Your GitHub username: e.g. john-smith. Once you have a `Template`, use it to generate a package: ```jl t("MyPkg") ``` However, it's probably desirable to customize the template to your liking with various options and plugins: ```jl t = Template(; dir="~/code", plugins=[ Git(; manifest=true, ssh=true), Codecov(), TravisCI(; x86=true), Documenter{TravisCI}(), o ], ) ``` You can also create a `Template` interactively by following a set of prompts: ```jl julia> t = Template(; interactive=true) ``` --- For a much more detailled overview, please see the documentation.