PkgTemplates
PkgTemplates creates new Julia packages in an easy, repeatable, and customizable way.
Documentation
If you're looking to create new packages, see the User Guide.
If you want to create new plugins, see the Developer Guide.
if you're trying to migrate from an older version of PkgTemplates, see Migrating To PkgTemplates 0.7+.
PkgTemplates.PkgTemplates
— ModulePkgTemplates
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.
Index
PkgTemplates.PkgTemplates
PkgTemplates.AppVeyor
PkgTemplates.Badge
PkgTemplates.BadgePlugin
PkgTemplates.BlueStyleBadge
PkgTemplates.CirrusCI
PkgTemplates.Citation
PkgTemplates.CodeOwners
PkgTemplates.Codecov
PkgTemplates.ColPracBadge
PkgTemplates.CompatHelper
PkgTemplates.Coveralls
PkgTemplates.Dependabot
PkgTemplates.Develop
PkgTemplates.Documenter
PkgTemplates.DroneCI
PkgTemplates.FilePlugin
PkgTemplates.Formatter
PkgTemplates.Git
PkgTemplates.GitHubActions
PkgTemplates.GitLabCI
PkgTemplates.License
PkgTemplates.Logo
PkgTemplates.PkgBenchmark
PkgTemplates.PkgEvalBadge
PkgTemplates.Plugin
PkgTemplates.ProjectFile
PkgTemplates.Readme
PkgTemplates.RegisterAction
PkgTemplates.Secret
PkgTemplates.SrcDir
PkgTemplates.TagBot
PkgTemplates.Template
PkgTemplates.Tests
PkgTemplates.TravisCI
PkgTemplates.badges
PkgTemplates.collect_versions
PkgTemplates.combined_view
PkgTemplates.compat_version
PkgTemplates.convert_input
PkgTemplates.customizable
PkgTemplates.default_file
PkgTemplates.destination
PkgTemplates.format_version
PkgTemplates.gen_file
PkgTemplates.generate
PkgTemplates.getplugin
PkgTemplates.gitignore
PkgTemplates.hook
PkgTemplates.input_tips
PkgTemplates.interactive
PkgTemplates.is_ci
PkgTemplates.is_coverage
PkgTemplates.needs_username
PkgTemplates.pkg_name
PkgTemplates.posthook
PkgTemplates.prehook
PkgTemplates.priority
PkgTemplates.prompt
PkgTemplates.render_file
PkgTemplates.render_text
PkgTemplates.source
PkgTemplates.tags
PkgTemplates.user_view
PkgTemplates.validate
PkgTemplates.view
PkgTemplates.@plugin