A command-line interface for PkgTemplates.jl.
- Create Julia packages from the command line without REPL
- User-configurable defaults via TOML config file
- Optional mise task file generation
- Shell completion (fish, bash, zsh)
- Julia 1.12+
julia -e 'using Pkg; Pkg.Apps.add(url="https://github.com/ultimatile/PkgTemplatesCommandLineInterface.jl")'git clone https://github.com/ultimatile/PkgTemplatesCommandLineInterface.jl
cd PkgTemplatesCommandLineInterface.jl
mise run install# Create a package
jtc create MyPackage
# Create with options
jtc create MyPackage --author "Your Name" --user yourgithubuser --output-dir ~/projects
# Generate without mise configuration file
jtc create MyPackage --no-mise
# Dry run (preview without executing)
jtc create MyPackage --dry-run| Command | Description |
|---|---|
create |
Create a new Julia package |
config show |
Show current configuration |
config set |
Set configuration values |
plugin-info [name] |
Display plugin information |
completion <shell> |
Generate shell completion scripts (fish, bash, zsh) |
| Option | Description |
|---|---|
--version |
Show version |
--verbose, -v |
Enable verbose logging |
jtc supports user-configurable defaults stored in $XDG_CONFIG_HOME/jtc/config.toml (default: ~/.config/jtc/config.toml).
# Show current configuration
jtc config show
# Set default values
jtc config set --author "Your Name" --user yourgithubuser- Command-line options (highest priority)
- Configuration file defaults
- Built-in defaults (lowest priority)
After updating Julia (e.g., juliaup up), you may see:
/path/to/julia-1.x.x+0.../bin/julia: No such file or directory
This occurs because the shim file has a hardcoded path to the old Julia version. Reinstall to fix:
julia -e 'using Pkg; Pkg.Apps.add(url="https://github.com/ultimatile/PkgTemplatesCommandLineInterface.jl")'MIT