API

Functions

generate

generate("owner/PackageName.jl"; path, authors)

Generate a new Julia package from the JuliaPackageTemplate.

Arguments

  • repo: GitHub repository in "owner/PackageName.jl" format.

Keyword Arguments

  • path: Target directory. Defaults to PackageName under JULIA_PKG_DEVDIR, or under ~/.julia/dev when that environment variable is unset.
  • authors: Package authors (default: derived from git config user.name and git config user.email).
  • visibility: GitHub repo visibility — "private", "public", or "none" to skip repo creation (default: "private").
  • logo: URL or docs-relative path for the docs navbar logo (default: the bundled Rallypoint One mark for RallypointOne repos, nothing otherwise).
  • logo_url: URL the logo links to (default: https://rallypoint1.com for RallypointOne repos, nothing otherwise).

Dependencies (when visibility != "none")

  • git — repo initialization and push.
  • gh — GitHub CLI, authenticated with repo scope (create repos, deploy keys, secrets, Pages, branch protection, auto-merge).
  • ssh-keygen — generates the TagBot deploy key.

main is protected (PRs must pass the CI success check) and repo auto-merge is enabled so dependabot PRs merge automatically once CI passes. Direct pushes by admins remain allowed. Branch protection on private repos requires a paid GitHub plan; on a free plan this step is skipped with a warning and dependabot PRs must be merged manually.

Examples

generate("myorg/MyPackage.jl")
generate("myorg/MyPackage.jl"; path="/tmp/MyPackage", authors=["Alice", "Bob"])