tailthemes
all-access

sent here for Covers

restaurant website template tailwind reactReact and HTML source

local business

Coversrestaurant website template Tailwind React

Covers is a restaurant website template for Tailwind and React, built for the agency putting a client's dining room online on a fixed fee.

Live Preview
$14
both modes at 1280px
Covers – Restaurant & Dining Room home page, light mode
Covers – Restaurant & Dining Room home page, light mode
Covers – Restaurant & Dining Room home page, dark mode
lightdark
90 / 90
light / dark tokens
2
modes, both designed
1
DOM, rendered twice
restaurant website template tailwind reactrestaurant nextjs templatetailwind restaurant menu templatenext.js reservation website templatedining room website templatewine bar website template
$14one-time · unlimited projects
39components · every one pictured below
Live Preview
  • unlimited projects, client work included
  • 12 months of updates
  • 14 days, no questions
license terms

AGENTS.md and 4 skills ship in the zip, so your own agent keeps changing it after you buy.

docs: install, use, customize
016

pages, composed from 23 sections

Every page is a real render from the publish gate, in the mode on show. Open any of them in the live preview.

Its signature is the room plan: a schematic top-down drawing of the dining room computed from the theme's single fixture file, so covers, tonight's service, which tables book online and whether the accessible WC is reachable without a step are drawn rather than asserted. The plan is drawn at two scales that are exactly a factor of two apart, and the type ladder is built on the same interval, so the heading beside a doubled drawing is itself doubled. The fiction is Rivelin, a 46-cover neighbourhood dining room and wine bar on the ground floor of a former cutlery works in Sheffield. Its card carries 41 items and nine wines by the glass, with a 46-character dish name, one item priced on the day and one off tonight, because a menu component that only survives six short dishes has not been tested. The palette is a near-white page with the drawing on its own chalk-blue drafting sheet and a deep olive ink, 85 tokens across light and dark, authored in OKLCH and verified pair by pair. The hero sets the working print of the plan over a photograph of the room it draws, and the photography is the theme's own: two shoots, four daylight room shots with four overhead dish plates, and a second after-dark set of five that gives /visit the building from the street, the way in and the room under its own lights, all generated for this theme and licensed with it. Six routes ship: the home page, the card, the room, booking, visiting, and a living styleguide that renders every one of the 37 components in a labelled frame. Three things are configurable in one file and both states of each ship — the room figure as the plan or as four generated room photographs, the menu index by service or by course, and booking as a local request control or a handoff to the client's existing provider. The booking form is honest: it offers only the service windows the fixture has, greys the days the kitchen is shut, refuses a date it is closed on, switches to a snug enquiry above the largest bookable table, and hands the request to one documented adapter seam instead of faking a confirmation.

0223 + 16

sections and primitives

You get the parts, not just the demo site. Every frame is a real capture from the theme's own styleguide page, and the source path under it is where the file lands in your project. 27 frames cover them, with 13 primitives sharing the ui/* frame.

hero

src/components/hero.tsx

Hero archetype A5, hard 50/50: the room stated plainly beside the window photograph with the working print of the plan pinned over its lower corner, marked for tonight's service, with covers by section, the online party cap and one primary action

Covers restaurant website template Tailwind React — hero component at full size
1 / 27
0390

tokens, both modes

Change one variable and every part follows. Each badge is one token split down the middle: its light value on the left, its dark value on the right, with the theme's own paired ink on both halves.

roles10 of 90

hover or tab a badge for its name and both values, enter copies

supporting50
radius
0.875rem
0.5rem

The room plan: a schematic top-down drawing of the dining room whose geometry, covers, section totals, online party cap and step-free route are all computed from the same fixture that sets the card. It recurs on /, /menus, /room and /book, at 560px in the hero and exactly 1120px on /room, so the doubling in the drawing and the doubling in the type ladder are the same interval.

every token

043

typefaces, self-hosted

Real woff2 files in src/fonts/, wired through next/font and licensed under OFL. Nothing is fetched from Google at build time, so the zip renders these letterforms offline. Scale ratio 1.414.

Covers

Covers is a restaurant website template for Tailwind and React, built for the agency putting a client's dining room online on a fixed fee.

const { open, close } = useLedger("2026-03") // 0123456789

icons · lucide-react · stroke 2
13px
14px
16px
display
Young Serif
text
Work Sans
mono
DM Mono
scaleratio 1.414
  • captionAg
  • smallAg
  • bodyAg
  • leadAg
  • d1Ag
  • d2Ag
  • d3Ag
  • d4Ag
05375–1920

every width is a real render from the publish gate

Four viewports, each one a render the gate produced and checked. Switch between them: the frame narrows exactly as a window does, because that is what it is.

home page at 1280px, light mode
Covers restaurant website template Tailwind React — home page at 1280px
1280
061

every token and every part on one page

The styleguide route is not documentation about the theme. It is a page in the zip that renders the real components from the real tokens, so it stays true the day you change one.

07160

files in the zip

Two independently authored editions: React for applications, plus ready HTML, CSS and vanilla JavaScript for static hosts.

