Your publication starts here

Start with a look.
Make room for your words.

Choose an example or describe your own idea. Personalise a prompt, then let your AI coding tool build your Caveat site.

Six design references. Your name, your writing, your direction.

1 · Choose a starting point

Which one feels like you?

Explore the full examples

Something entirely your own?

Describe a look, a mood, or a layout. We’ll turn your brief into a prompt you can copy.

2 · Make it yours

Signal, in your own voice.

A dark studio notebook. DM Sans, an ice-blue accent, a large lead story, and a compact grid of experiments.

Preview Signal

What does the prompt do?

It asks your AI coding tool to create a Caveat project with npm create caveat@latest, or customise your existing one.

It changes the public site’s layout, fonts, colours, and branding using your brief. A name you enter here becomes the requested publication name.

Your posts, subscribers, sign-in, and email sending stay intact. The example stories are just a preview.

3 · Copy, paste, build

Paste this into your AI coding tool with access to your project. Review its local preview before deploying.

Copying prepares instructions. It doesn’t run AI, change your site, or deploy anything here.
Read the full prompt
Build a newsletter using Caveat, with the visual direction of the Signal example.

WHAT I WANT
I am starting a new Caveat publication.
Keep my existing publication name, or ask me for one during setup.
Keep my existing author name, or ask me for it during setup.
Use the reference design as a starting point and keep the result easy to read.

SCOPE
Customise the public website's layout, typography, colour palette, spacing, and branding. Use my supplied name and author, not the example's fictional identity. Keep the dashboard, authentication, database behaviour, and email sending intact. This is a request to build and preview code; do not deploy or send email automatically.

START WITH THE OFFICIAL INITIALIZER
Use Node.js 22.12 or newer. In a fresh workspace, run:
npm create caveat@latest my-newsletter
cd my-newsletter
npm run dev

If a Caveat project already exists here, work inside it and preserve its content. Keep Caveat as the application foundation. Before customising, check the installed version and its README. If the installed release lacks the Prisma publication dashboard described below, report the version mismatch so we can update the template release.

Design: A dark studio notebook. DM Sans, an ice-blue accent, a large lead story, and a compact grid of experiments.
Colours: background #142731, text #e5eef1, muted text #b0c2ca, surface #1d3541, borders #36515e, accent #8ad3e8.
Reading font: dm-sans. Treat my design brief as changes to this reference.

The Caveat publication uses Next.js App Router, React, TypeScript, Prisma Postgres, Better Auth, Resend, and plain CSS. Start with src/themes/custom.css and its public website tokens. For layout changes, edit src/components/publication.tsx, src/app/page.tsx, src/app/p/[slug]/page.tsx, src/app/archive/page.tsx, and src/app/about/page.tsx. If included in the installed release, the visual reference is /examples/signal; its renderer is src/components/example-publication.tsx and its styles are src/app/examples/examples.css. Use the design and colours above if the example route is unavailable.

Preserve my posts and subscribers. Preserve Prisma data fetching, owner authentication, draft privacy, RSS, working subscription forms, and the separation between web publishing and email sending. Do not seed the example stories into my database. Keep the dashboard and email templates unchanged. Use the existing Google Fonts and scope custom CSS to .publication-site. Check keyboard navigation, 390px mobile layout, and npm run build. Show me a local preview before deployment.

Standard Caveat setup

Ready to write with the default theme?

Deploy the standard Caveat template directly, then choose your font and accent colour in Settings. Example layouts and custom branding are built from the prompt in your project before you deploy.

Deploy default Caveat Installation guide Uses your own Git and Vercel accounts, with Prisma Postgres for your publication.

Made a design other writers could use?

Submit an example on GitHub