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-cmsnpm create hollware@rc my-cms. Install Hollware has every option.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 (or pass
--token-file owner.tokenand it goes to that file instead); - a link to set up your passkey for the admin, valid for seven days, whenever you want it: your agent works with the token alone;
- how to connect an agent: the line for Claude Code and the block for any other client.
It asks nothing. Options go after --, which npm needs to pass them on:
npm create hollware my-cms -- --token-file owner.token # the token to a file, never on the screen
npm create hollware my-cms -- --no-git # skip git init
npm create hollware my-cms -- --preset docs --locales en,es # start from docs, in two locales
pnpm create hollware my-cms --pm pnpm # install with pnpm
npm create hollware -- --help # every optionStart it
cd my-cms
npx hollware devIt says Hollware is ready at http://localhost:5199 once it answers. MCP is at /mcp, the admin at /admin/, the read API at /v1, and the health check at /health. Stop it with Ctrl+C. An agent that must keep working runs npx hollware dev --detach and, at the end, npx hollware dev --stop.
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
Put the token in the environment and paste the line the install printed (or ask npx hollware mcp-config for it, with --client cursor or --client vscode for those):
export HOLLWARE_TOKEN="$(cat owner.token)"
claude mcp add --transport http hollware http://localhost:5199/mcp --header 'Authorization: Bearer ${HOLLWARE_TOKEN}'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
- Connect an agent in more detail, with OAuth instead of a token.
- Configure your content to make the starter's blog your own.
- Deploy when you are ready.