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
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
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
-
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.
-
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.
-
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?
Which Bootstrap and PHP versions?
Does it need Node?
How accessible is it?
See it for yourself
Every page here is the real thing: click around, switch the theme, break a form.
Browse the components