Getting started

Quickstart

Create a Hollware project, run it locally and publish a first post with an agent, in about five minutes.

Quickstart

You need Node.js 24 or later. A Cloudflare account comes in later, when you deploy.

Create a project

npm create hollware my-cms

It copies the starter into my-cms, installs it, creates the local database and makes your site, its owner and a first personal token. At the end it prints three things:

  • the token, once: copy it now, Hollware keeps only its hash;
  • a link to set up your passkey for the admin, valid for seven days;
  • the command that connects Claude Code to your Hollware.

It asks nothing. Options go after --, which npm needs to pass them on:

npm create hollware my-cms -- --no-git          # skip git init
pnpm create hollware my-cms --pm pnpm           # install with pnpm
npm create hollware -- --help                   # every option

Start it

cd my-cms
npm run dev

Hollware answers at http://localhost:5199. MCP is at /mcp, the admin at /admin/, the read API at /v1, and the health check at /health. Stop it with Ctrl+C.

Run every npx hollware … command from inside my-cms: the CLI works on the project in the current directory, and on its local database unless you pass --remote.

Connect your agent

Paste the command that the install printed. It looks like this:

claude mcp add --transport http hollware http://localhost:5199/mcp --header "Authorization: Bearer hw_pat_..."

Then ask your agent to write something:

Read the Hollware site, then write a short post in English about why plain text lasts, and publish it.

The agent calls describe_site to learn your collections and rules, writes with create_draft, fixes what the verdict reports, and calls publish.

A post of the starter's blog, if you write one yourself, looks like this. describe_site returns the same rules as a JSON Schema:

---
title: Why plain text lasts
description: Files that any editor opens outlive the tools that made them.
date: 2026-10-15
tags:
  - writing
translationGroup: why-plain-text-lasts
---

# Why plain text lasts

Plain text opens anywhere, diffs cleanly and needs no migration.

Look at it

Open http://localhost:5199/admin/, sign in with the passkey you set up, and you will find the post under Entries, with every revision.

Next