what unzipscovers-1.6.2.zip
  • AGENTS.mdthe theme's own rules, written for an agent
  • .claude/skills/4 skills, each one job
    • add-page/SKILL.mdCompose a new Covers route from existing sections, with an opening instrument that is not the previous route's, and register it in both editions and everywhere the pipeline reads.
    • add-section/SKILL.mdGraft a new section into Covers following the theme's own patterns
    • check-quality/SKILL.mdRun Covers' own quality gate locally
    • rebrand/SKILL.mdApply a buyer's brand to Covers
  • src/
    • theme.css90 tokens, light and dark
    • fonts.tsthe faces, wired to the type tokens
    • app/6 files
    • components/23 files
      • ui/17 files
    • assets/13 images, 1 markdown file
    • fonts/5 font files, 3 licenses
  • app/6 routes, plus layout.tsx and globals.css
  • theme.jsonthe manifest: tokens, components, pages
  • html/the framework-free edition
    • dist/6 compiled routes, deploy-ready — no build step
    • src/the Nunjucks source the routes compile from
  • scripts/build-html.ts · serve-html.ts — `bun run build:html` / `preview:html`
  • README.mdquickstart
  • 6 project filespackage.json · tsconfig.json · next.config.ts · postcss.config.mjs · env.d.ts · .gitignore
your agent reads these first
what it runs on
next >=15 <17react >=19 <20tailwind >=4 <5HTMLlucide-reactstandard license
install into a project you already have
$ bunx shadcn add @tailthemes/covers

Your key goes in TAILTHEMES_LICENSE_KEY, and the registry entry goes in components.json. The snippet is on the docs page.

or run it standalone
$ unzip covers.zip && bun install && bun dev
Read this theme's AGENTS.md
084

skills your agent can run

Your agent reads AGENTS.md before it edits, then runs the skill that fits the change. The skills are the theme's own, and the publish gate makes an agent complete every one of them in a scratch copy before the theme goes live.

the source

39 components, 6 pages and 90 tokens, as a Next.js project.

the kit

AGENTS.md carries the design spec. Each skill is one job written against it.

add-pageadd-sectioncheck-qualityrebrand
your agent

Claude Code, Codex, or any agent that reads AGENTS.md. It runs on your machine, on your own account.

the new page

Built from the theme's own sections, on the same tokens and the same rhythm.

the spec travels with the code

The source is yours to run, edit and deploy.

The spec ships inside the folder, so the page your agent adds next month is built by the same rules as the ten it came with. Nothing calls back here.

What the standard license covers
before you decide
What do I actually get?
A runnable Next.js >=15 <17 project — not a screenshot and not a component dump. 6 pages, 23 sections and 16 primitives, 90 light tokens with 90 dark overrides, self-hosted fonts, and every image generated for this theme. AGENTS.md and 4 skills ship inside the zip, so your own agent can keep changing it after you buy. The same pages also ship as a framework-free HTML edition, with local fonts and vanilla JavaScript.
Does it include the pages I'd otherwise have to build?
Covers ships rivelin: 46 covers, drawn to scale, the card: 41 dishes, indexed by service, the room: 46 covers across four sections, request a table, or take the snug, opening hours, exceptions and step-free access and the parts. Every one of them is a real route in the project with real content — you can open all of them in the live preview before you pay, and what you see there is what unzips.
Will it work with my stack?
Built for Tailwind >=4 <5, Next.js >=15 <17 and React >=19 <20. Runtime dependencies are lucide-react — nothing else is required. The styling is tokens and Tailwind utilities, so it drops into an existing app rather than asking you to adopt a framework.
How long before it stops looking like a template?
The palette, type and spacing are 90 named tokens in one file, with 90 overrides for dark mode — change those and every screen moves together, which is the whole reason the theme is built as a system rather than as pages. Nothing here claims a number of hours: how long it takes depends on how far you move it.
Can I use it for client work?
Yes. One payment, unlimited projects, client work included, and 12 months of updates. Fourteen days to change your mind, no questions asked. The full terms are published, and this page and that page are the same source.
activity
39
components
sections + primitives
6
pages
all in the preview
last updated
v1.6.2
roadmap
  • v1.6.2: Request a table in the header is now quiet, dietary marks show their letter alone, and the menus opener no longer leaves a gap under the heading.
  • v1.6.1 — container width and heading variant take their canonical names, and the booking frame shows its five recovery states as deterministic panes
  • v1.6.0: The hours, the dated exceptions and all 41 dishes are now machine-readable — Restaurant and Menu JSON-LD derived from the same fixture the page reads, in both editions
  • v1.5.0: Both editions can reach dark — the React edition gains the mode toggle it never had, and the HTML one gains the observer that kept its pressed state honest
  • v1.4.0: The React edition joins its HTML edition on the library — field, form and the error summary shared across both
  • v1.3.0: The plan gains a line hierarchy and stops rendering as slabs
  • v1.2: the after-dark pass — /visit opens on the building from Ball Street at night and closes on the lit room with the route's first call to action, plus the three-frame arrival sequence
  • v1.1: the white-page revision — near-white light mode, the room photograph in the hero with the plan pinned over it, seat ticks, glazing and a north point on the drawing
  • v1.0: the room-plan theme ships — six routes, both editions, the drawing on its own sheet, honest booking
  • v0.1: foundations built — the token system, the Rivelin fixture spine and the room-plan primitive
for agents

This listing is also a markdown document and a JSON endpoint. The theme's own agent kit is on the kit and agents plates above.

/api/themes/covers
mcpsearch_themesget_themeget_componentdownload_theme