star template

planned

planned landing in phase 5 of the roadmap.

Synopsis

star template new <directory>   # create a new template directory + star.toml
star template init              # write a star.toml into the current directory

Both walk you through the manifest interactively (when a TTY is attached) and take every default otherwise — so scripts get sensible, fully-formed manifests with zero prompting.

The prompts

Prompt Default for new Default for init
name the new directory’s name the current directory’s name
author git config user.name, if set same
description (blank) (blank)
init-message Scaffolded from <name>! Edit this message in star.toml. same

The written file contains your answers plus [star] version stamped to the current manifest schema, so newly-authored templates are versioned from the start:

[template]
name = "my-template"
author = "jingus"
description = "A cozy little service template"
init-message = """
Scaffolded from my-template! Edit this message in star.toml.
"""

[star]
version = "0.0.1"

Guarantees

  • template new requires the directory not to exist — star creates it.
  • template init refuses to run where a star.toml already sits — star never clobbers.
  • Interrupts (Ctrl-C, Esc) are errors, never half-written files.

Then what?

Add your project files to the directory, commit, push, and register the repository:

git init && git add -A && git commit -m "my template ✦"
git remote add origin git@git.jingus.dev:you/starters
git push -u origin main

star repo add https://git.jingus.dev/you/starters
star use you/starters#my-template test-drive   # take it for a spin