74 lines
3.1 KiB
Text
74 lines
3.1 KiB
Text
# .ontoref/ontology/manifest.ncl — Project: website-htmx-rustelo
|
|
# Implementation of the Rustelo framework. repo_kind = 'RusteloApp activates the
|
|
# rustelo domain extension (ontoref rustelo layers|plugins|routes|wasm).
|
|
|
|
let m = import "defaults/manifest.ncl" in
|
|
|
|
m.make_manifest {
|
|
project = "website-htmx-rustelo",
|
|
repo_kind = 'RusteloApp,
|
|
description = "Bilingual EN/ES website implementing the Rustelo framework through the HTMX server-side rendering profile (ADR-006) with Minijinja templates. Routes, menus, themes and content types are configuration-driven (NCL/TOML); customization happens via Rustelo's layered override system, never by forking the framework.",
|
|
|
|
consumption_modes = [
|
|
m.make_consumption_mode {
|
|
consumer = 'EndUser,
|
|
needs = ['OntologyExport],
|
|
audit_level = 'Quick,
|
|
description = "Served website: visitors consume rendered bilingual pages. No ontology access — this is the deployed product surface.",
|
|
},
|
|
m.make_consumption_mode {
|
|
consumer = 'Agent,
|
|
needs = ['OntologyExport],
|
|
audit_level = 'Standard,
|
|
description = "Reads .ontoref/ontology/core.ncl and the rustelo domain schema before modifying site config, content, or crates — to stay within framework PAP constraints.",
|
|
},
|
|
],
|
|
|
|
layers = [
|
|
m.make_layer {
|
|
id = "site-config",
|
|
paths = ["site/config/"],
|
|
committed = true,
|
|
description = "Configuration-driven surface: routes, menus, themes, rendering profile selection. NCL/TOML, no hardcoding.",
|
|
},
|
|
m.make_layer {
|
|
id = "content",
|
|
paths = ["site/content/", "site/i18n/"],
|
|
committed = true,
|
|
description = "Bilingual content (en, es) and Fluent FTL translation bundles.",
|
|
},
|
|
m.make_layer {
|
|
id = "crates",
|
|
paths = ["crates/"],
|
|
committed = true,
|
|
description = "Implementation crates consuming rustelo framework crates: server, client, pages, pages_htmx, shared, build-config.",
|
|
},
|
|
m.make_layer {
|
|
id = "self-description",
|
|
paths = [".ontoref/", ".rustelo.ontoref/"],
|
|
committed = true,
|
|
description = "Ontoref self-description (ontology, ADRs, reflection) and the rustelo domain implementation declaration.",
|
|
},
|
|
m.make_layer {
|
|
id = "process",
|
|
paths = [".coder/"],
|
|
committed = false,
|
|
description = "Session artifacts: plans, investigations, summaries. Process memory for actors.",
|
|
},
|
|
],
|
|
|
|
operational_modes = [
|
|
m.make_op_mode {
|
|
id = "dev",
|
|
description = "Standard implementation development: site config, content, crates.",
|
|
visible_layers = ["site-config", "content", "crates", "self-description"],
|
|
audit_level = 'Standard,
|
|
},
|
|
m.make_op_mode {
|
|
id = "publish",
|
|
description = "Publication readiness: validate bilingual completeness, SEO criteria, hydration parity before deployment.",
|
|
visible_layers = ["site-config", "content", "self-description"],
|
|
audit_level = 'Standard,
|
|
},
|
|
],
|
|
}
|