Docs
/

Imperium: site types and view modes

Imperium is what puts a website on the internet. A site is one record; a worker matches the incoming hostname to it and serves it, so a new site is live seconds after you publish rather than after a deploy. Everything below is read from the registry the serving code itself uses — 6 site types and 34 view modes.

Site types

A site type answers “where do the bytes come from?” — Imperium renders the page itself, or forwards to something you run, or serves a folder you uploaded. 2 of the 6 are operator-only, because they reach the host beyond that site’s own data; an ordinary member is refused at the write lane rather than at serve time.

configImperium project

Content you author here, rendered by the shared page engine. The default, and what every site starts as.

proxyReverse proxy — an app you already run

Forward this host to an origin that is already up: another port, another machine, another provider. You keep it running.

origin
The address of the app that is already running. http or https only.
trustedOrigin
Sends Cookie and Authorization upstream. OFF by default on purpose — turn it on only when the upstream is genuinely yours, or you are handing Leumas session cookies to whoever runs it.
stripPrefix
Removed before forwarding, so an app that expects to live at / can be mounted at /app.
hostHeader
IIS and nginx pick which site answers from this header. If your app is bound to a hostname, the default will 404 while the app itself is perfectly fine.
serverServer — a local app Imperium runsoperator only

Point at a folder on this machine and a port. Imperium starts the app, keeps it up, and serves it on this domain. That is the difference from a proxy: a proxy needs the app already running, this one owns the process.

port
Loopback only — a local app is never addressable from off the machine.
dir
Required once "Start it for me" is on. Leave it empty and this simply forwards to the port, without ever spawning anything.
autostart
Off by default: saving a path must never start a process.
command
One argument per chip — npm · run · dev. Spawned with NO shell, so nothing in it can be reinterpreted as shell syntax. Leave it empty to detect from the folder (package.json start, then dev, then an entry file).
healthPath
Probed to decide "is it up yet?" before the first request is forwarded. Must start with /.
env
PORT is always injected from the port above and wins over anything set here, so the app and the proxy can never disagree about where it listens.
trustedOrigin
ON by default here, unlike a proxy: a local app is your own, and sharing the session is the point of running it on your Leumas domain.
stripPrefix
Removed before forwarding, so an app that expects to live at / can be mounted at /app.
hostHeader
IIS and nginx pick which site answers from this header. If your app is bound to a hostname, the default will 404 while the app itself is perfectly fine.
staticStatic bundle (any path)operator only

Serve a built folder — a Vite or Next export — straight from disk, by absolute path. Operator-only, because the path is unconstrained.

dir
Absolute path to the build
spa
Unknown paths fall back to index.html. Turn it off for a plain static site, so a missing page 404s honestly instead of returning the homepage.
bundleUploaded bundle (this site’s files)

Serve the build you uploaded to this site on the Files tab. Same serving as a static bundle, but the folder is this site’s own — no server paths involved, which is why a member may use it and static is operator-only.

dir
Relative to this site’s own storage. Empty means the root of what you uploaded. A .. segment is refused — escaping the site folder is the one thing this kind exists to make impossible.
spa
Unknown paths fall back to index.html.
redirectRedirect

Send visitors somewhere else. What makes a domain migration painless.

to
An absolute http(s) URL, or a path on this site starting with /.
preservePath
/about arrives at the destination’s /about rather than at its homepage.
permanent
Off by default: browsers cache a permanent redirect, so a wrong one is painful to undo. Turn it on once the move is final.

View modes

A view mode answers the other half — what kind of page this is. It decides the fields you fill in and the renderer that draws them. Every mode has a renderer and every renderer has a mode; a guard asserts both directions, so nothing here can be listed and unbuildable.

34 modes
ModeNameGroupFieldsLayoutsNeeds
agentAgent Modeapp11Card, Framedexternal
cellCell Modeapp11
dataAppDataApp Modeapp5Table, Dense, Cards
deckCommand Deckapp3
embedEmbed Modeapp5Framed, Full screenexternal
forgeForgefull screenapp1
hudHUD / Display Modefull screenapp8
mcpMCP Servernot a pageapp3storage
mediaGlobeMedia Globe Modefull screenapp4
operatorOperator Deckapp4Command — rails either side, Focus — the operator alone
osOS Desktop Modefull screenapp1
reviewReview Modeapp10
serverServer Modeapp9Status, Framedexternal
serviceService Modeapp9Offer, Tiers, List
toolClusterTool Cluster Modeapp3
fundraisingFundraising Modecommerce11
multiPageFormMulti-Page Form Modecommerce8
storefrontStorefrontcommerce20Grid, List, Dropstorage, records
blogBlog Modecontent8Cards, Liststorage, records
docsDocs Modecontent9Manuscript, Sidebar, Reference
faqFAQ Modecontent6Accordion, Open list, Two columns, Grouped
folderFolder Modecontent8storage
galleryGallery Modecontent5Grid, Masonry, Filmstripstorage
htmlHTML Modecontent5Framed, Inline, Full screenblocks
landingLanding Modecontent12Hero split, Poster, Story, Spotlight, Service, Welcomeblocks
linkPortalLink Portal Modecontent11Stacked list, Grid
locationLocation Modecontent14
policyPolicy Modecontent8Numbered, Plain, Plain-language
portalPortal Modecontent5Tiles, Rows, Single column
timelineTimeline Modecontent7Vertical, Alternating, Compact, Milestones
defaultDefaultcore3
wireframeBlueprintcore5
exeExe Downloadsdistribution5storage
repoRepo Modedistribution13

Fields is how many values that mode’s form accepts. Layouts are the arrangements it can be drawn in. Needs is what the mode requires of the platform — storage for uploaded files, records for a collection it reads, external for something you run elsewhere, blocks for a page you compose.

Generated from the Leumas repository. Every page cites the file it came from.leumas.techllms.txt