Skip to content
runedeckPublic

About

Empty-repo archetypes composed by rune init

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

331 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skeleton

Portable repository archetypes installed by Copier or composed offline by rune init.

Portable base

Copier installs templates/base directly and records the template release in answers.yaml:

copier copy https://github.com/runedeck/skeleton.git weather-stats

Later updates arrive through copier update, from a tag or from a skeleton commit. make install needs the full pinned toolchain, Copier included. make validate and the review lanes run without it.

Composable templates

A repository created by Rune is the union of templates applied in order: base always, then every template named with --with. Later templates override earlier files. One exception is .gitignore, whose fragments concatenate across templates.

Template Contents
templates/base/ hooks, CI, Makefile, license, KEYS, editor and git config, agent briefs, schemas
templates/rust/, python/, shell/, node/ toolchain files and the toolchain's .gitignore fragment
templates/tool/, module/, spine/ README shape and role-specific files

The directory is flat and open: a new template is a new directory. Composition is idempotent because existing files are never overwritten. .gitignore accumulates missing fragment entries without duplicating existing ones.

The toolchain .gitignore fragments come from github/gitignore. For toolchains without a curated template, composition uses the matching file from a local clone of that repository.

Rune usage

rune init weather-stats --with rust,tool
rune init --with python
rune init weather-stats

Without --with, rune init opens a picker over the available templates. Rune embeds the same portable base for offline scaffolding and writes Copier-compatible answers metadata.

Placeholders

Template files carry ${VARIABLE} placeholders resolved at scaffold time:

Variable Content
${NAME} repo slug, kebab-case (weather-stats)
${TITLE} human title (Weather Stats)
${BRIEF} one-sentence description
${OWNER} GitHub owner

Copier-rendered files use the .jinja suffix, which is removed in generated repositories. Files without the suffix are copied verbatim, including GitHub Actions expressions such as ${{ github.ref }}.

License

Every generated repository defaults to EUPL-1.2. The license file is part of templates/base/.

About

Empty-repo archetypes composed by rune init

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages