---
title: Quickstart
description: Get a ready-made page running live on Quilium, served from your machine, in about two minutes. No AI, no build step.
updated: 2026-07-26
prev: what-is-quilium
---

This is the fastest way to see Quilium work: take a ready-made demo and run it locally. It is the common starting point, before you choose how to build (with AI or by hand).

<div class="q-callout q-callout-note">
  <i class="fa-solid fa-circle-info lead"></i>
  <div><b>Before you start.</b> You need a Quilium account, and Node 20 or later to install the CLI. Nothing else: no build tooling, no framework. The demo is a plain page (Tailwind via CDN) that Quilium serves dynamically.</div>
</div>

## 1. Install the CLI

```bash
npm i -g quilium
```

## 2. Log in

```bash
quilium login
```

Your browser opens, you approve, and that is it. The CLI runs an OAuth flow and refreshes your credentials on its own.

<div class="q-callout q-callout-tip">
  <i class="fa-solid fa-lightbulb lead"></i>
  <div><b>If anything goes wrong later, start here.</b> <code>quilium whoami</code> tells you which account you are signed in as, and whether it can reach the site. Run from a project folder it also gives the site verdict, which beats discovering a 403 in the middle of a push.</div>
</div>

## 3. Create a site from the Quickstart demo

In the dashboard, create a new site. At the **Starting point** step, keep **An existing theme in the library** and choose **Slate - Quickstart**, a small pre-built page ready to run. The other option, a custom site built from your own HTML files, is the path the [AI tutorial](/en/docs/ai-setup) takes.

![The Starting point step of site creation, with "An existing theme in the library" selected and the Slate - Quickstart theme picked.](/thumbs/63e9a920-aa3f-11f1-8fb2-1b3bcdac1d09.png)

## 4. Check out the project

Pull the demo into a local folder. `quilium init` takes the **site ID** and a target directory (`--dir` is required).

```bash
quilium init <site-id> --dir slate-quickstart
```

It writes a `quilium.json` (your site ID and name), then downloads the theme: the Liquid templates, the `elements/` blocks and the `public/` assets. Move into the folder:

```bash
cd slate-quickstart
```

Later, `quilium pull` re-downloads the theme on its own, when you want to pick up changes made elsewhere.

<div class="q-callout q-callout-note">
  <i class="fa-solid fa-circle-info lead"></i>
  <div><b>What you just pulled.</b> The <code>default</code> page-type stacks four content blocks, hero, about, work and contact, in its <code>row1</code> drop-zone. Each is a content-type with its own template under <code>elements/</code>. There is no collection and no routing yet, and that is the point.</div>
</div>

## 5. Run it locally

Start the local server (it serves your local templates with your site's draft content):

```bash
quilium run
```

```text
Starting Quilium. Use Ctrl+C to stop.

  Server running at http://localhost:9000
  Mode: draft
```

Open that URL. Your demo page is now served dynamically by Quilium, not as a static file. The server renders **your local templates** against the site's **draft** content, which is exactly what you want while you work. If port 9000 is taken, pass another one: `quilium run 9016`.

## 6. Make it yours

The page is your Liquid, running live. Open `elements/hero.liquid`, change something visible, the hero heading's markup, a Tailwind class, save, and reload the local page. Your edit is on screen. That is the whole "it's my HTML, and it's alive" moment.

<div class="q-callout q-callout-tip">
  <i class="fa-solid fa-lightbulb lead"></i>
  <div><b>That is the whole point.</b> The page is already built from a few content blocks, and the copy they show (titles, the project list) lives as <b>structured content</b> in Quilium, which is what makes it editable without touching a template. The demo ships those blocks ready, so you have not modelled anything yourself yet. Growing the model, a real collection of projects, comes next.</div>
</div>

There is nothing to restart and nothing to rebuild: the server reads your templates from disk on every request, so saving and reloading the page is the whole loop.

## What is next

You have a site running locally. Pick where you go from here:

<div class="q-cards">
  <a class="q-card reco" href="/en/docs/collection-from-a-list">
    <span class="k">Recommended</span>
    <span class="t">Grow this onepager</span>
    <span class="d">Stay on the same project: turn the work list into a real collection, then add pages and publish.</span>
  </a>
  <a class="q-card" href="/en/docs/ai-setup">
    <span class="t">Build from a prototype, with AI</span>
    <span class="d">Start a full site from an HTML prototype and let agents do the structure, the templates and the content.</span>
  </a>
  <a class="q-card" href="/en/docs/build-a-template">
    <span class="t">Pick a how-to guide</span>
    <span class="d">Or stop here and go straight to the guide for the thing you actually need to build.</span>
  </a>
</div>

Whichever you pick, the next big idea is the content model, page-types, content-types, and turning a repeating list into a real collection. See [The content model](/en/docs/content-model).
