Foundry is a free Tailwind agency portfolio template, MIT licensed, for a studio putting its own work online.
The demo content is a fictional twelve-person studio in a railway arch: real prices on the services ledger, four case studies written out in full with teams and outcome figures, six named people. You can see the shape of a finished site before you replace a word of it.
Two editions ship in this repository: a Next.js 15 project in src/, and an independently written static site in html/dist/ that runs with no build step.
Live demo · Foundry on tailthemes.com
The mode is one class on the root element, and both sides of it are tokens in src/theme.css. There are no dark: utilities to keep in sync, and nothing reads the operating system setting behind your back.
bun install
bun devThen open http://localhost:3000.
The project is bun first, and that is a real constraint rather than a preference: npm install and npm run dev work, but build:html and preview:html invoke bun directly, so the HTML edition needs it installed either way.
- 8 routes:
/,/work,/services,/team,/contact,/journal,/legal,/components - 33 components, one file each, every one named in
theme.json - 50 design tokens, each with a dark counterpart, all in
src/theme.css - 8 compiled HTML pages in
html/dist/, deployable as static files - 4 agent skills in
.claude/skills/:add-page,add-section,check-quality,rebrand - 3 typefaces self hosted in
src/fonts/: Archivo, Fraunces and IBM Plex Mono - 1 dependency beyond React and Next.js:
lucide-react AGENTS.md, the file map and invariants, written for the agent in your editor
Every colour, radius, shadow and type step is a token in src/theme.css. Change the values, keep the names, and both editions follow. Nothing under src/components/ needs an edit.
Agents get the procedure in writing: point yours at .claude/skills/rebrand.
html/dist/ is the compiled site: 8 pages, one stylesheet, local fonts, local images, one vanilla script. Upload the folder to any static host. No Node, no framework, no build.
Its source is Nunjucks under html/src/. After editing it:
bun run build:html
bun run preview:html # http://localhost:4173The HTML edition is written by hand, not exported from React. It imports the same src/theme.css, so one token table serves both editions.
This repository is generated from our own source, so a patch merged here is overwritten by the next release. Open an issue instead and the fix lands upstream, then comes back in the next version. Forking is open, which is what the MIT grant is for.
The theme is MIT licensed. Use it in commercial work, modify it, ship it, resell what you build with it. No attribution required.
The typefaces are not ours to relicense. Archivo, Fraunces and IBM Plex Mono ship under the SIL Open Font License 1.1. Each family's license text sits verbatim beside its .woff2 file in src/fonts/. Keep those files with the fonts and you are within terms.
Every image in the theme was generated by us and is covered by the MIT grant. No stock photography has ever entered a tailthemes.com theme.
Foundry's page has the full preview, the changelog and the download. The catalog has the rest: 3 more free themes and the paid ones, all built the same way.


