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?
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
Tell us what you have in mind.
A quiet journal, a colourful magazine, a bold studio blog—describe the publication you want to make.
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.
Read the full prompt
Build a newsletter using Caveat, with an original design based on my brief. 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. Create a cohesive design from my brief. Suggest a readable typeface from Caveat's font catalogue, a colour palette, and a layout before implementing them. If the brief is empty, ask me about my subject and preferred visual direction. 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. 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.
Made a design other writers could use?
Submit an example on GitHub