C&C Docs
C&C is a server-first toolkit: you write plain HTML blocks with a small set of x- attributes, they render on the server and come alive in the browser, with no build step. Every page here runs against the stack serving it.
Templates
A block is an HTML file with a few x- attributes. This is what those attributes do.
Put data on the page: text, conditions, lists, attributes, form fields, raw HTML and icons.
Embed one block in another and re-fetch it when its inputs change; render trees that contain themselves.
Pages
How a file on disk becomes a URL, how pages share a layout, and how a page gets its data.
blocks/*.html are the routes, the server sends each page complete, and a page wraps into a shared layout.
A link or a line of code swaps one named region of the page, and the address remembers it.
A block that answers JSON, and a module that brings widgets and code with it.
Code
A block has one controller. It runs on the server for the render, then again in the browser. Services are the code you call by name.
The default export is the page state. $update runs before every render; a $-method runs on the server when the page calls it.
Click handlers, event modifiers, transitions, tooltips and the init() that runs once the page is alive.
Platform services
The $-bindings every controller can call. Each is a store the platform keeps for you, with its rules built in.
Widgets
Reusable components: how to write one, and the library that ships with the platform.
A template, props, slots, a controller and scoped styles, built up on two small widgets.
The widgets the platform ships, each with a live page, a spec and a playground.
Theming
A theme manifest becomes CSS variables and utilities; colour mode and the design system are one cookie each.
cnc.json declares the colours; the visitor picks light or dark and a design system.
Tooling
The cnc command line: scaffold, serve, test and ship.
None of it runs inside an app, so this page shows the terminal: new, dev, test, deploy.