templates/profiles/ — Declarative install profiles¶
Each *.yml file in this directory describes one install profile consumable by scripts/bin/install and the loader in scripts/lib/install/profile.sh.
Schema¶
name: <slug> # required, must match filename stem
display_name: <Pretty Name> # required
description: <one-liner> # required
legacy_flag: --<mode> # required, the install.sh flag this maps to
recommended_for: <use case>
includes:
- <bullet>
- <bullet>
excludes:
- <bullet>
deploy_targets:
- github-pages | azure-swa | docker-prod
Currently shipped profiles¶
| Profile | Legacy flag | Description |
|---|---|---|
minimal |
--minimal |
Smallest viable site. |
full |
--full |
Default. Starter pages + admin + wizard. |
fork |
--fork |
Fork-friendly: resets site identity. |
github |
--github |
GitHub Pages via remote_theme. |
remote |
--remote |
Bootstrap from raw.githubusercontent.com. |
Adding a new profile¶
- Copy an existing YAML and edit the fields.
- The filename stem must match the
name:field. ./scripts/bin/install list-profileswill pick it up automatically.- To wire a new
legacy_flag, add support ininstall.sh(or wait for the Phase 4 deploy modules to consumesteps:declaratively).
Notes¶
- These YAMLs are intentionally simple (key/value + flat lists) so the bash
3.2 loader can parse them with grep/awk/sed — no external
yqor python dependency required. - Future phases will extend the schema with
steps:(manifest-driven file copies) anddeploy:(target-specific configuration overlays).