Install
Pressroot is a Sage 11 (Roots) theme. Clone it into your themes folder and build once:
cd wp-content/themes
git clone https://github.com/matthummel-pa/pressroot
cd pressroot
composer install
npm install
npm run build
Activate it under Appearance → Themes, then open Appearance → Pressroot. Requires PHP 8.3+ and WordPress 6.6+.
Setup wizard — blank install to launched site
Appearance → Pressroot opens on a six-step guided wizard until you've completed it once. Progress saves per step, every step stays revisitable, and each long-running action shows a live status bar.
- Business info — name, type, industry, brand & voice, colors/fonts, logo & photo uploads, plus mission, contact details, and per-day business hours. All of it compiles into the AI's site brief, so generated copy quotes your facts.
- Connections — optional AI provider keys (the free keyless default is pre-connected), an SEO plugin selector (built-in layer, Yoast, Rank Math, or All in One SEO — with one-click installs and a beginner's SEO primer), and Google Analytics: paste a GA4 Measurement ID and the official tracking snippet is injected for you, with step-by-step GA and Google Business Profile walkthroughs.
- WordPress settings — timezone, pretty permalinks, site icon, search-engine visibility (hidden while you build), and comment defaults, explained in plain English and applied in one click.
- Generate — design & pages, ✨ AI-written copy, 🖼 brand imagery, run as labeled stages.
- Review — homepage preview, every page's preview/edit links, and a map of exactly where to change words, images, design, and navigation.
- Launch — pre-flight checklist, then one click publishes your draft pages, sets the front page, and opens the site to search engines. 🚀
10-minute quick start (manual route)
Prefer to skip the wizard? The tabs drive everything directly:
- AI Models tab — pick a text and image model. The free keyless defaults work with zero setup; add a key only if you want a specific provider.
- Theme Settings tab — fill in Identity (name + one-liner) and the Brand questionnaire, add AI instructions (up to 1,000 words, or upload
.mdinstruction files), and hit Save. The status bar runs the build: core brief → design deal → nav/header/footer → smart copy. - Site Types tab — apply a site type. You get starter pages on core Gutenberg blocks, a generated menu, and a dealt design. Fill in the type's marketing questions.
- Generate — ✨ AI-write all pages, then 🖼 per-page images. Settle layouts before writing copy.
- Fine-tune — everything is normal Gutenberg. Real prices, real links, real photos beat generated ones.
Local dev (Playground)
No Docker needed. The repo ships a WordPress Playground stack:
npm run wp # boots WordPress at http://127.0.0.1:8881 (admin / password)
npm run dev # Vite dev server with HMR
npm run build # production assets
composer lint # PHP linting (Pint)
Theme Settings = the prompt
Theme Settings + Brand are the core prompting area for your entire site. Everything on that page compiles into one saved brief (the "CORE SITE BRIEF") that is prepended to every AI call — page copy, hero copy, smart blocks, image prompts.
| You provide | The build generates |
|---|---|
| Name + one-liner | Site title, tagline, hero fallbacks, footer tagline |
| Light/dark + personality | Which style kits and design trends can be dealt |
| Main goal | Header CTA (Book now / Shop now / Get a quote / Subscribe) and every AI-written call to action |
| Industry + audience + voice | Copy direction in every draft |
| AI instructions + .md files | Highest-priority rules and reference documents in the brief |
Design settings (kit, colors, fonts, corners, hero copy) are written in the backend by the build — manual fine-tuning unlocks after your first save, tucked under an "Advanced" panel so you never fight the generator. Prefer letting the AI start? Use ✨ Generate my brand with AI to draft the questionnaire from just your name + one-liner.
Site Types & the generator
Eight types: Restaurant/Café, Realty, Affiliate marketing, Agency/Studio, Freelance/Portfolio, SaaS/Startup, Blog/Content, Marketing/Landing. Applying one creates its starter pages and deals a design; each type also has marketing questions (hours, price range, service area, booking link…) that the AI treats as hard facts in every draft.
- 🎲 New design (per page) — a new layout variant for that page.
- 🎲 Refresh all (per type) — a whole new theme: kit + trend + layouts re-dealt, chrome re-synced. Never repeats the current deal.
- Core blocks only (default on) — generated pages use core Gutenberg + Pressroot's coded theme blocks. No Custom HTML blocks, ever.
AI models & keys
| Provider | Type | Key needed |
|---|---|---|
| Pollinations | Text + images | No — the free default |
| Anthropic (Claude Opus/Sonnet/Haiku) | Text | Yes |
| OpenAI (GPT + gpt-image-1) | Text + images | Yes |
| Google Gemini | Text | Yes |
| Groq · OpenRouter | Text | Yes |
| Stability (SD 3.5) | Images | Yes |
| Luma · Runway | Video (next milestone) | Yes |
Keys are stored server-side and never echoed to the browser. Model choices are dropdowns validated against each provider's list.
Nav, header & footer
Site builds generate the full shell, not just content: a synced Pressroot Menu (Home + starter pages) assigned to the primary location, a goal-driven header CTA pointing at your most relevant page, and a footer with your description as the tagline on a light/dark ground matching your brand answer. The builder only ever manages its own menu — hand-made menus are never touched.
Build recipes
Copy-paste walkthroughs with real example answers, field by field:
- 🍽 Restaurant / Café / Taproom — worked example with brand answers, AI instructions, and an SEO checklist.
- More recipes are coming — contribute one for your industry.
FAQ
Do I need a page builder? No — that's the point. The page builder is the WordPress block editor; AI does the assembling.
What does the AI actually touch? Text and images only. Block markup is never AI-generated or AI-edited, so generated pages can't break.
Can I turn AI off? Yes — the "Powered by AI — or not" switch disables every AI call. The design generator keeps working without it.
Will it conflict with my SEO plugin? No. Built-in SEO/schema output disables itself when Rank Math or Yoast is active.
How do I move settings between sites? Site Types tab → Advanced: Backup & restore → Export/Import JSON.