Curvea

Getting Started

Production Build

Create production output with:

npm run build

The generated project script invokes curvea build from the local @curvea/cli dependency.

Output

Curvea writes the static site to:

dist/

Each public route is emitted as an index.html file:

/              -> dist/index.html
/about         -> dist/about/index.html
/blog/post-one -> dist/blog/post-one/index.html

Before writing a new build, Curvea validates that src/pages exists and contains at least one .csc page. A missing or empty pages directory causes the build to fail rather than clearing the previous dist output.

Once page discovery succeeds, the build recreates dist, prepares assets, resolves routes/data/content/templates, renders final HTML through the document layer, and optionally writes sitemap.xml.

Sitemap

When the sitemap feature is enabled, the build writes:

dist/sitemap.xml

Sitemap generation requires site.url in curvea.config.json.

CI

For a committed project with a lockfile, a typical clean build is:

npm ci
npm run build

Deploy the generated dist directory; do not commit dist as part of the normal Curvea source workflow.