CLI

Everything you need to run Marque from the terminal.

Run commands from your site folder unless the example says otherwise.

Command reference

marque new

Scaffold a new site from the packaged template.

sh
marque new my-site
marque new my-site --layout sidebar --theme comte
marque new my-site layout:sidebar theme:rustique

Use it when you're starting a project from scratch.

marque serve

Start the local dev server with rebuilds and live reload.

sh
marque serve .
marque serve . 4000

Use it while writing and iterating locally.

marque build

Generate production-ready static output into dist/.

sh
marque build .
marque build ./docs-site

marque theme-template

Generate a theme scaffold from directive output plus a reference theme.

sh
marque theme-template .
marque theme-template . themes/my-theme.css --reference comte

Use it when you want a starter theme that already includes selectors for built-in and project directives.

marque help

Print command help and usage.

sh
marque help
marque --help

Typical flow

marque new my-site

cd my-site

marque serve .

marque build .

Examples

New docs site

sh
marque new docs-site --layout sidebar --theme comte
cd docs-site
marque serve .

Alternate port

sh
marque serve . 4000

Then open http://localhost:4000.

Theme scaffold

sh
marque theme-template . themes/custom.css --reference rustique

Notes

Output

marque build writes generated HTML, CSS, JS, and copied static files to dist/.

Navigation

summary.mq controls labels and ordering. The CLI does not infer navigation structure from folder names alone.

Configuration

Layout, theme, and width defaults come from marque.toml, with per-page overrides in frontmatter.

Troubleshooting

Command not found

  • Confirm Node.js 18 or newer.
  • Reinstall the package if the global command is missing.

Slow watch or file locks on Windows

  • Keep your workflow in one environment.
  • Avoid mixing WSL with files on the Windows-mounted filesystem.

A page builds but is missing from nav

  • Check that it exists in pages/.
  • Add it to summary.mq.