explaingit

roots/sage

13,211PHPAudience · developerComplexity · 3/5Setup · moderate

TLDR

Sage is a modern WordPress starter theme for developers, providing Laravel Blade templates, Tailwind CSS, and Vite hot-reload as a clean foundation for building custom WordPress sites with organized, reusable code.

Mindmap

mindmap
  root((Sage))
    What it does
      WordPress starter theme
      Developer foundation
      Modern tooling
    Templating
      Laravel Blade
      Reusable components
      Acorn companion
    Styling
      Tailwind CSS
      Utility classes
    Build tools
      Vite hot reload
      CSS JS compilation
    WordPress features
      Block editor support
      Standard hooks filters
    Audience
      PHP developers
      WordPress builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a custom WordPress site using Blade component templates instead of WordPress's default tangled PHP files

USE CASE 2

Add Tailwind CSS styling to a WordPress theme with instant browser refresh via Vite during development

USE CASE 3

Create reusable page section components for a WordPress site that also supports the block editor

Tech stack

PHPLaravel BladeTailwind CSSViteWordPressAcorn

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Node.js for the Vite build step and the Acorn WordPress plugin to use Laravel features inside WordPress.

In plain English

Sage is a starter theme for WordPress, the popular system used to build websites and blogs. A starter theme is not a finished design you switch on. It is a clean foundation that a developer builds a custom site on top of, so the work begins with organized, modern code instead of from scratch. What makes Sage different from a typical WordPress theme is the set of tools it brings along. It uses Laravel Blade, a templating system borrowed from the Laravel PHP framework, which lets developers write page layouts as small reusable pieces called components rather than one large tangled file. The connection to Laravel is handled by a companion project called Acorn, which lets the theme use Laravel features inside WordPress. For styling, Sage comes ready to use Tailwind CSS, an approach where you style pages by combining many small utility classes. For the build process, it uses Vite, a tool that compiles the JavaScript and CSS and refreshes the browser quickly while you work, so changes to styles show up almost immediately. Sage also supports the WordPress block editor out of the box, meaning it works with the modern drag and block content editing built into WordPress. The theme is made by Roots, which describes itself as an independent open source organization funded only by the developers who use its tools. The README points readers to the official documentation to install and get started, and notes that sponsoring Roots on GitHub funds the wider Roots ecosystem and unlocks access to a private Discord community. It also lists ways to follow development through Discord, the Roots Discourse forum, Twitter, the blog, and a newsletter. In short, Sage is aimed at developers who already build WordPress sites and want a more structured, modern workflow. It is a technical foundation, so it assumes familiarity with PHP and command line build tools rather than being a point and click theme for beginners.

Copy-paste prompts

Prompt 1
I am setting up Sage on a new WordPress install, walk me through the Acorn plugin setup, running the Vite dev server, and creating my first Blade template component.
Prompt 2
How do I convert a standard WordPress template file into a Sage Blade component with proper data passing from the controller?
Prompt 3
Set up Tailwind CSS in Sage so my custom utility classes are purged correctly in production builds.
Prompt 4
How does Sage handle WordPress hooks and filters differently from a standard theme, and where do I add custom PHP logic?
Open on GitHub → Explain another repo

← roots on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.