/PkgTemplates.jl

Create new Julia packages, the easy way

Primary LanguageJuliaMIT LicenseMIT

PkgTemplates

Stable Dev CI Codecov Code Style: Blue ColPrac: Contributor Guide on Collaborative Practices for Community Packages

PkgTemplates creates new Julia packages in an easy, repeatable, and customizable way.

Installation

Install with the Julia package manager Pkg, just like any other registered Julia package:

pkg> add PkgTemplates  # Press ']' to enter the Pkg REPL mode.

or

julia> using Pkg; Pkg.add("PkgTemplates")

Usage

Interactive Generation

You can fully customize your package interactively with:

using PkgTemplates
Template(interactive=true)("MyPkg")

This will prompt you to select options, displaying the default settings in parentheses.

Manual creation

Creating a Template is as simple as:

using PkgTemplates
tpl = Template()

The no-keywords constructor assumes the existence of some preexisting Git configuration (show configuration using git config --list and 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:

tpl("MyPkg")

However, it's probably desirable to customize the template to your liking with various options and plugins:

using PkgTemplates
tpl = Template(;
    dir="~/code",
    plugins=[
        Git(; manifest=true, ssh=true),
        GitHubActions(; x86=true),
        Codecov(),
        Documenter{GitHubActions}(),
    ],
)

For a much more detailed overview, please see the User Guide documentation.

Contributing

Issues and pull requests are welcome! New contributors should make sure to read the ColPrac Contributor Guide. For some more PkgTemplates-specific tips, see the Developer Guide documentation.