Package Templates
There are several ways to create a Julia packages from templates.
Packages
PkgTemplates.jl
Create new Julia packages, the easy way
This package is the the most popular package generator.
It helps you set up the package structure, git repository, CI automations for building documentation, running tests, checking code coverage and more.
PackageMaker.jl
GUI for PkgTemplates.jl: "Creating new Julia packages, the easy way" - made a bit simpler.
From the package README:
This package allows you to create either a new package or a new project. It implements a subset of PkgTemplates.jl features (which subset hopefully covers >90% of its use cases). It also adds a couple of features of its own, e.g. ability to create Julia projects, or adding dependencies to projects or packages being created. Being a GUI app, it should be mostly self-explanatory, and external links for more information are provided from the GUI, too.
PkgSkeleton.jl
Generate Julia package skeletons using a simple template system
From the package README:
Julia package for creating new packages and updating existing ones, following common practices and workflow recommendations.
Design principles:
Keep it simple: do nothing more than substitute strings into templates, with a few safeguards. This keeps the code simple: currently less than 300 LOC without docstrings. For me, this covers 99% of the use cases; the rest I edit manually.
Tread ligthly: don't modify uncommitted files (unless asked to, but really don't do that), or files with the same content (to preserve timestamps).
Assume that tooling for packages will keep changing, make it easy to update.
BestieTemplate.jl
Template for Julia Programming Language packages using the copier engine.
A newer package generator announced at JuliaCon2024.
The main features of this package/template are:
It provides a curated (opinionated) list of tools and best practices for Julia package development
It can be applied and reapplied to existing packages, allowing the updates in the template to be imported into the package
It is a bit heavy as it is based on the copier python package.
All of the options are listed here.
Pkg.jl
Pkg.jl does not have templates, but it can create a minimum package with generate
command.
CLI tools
Ion
Ion is a CLI toolkit for Julia developers, and can generate a new package with pre-defined templates.
See Ion Tutorial for more information.
GitHub repository templates
Some people use GitHub repository templates to generate a new Julia package. Here are some examples:
Star History
Last modified: August 10, 2025. Built with Franklin.jl