Skip to content

specs use

A one-off command: fetch a template from any source, execute it into <target-dir>, then discard the download. Nothing is saved to the registry. For templates you’ll reuse, use specs template download instead.

specs use github:specsnl/go-service ./new-service
specs use ./local-template ./output --use-defaults
specs use github:specsnl/go-service ./new-service --arg projectName=my-service

Source formats

FormatExample
GitHub shorthand (default branch)github:specsnl/go-service
GitHub shorthand with branchgithub:specsnl/go-service:main
GitHub shorthand with taggithub:specsnl/go-service:v1.2.0
Full HTTPS URLhttps://github.com/specsnl/go-service
Full HTTPS URL with .git suffixhttps://github.com/specsnl/go-service.git
SCP-style SSH URLgit@github.com:specsnl/go-service
Explicit SSH URLssh://git@github.com/specsnl/go-service
Relative local path./local-template
Absolute local path/home/user/templates/go-service
Explicit local path prefixfile:./local-template

The GitHub shorthand github:owner/repo:ref accepts any git ref — a branch name, a tag, or a full commit SHA. HTTPS and SSH sources always use the repository’s default branch.

Flags

FlagDescription
--values <file>Load variable values from a JSON or YAML file (.yaml/.yml → YAML, otherwise JSON)
--arg <key=value>Set a single variable (repeatable)
--use-defaultsAccept all defaults without prompting
--no-hooksSkip pre/post-use hooks