The canvas
Select, drag and type on the page itself. Every action is an edit to the document, with a hundred steps of undo. Motion holds still here, so you design the finished frame.
Every web build we deliver is designed, published and handed over in Terminal.
Start a projectNeed a person? Support replies within one business day.
SupportThe Stacklumen Design Language, SDL, is the typed, versioned document every Terminal site is stored in. The canvas, the code view, repository imports and agents all write to it; Preview and publishing compile it. We designed it, and we build everything that reads and writes it.
Comes in
Translated once
The document
One compiler
Goes out
Every panel in the designer reads and writes the same document, so the canvas, the inspector, the code view and everyone else in the site always agree.
Select, drag and type on the page itself. Every action is an edit to the document, with a hundred steps of undo. Motion holds still here, so you design the finished frame.
Style one element, a class or a combination of classes, at any breakpoint and in any state. Styles cascade down from Desktop.
Reusable classes, and named colours, sizes and fonts with Light, Dark and modes of your own.
Save a section once and every placement follows your edits. Props let one placement differ without unlinking it.
The page as HTML and its styles as CSS. What you type becomes the same edits the canvas makes, with the same undo.
Everyone in a site edits the same document at once. Changes travel field by field, so two people on different things never overwrite each other.
The page as publishing renders it, with interactions, motion, dark mode and forms running, in a sandboxed frame.
The saved document becomes static pages, served as a snapshot. Recent deployments are kept, and any of them can be restored.
A Terminal site is not a folder of files. Everything the designer shows is a field in one document, and everything that ships is compiled from it.
Interactions, states and scripts belong to the element they act on, set in the inspector. They travel with it wherever it goes: a copy, a component, a publish.
A trigger — a click, a hover, the page loading, or an element scrolling into view or past — and an effect on one element or many: show, hide or toggle it, toggle a class or an attribute, play an entrance or an animation, scroll to it or follow a link. Menus and panels close on Escape, a click outside or a link, and can take turns in a group.
Fades, slides from any side, scales and pops, each with its own duration, delay and easing, and staggered across a set. Run one once or every time, and reverse a hover when the pointer leaves.
Hover, focus and active styles for an element or a whole class, eased by transitions you set in the inspector.
A site’s keyframe animations, written by hand or brought in by an import, are tables you edit stop by stop, each stop with its own easing. The inspector shows where each one plays on the page, including those tied to scrolling.
| On the canvas | In Preview | On the published site | |
|---|---|---|---|
| Entrances | Not played, so you see the element as it settles | Play | Play, and appear at once for visitors who ask for less motion |
| Keyframe animations and transitions | Held still, so you design the finished page | Play | Play |
| Interactions | A click selects; nothing triggers. A closed panel opens while you select it | Run | Run |
| Scripts | Listed and edited in the inspector, never run | Run in a sandboxed frame | Run with the page |
| Custom code | Drawn in a frame with its scripts switched off | Runs in a sandboxed frame | Runs with the page |
What leaves Terminal is compiled from the same document, so Preview and the live site agree, and a file in a repository says what the canvas says.
Static pages, collection item pages and a sitemap, minified, with fonts and the first image loaded early. Served as a snapshot you can roll back.
The same build in a sandboxed frame, before anything is live, at any width and in any mode.
A push writes the site’s pages as HTML and its styles as CSS to a linked repository, as one commit.
Variables leave as CSS custom properties or design-token JSON, every mode included.
The same document emitted as a component project for the common frameworks, with its tokens beside it.
Link a repository and import its pages. They land as native SDL: sections you can select, text you can retype, classes you can restyle.
Pick the pages you want. The repository is read from GitHub, in one download when that is quicker, and only the files those pages use are kept. Nothing in it is built or run, and each stage shows as it goes.
When the repository names its website, each page is checked against what that site serves, so the words that land are the words visitors see.
Pages, layouts and components become sections and elements. Styles land in the site’s stylesheet, content folders become collections, and images move into Assets.
Keyframe animations, transitions and hover styles come across, and utility classes are compiled to plain CSS. Accessible menus and tabs and common scroll reveals become native interactions, and the site’s own scripts come in as scripts you can read and edit.
Edits to pages read from source go back as a pull request: the smallest change to the file and line each element came from.
What the import could not bring in, such as a script too large to carry, is listed in its report with the file it came from.
The language decides what a page can hold, so whatever arrives, from a person, an import or an agent, passes through the same rules.
How we handle your data, sign-in and hosting is on the security page.
The language, the compiler, the runtime, the importer and the editor are designed and built by Stacklumen. Your editable source stays in your workspace on our servers; what ships to visitors is compiled output.
The full schema is not published. Agents edit a site through a documented set of operations, the same edits a person makes, and the library installs only into a workspace entitled to it.
Open Terminal and start a site, or link a repository and watch its pages land as something you can edit. The documentation covers every panel.