Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Koolbase templates

The source of every template koolbase create and koolbase add can install.

Each template is a self-contained source package: authored metadata in template.yaml, renderable files under src/. The publishing pipeline validates that metadata, builds an immutable signed bundle, and generates generated/catalog.jsonthe catalog is never edited by hand.

Layout

flutter/<template>/template.yaml    authored metadata
flutter/<template>/src/             the tree rendered into a project
flutter/<template>/tests/           generation tests
schemas/template.schema.json        what template.yaml must satisfy
scripts/                            validate and publish
generated/catalog.json              produced output, committed for history

Rendering

Files ending .tmpl are rendered with Go templates using {% %} delimiters — generated files are Dart, and Dart has braces everywhere. The suffix is stripped on output. Files without it are copied byte-for-byte, which is how a file that legitimately contains {% or a binary asset ships safely.

Paths render too, so a directory can be named {% .AppName %}.

Immutability

A published bundle is never replaced. flutter/chat/1.2.0 is the same bytes forever; the catalog's "current version" is only a pointer. Changing a template means incrementing its version — publishing different contents under an existing version is refused.

Licence

Templates are free, permanently, and the generated code is yours: edit it, restructure it, or throw the architecture away. Nothing tracks or upgrades it.

About

Source for every template koolbase create and koolbase add can install. Published as signed, immutable bundles.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages