The website for Lean Mean Clean Apps, published at leanmeancleanapps.github.io. It's a home page that points people at the templates and the people behind them, plus the docs for every template and the brand. One site, no framework drama, no cookie banner.
| Template | Home page |
|---|---|
| Clean Minimal API | /minimalapi/ |
| Clean Model Context Protocol | /mcp/ |
| Clean GraphQL API | /graphql/ |
| Clean Web API | /webapi/ |
| Clean Lambda Function | /lambda/ |
| The brand | /brand/ |
You need Node 24 and a checkout of the brand repository in .brand or next to this one (see The brand files).
npm ci
npm run devThe home page is src/pages/index.astro, the templates it lists are in src/data/templates.ts, and its styles are in src/styles/site.css.
The template docs are built with Starlight. Each template has a folder in src/content/docs named after its key, and its index.mdx is the template's home page, the one its repository links to. Each template also gets its own sidebar, set in astro.config.mjs, and its own colour, which src/components/docs/Head.astro picks from the first part of the page's path. Same site, five outfits.
To add a page, drop a Markdown or MDX file in the template's folder and add it to that template's sidebar.
The brand pages at /brand/ live in src/content/docs/brand, with their components in src/components/brand and their styles in src/styles/docs/brand.css. They're a sidebar topic like the templates, dressed in the organisation's colours.
The logos, icons, link previews, colour tokens and every file on the brand pages come from the brand repository, and none of them are committed here. npm run dev and npm run build copy them in first with scripts/sync-brand.mjs, which looks for a checkout of brand in .brand and then ../brand. If you haven't got one yet:
git clone --depth 1 https://github.com/LeanMeanCleanApps/brand .brandCI checks out the newest brand release into .brand on every build, and builds the site every morning, so a brand release shows up here by the next day. Can't wait that long? Run the Site workflow by hand. Changes merged into brand but not released yet stay on the cutting-room floor until they are. To add a template, add it to src/data/templates.ts with the same key it has in the brand repository.
Every push to main, and every morning, builds the site and publishes it to GitHub Pages. Pull requests build it without publishing, so you can break things in private.
Spotted a typo, a broken link or a template we forgot? Open an issue or a pull request. Branch from main as feature/, fix/ or chore/, run npm run build before you push, and keep each change to one thing. The organisation's contributing guide, code of conduct and security policy apply here too.
The site, like everything behind it, is built and maintained by the Lean Mean Clean Apps team, which is Stephen Walsh for now, with strong coffee and a healthy disregard for pomp and ceremony. If the templates save you some time, you can sponsor the work.
MIT.
