gatsby-themes is a free, open-source monorepo of Gatsby themes by LekoArts that ships ready-made, customizable starters for blogs, portfolios, dashboards, and design systems.
What is gatsby-themes?
gatsby-themes is a collection of theme packages and starter projects for Gatsby, maintained by LekoArts. It accepts a Gatsby site project and lets you install individual @lekoarts/gatsby-theme-* packages, or copy the examples folders as a starter scaffold. It produces production-ready static sites built with React and GraphQL, styled with Theme UI, and written in TypeScript. The repository is organized as a yarn workspace monorepo with Changesets for versioning and publishing.
Key Features
- Theme UI styling — All themes use Theme UI for design-token-based styling, so you can adapt colors, typography, and spacing to your brand.
- TypeScript-first — Themes and shared utilities are written in TypeScript, giving you type safety across starter projects.
- Ready-to-use starters — The
examplesdirectory contains full starter sites for each theme, extended with Gatsby plugins likegatsby-plugin-manifestfor PWA support. - Broad theme selection — The collection includes themes such as minimal-blog, cara (portfolio), emma (portfolio), emilia, jodie, status-dashboard, specimens, and graphql-playground (theme names from the README's npmcharts comparison).
- Automated testing setup — Cypress end-to-end tests run against example sites, while Vitest handles unit tests for utilities.
- Monorepo with Changesets — Uses yarn workspaces and Changesets to manage dependencies, releases, and changelogs in one repository.
- MIT licensed — Every theme is released under the MIT license, free for personal and commercial use.
- Plop scaffolding —
plop-templateslets contributors scaffold new theme packages quickly.
Who is it for?
- Gatsby developers who want to skip boilerplate setup and install a polished theme package from npm under the
@lekoartsscope. - Freelancers and agencies who need to launch client sites fast, using the example projects as production-ready starting points.
- Content creators and bloggers who can start a blog with the minimal-blog theme and customize it through Theme UI tokens.
- Open-source contributors who can fork the repo, run
yarn workspace [examples/name] developto preview changes, and submit pull requests; GitHub Actions run Cypress and Vitest checks.
What can you do with gatsby-themes?
- Bloggers: Launch a minimal blog with the
gatsby-theme-minimal-blogstarter, which includes example content and a manifest plugin for installability. - Portfolio owners: Pick
gatsby-theme-caraorgatsby-theme-emmato build stylish portfolio sites with project showcases. - Design-system teams: Use the
specimenstheme to create a living style guide for colors, typography, and other design tokens. - Developers: Build a status dashboard with the dedicated
status-dashboardtheme to visualize system health data.
How does gatsby-themes work?
The repository uses yarn workspaces, so after cloning you run yarn at the root to install dependencies. To develop an example site, run yarn workspace [examples/name] develop (for example, yarn workspace emma develop) to get hot-reloading. GitHub Actions automatically publishes the examples folders as separate starter repositories and handles npm package releases.
FAQ
Is gatsby-themes free?
Yes. All themes are released under the MIT license, so you can use them for personal and commercial projects without paying a license fee.
Which Gatsby themes are included?
The collection includes minimal-blog, cara, emma, emilia, jodie, status-dashboard, specimens, graphql-playground, and styleguide, among others. Each theme has a corresponding example in the examples folder.
How do I use a theme from this repository?
You have two options: copy the example starter project for your chosen theme from the examples directory, or install the theme package from npm using the @lekoarts scope, e.g. @lekoarts/gatsby-theme-minimal-blog.
What tech stack do the themes use?
The themes are built on Gatsby and React, styled with Theme UI, and written in TypeScript. The monorepo uses yarn workspaces, Changesets, Cypress for end-to-end tests, and Vitest for unit tests.





