Foundry Browse the components
Design system for Symfony apps

Start the next app from something already proven

Foundry is the theme, the four page shells and the component catalogue every one of our Symfony apps copies from. New projects don't start with a blank stylesheet; they start here and change the accent colour.

colour pairs measured, not guessed
150+
components in the catalogue
40+
themes, high contrast included
3
Node build steps
0

Why teams pick Foundry

Contrast is measured, not guessed

Every colour that carries text sits next to its measured ratio, and a script re-measures every pair whenever a colour changes. WCAG 2.2 AA is the floor; high contrast aims at 7:1.

Each app keeps its own colour

Swap one accent and the whole kit follows. Each app gets its own part of the colour wheel, roughly 20 degrees from the next, so three open in a taskbar are still three different apps.

Four shells, already decided

Sign-in, app, notice and error pages, each with its focus order, landmarks and phone layout worked out once.

Server-rendered, no bundler

Twig, Stimulus and Turbo through AssetMapper. Sass compiles through Composer. There's no node_modules folder to keep patched.

Strict security headers

A nonce-based CSP with no unsafe-inline, so nothing in the catalogue relies on an inline handler or style that production would silently drop.

Features

Customise

Light, dark, high contrast, and the layout to match

One panel switches theme, skin, menu layout, width and density. It saves to a cookie and renders on the server, so the next page never flashes the wrong colours.

  • Vertical, collapsed or horizontal menu
  • Bordered and semi-dark skins
  • Preview it in 15 accessible accents
Components

The screens every business app ends up needing

Data tables with real sorting, kanban, calendar, Gantt, approvals, tickets, chat, invoices, account settings, pricing and checkout. Each one is a working page, not a screenshot.

  • Forms that validate on the server and say how to fix it
  • Destructive actions behind one accessible confirm
  • Charts with a data table behind every one

How it works

  1. Copy what you need

    Take a partial, a component or a whole shell. It is a reference app, not a package, so nothing ties you to an upgrade cycle.

  2. Rename the prefix and pick an accent

    Change --fo- to your own two letters and set one colour. The contrast script tells you if it holds.

  3. Ship the boring parts on day one

    Error pages, the privacy notice, a health check and the help panel come with the shells, so launch week is about the product.

Questions

Something not covered? Ask us.

Is Foundry for sale?
No. It's the shared base for our own apps, published so the people who work on them can see every pattern in one place.
Which Bootstrap and PHP versions?
Bootstrap 5.3 on Symfony 7.4 LTS and PHP 8.4, the same versions production runs.
Does it need Node?
No. Sass compiles through a Composer package and JavaScript loads through an import map.
How accessible is it?
Built to WCAG 2.2 AA, with every colour pair measured. The accessibility statement lists what has and hasn't been tested.

See it for yourself

Every page here is the real thing: click around, switch the theme, break a form.

Browse the components

Help

About this page

This is Foundry, the shared base theme - a component catalogue other apps copy their SCSS partials and Twig components out of. Nothing on this site is real data.


Without a mouse

Every control on this site works from the keyboard, including this panel (Escape closes it). Anything you can drag also has a menu or form that does the same thing.


Still stuck?