Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/rules/agency-core.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ alwaysApply: true

# Agency core

You work as a senior engineer inside a one-person marketing + product shop. The client and operator is **Matt Hummel**. The product in this repo is the **matthummel** Sage 11 WordPress theme (live at matthummel.com). Prefer shipping in code over slide decks.
You work as a senior engineer inside a one-person marketing + product shop. The client and operator is **Matt Hummel**. The product in this repo is the **matthummel** Sage 11 WordPress theme (live at hummelwp.com). The primary site is **https://hummelwp.com**. Prefer shipping in code over slide decks.

## How rules compose

Expand Down
10 changes: 5 additions & 5 deletions .cursor/rules/product-theme-sync.mdc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Playbook for syncing matthummel.com product pages from product theme/plugin repos (Acreline, TOCflow, future packs).
description: Playbook for syncing hummelwp.com product pages from product theme/plugin repos (Acreline, TOCflow, future packs).
alwaysApply: false
globs:
- resources/data/product-catalog.json
Expand All @@ -9,13 +9,13 @@ globs:

# Product theme sync playbook

Use this when Matt asks to update a sellable product on matthummel.com from its source repo (e.g. `wp-acreline`, `tocflow`), or when a product repo ships a material release (blocks, version, brand, pricing, screenshots).
Use this when Matt asks to update a sellable product on hummelwp.com from its source repo (e.g. `wp-acreline`, `tocflow`), or when a product repo ships a material release (blocks, version, brand, pricing, screenshots).

If this file conflicts with `agency-core.mdc` or shipping patterns, **shipping patterns win** until Matt asks to migrate.

## What “the product page” is

| Surface | Source of truth on matthummel.com |
| Surface | Source of truth on hummelwp.com |
| --- | --- |
| Project + Woo product copy | `resources/data/product-catalog.json` → `mh_upsert_catalog_product()` |
| Public URL | `/projects/{slug}/` (e.g. `/projects/acreline/`) |
Expand Down Expand Up @@ -118,7 +118,7 @@ Synced from `matthummel-pa/wp-acreline` (Sept 2026):
- **Truth:** marketing pages are **21 Core Gutenberg blocks** (ServerSideRender, Block Generator, Migrate to Blocks). Listings / agents / bookings stay **classic metaboxes**. Customizer owns identity + eight color styles.
- **Version:** read `style.css` (e.g. 1.3.0). Demo: `https://acreline.matthummel.com/`.
- **Setup wizard:** Appearance → Acreline Setup (identity, colors, optional demo). Catalog copy should mention it when the product ships it.
- **Brand:** matthummel.com labels Acreline as **Real estate** (place / eyebrow / tagline). Product-repo `BRAND.md` may still say farms/land — catalog labeling on this site wins when Matt asks for Real estate. Palette paper `#f5f4f1` (not the older cream).
- **Brand:** hummelwp.com labels Acreline as **Real estate** (place / eyebrow / tagline). Product-repo `BRAND.md` may still say farms/land — catalog labeling on this site wins when Matt asks for Real estate. Palette paper `#f5f4f1` (not the older cream).
- **Honesty:** fiction demo, 555 phones, `@acreline-concept.test`, not a live MLS/IDX.
- **Do not** claim Elementor, ACF, or live IDX. **Do** describe Gutenberg blocks when the product ships them.
- ThemeForest attribute “Gutenberg optimized” in seller docs may lag the product — catalog copy should match the **shipping theme**, and call out listing drift in the PR.
Expand All @@ -131,7 +131,7 @@ Repeat the same pipeline:
2. Drop screenshots under `resources/images/products/{slug}/`.
3. Bump `mh_product_catalog_vN` (or extend the shared apply helper).
4. Add the repo to the table in this file.
5. Keep one primary CTA on matthummel.com (**Say hello** / buy on the product page) — do not invent a second funnel.
5. Keep one primary CTA on hummelwp.com (**Say hello** / buy on the product page) — do not invent a second funnel.

## PR shape

Expand Down
2 changes: 1 addition & 1 deletion .cursor/rules/sage-roots.mdc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Roots Sage 11 theme conventions for matthummel.com. Use official Sage docs before inventing WordPress template or Vite patterns.
description: Roots Sage 11 theme conventions for hummelwp.com. Use official Sage docs before inventing WordPress template or Vite patterns.
alwaysApply: true
---

Expand Down
2 changes: 1 addition & 1 deletion .cursor/rules/woocommerce-product.mdc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Standards for WooCommerce product pages, catalog JSON, and product SEO on matthummel.com
description: Standards for WooCommerce product pages, catalog JSON, and product SEO on hummelwp.com
alwaysApply: false
---

Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,11 @@ jobs:
FTP_USER: ${{ secrets.SITEGROUND_FTP_USER }}
FTP_PASS: ${{ secrets.SITEGROUND_FTP_PASSWORD }}
DEPLOY_DIR: ${{ steps.ftpdir.outputs.deploy_dir }}
LIVE_ORIGIN: https://matthummel.com
# Primary live origin is hummelwp.com (Hostinger). Theme folder stays matthummel.
# TODO (Matt): SITEGROUND_* / SERVER_* Actions secrets may still target
# the old SiteGround host. Update those secrets for Hostinger SSH/FTP
# if needed — do not hardcode Hostinger credentials in this workflow.
LIVE_ORIGIN: https://hummelwp.com
run: python3 .github/scripts/preserve-vite-assets.py

- name: Pack WordPress theme zip
Expand Down Expand Up @@ -172,7 +176,7 @@ jobs:
FTP_USER: ${{ secrets.SITEGROUND_FTP_USER }}
FTP_PASS: ${{ secrets.SITEGROUND_FTP_PASSWORD }}
DEPLOY_DIR: ${{ steps.ftpdir.outputs.deploy_dir || secrets.SITEGROUND_FTP_REMOTE_DIR }}
LIVE_URL: https://matthummel.com/
LIVE_URL: https://hummelwp.com/
run: python3 .github/scripts/siteground-ftp-clear-acorn-cache.py

- name: Install fatal probe MU-plugin and hit live site
Expand All @@ -182,7 +186,7 @@ jobs:
FTP_USER: ${{ secrets.SITEGROUND_FTP_USER }}
FTP_PASS: ${{ secrets.SITEGROUND_FTP_PASSWORD }}
DEPLOY_DIR: ${{ steps.ftpdir.outputs.deploy_dir || secrets.SITEGROUND_FTP_REMOTE_DIR }}
LIVE_URL: https://matthummel.com/
LIVE_URL: https://hummelwp.com/
run: python3 .github/scripts/siteground-ftp-install-fatal-probe.py

- name: Diagnose live fatal over FTP
Expand All @@ -195,6 +199,8 @@ jobs:
DEPLOY_DIR: ${{ steps.ftpdir.outputs.deploy_dir || secrets.SITEGROUND_FTP_REMOTE_DIR }}
run: python3 .github/scripts/siteground-ftp-diagnose-live.py

# TODO (Matt): if optional SSH rsync should hit Hostinger instead of
# SiteGround, update SERVER_* / SITEGROUND_* secrets — do not hardcode hosts.
- name: Set up SSH Key for Remote Server Access
continue-on-error: true
uses: shimataro/ssh-key-action@v2
Expand Down
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# Matt Hummel — WordPress theme

Sage 11 theme for **[matthummel.com](https://matthummel.com)** — portfolio, services, and journal for a WordPress / full-stack developer in Gettysburg, PA.
Sage 11 theme for **[hummelwp.com](https://hummelwp.com)** — portfolio, services, and journal for a WordPress / full-stack developer in Gettysburg, PA.

The primary site is [hummelwp.com](https://hummelwp.com). [matthummel.com](https://matthummel.com) may still exist as a legacy or secondary host. Product demos stay on their own subdomains (for example `acreline.matthummel.com`).

No page builders. Visitor copy lives in wp-admin (**Page content (theme)**), not hardcoded in Blade. Front end is Blade + Tailwind + a few small JS modules. PHP does the heavy lifting; Vite ships the assets.

| | |
| --- | --- |
| **Live site** | [matthummel.com](https://matthummel.com) |
| **Version** | `3.1.73` · [CHANGELOG](CHANGELOG.md) · [public changelog](https://matthummel.com/changelog/) |
| **Live site** | [hummelwp.com](https://hummelwp.com) |
| **Version** | `3.1.73` · [CHANGELOG](CHANGELOG.md) · [public changelog](https://hummelwp.com/changelog/) |
| **Stack** | Sage 11.2.1 · PHP 8.3 · Acorn 6 · Blade · Tailwind v4 · Vite 8 · WordPress 6.6+ |
| **Release** | [`theme-latest`](https://github.com/matthummel-pa/matthummel-theme/releases/tag/theme-latest) (CI zip for Appearance → Update Theme) |
| **License** | [MIT](LICENSE.md) |
Expand All @@ -16,7 +18,7 @@ No page builders. Visitor copy lives in wp-admin (**Page content (theme)**), not

## Activity feed

Recent ship log — useful if you’re cloning, reviewing a PR, or picking up where CI left off. Full history: [`CHANGELOG.md`](CHANGELOG.md) · live list: [matthummel.com/changelog](https://matthummel.com/changelog/).
Recent ship log — useful if you’re cloning, reviewing a PR, or picking up where CI left off. Full history: [`CHANGELOG.md`](CHANGELOG.md) · live list: [hummelwp.com/changelog](https://hummelwp.com/changelog/).

```text
● 2026-09-06 3.1.78 Acreline product page: setup wizard copy (1.3.0)
Expand Down Expand Up @@ -83,7 +85,7 @@ Day-to-day links a full-stack WordPress / Sage developer actually opens.
| Resource | Use it when |
| --- | --- |
| [CHANGELOG.md](CHANGELOG.md) | You need exact version notes before updating live |
| [matthummel.com/changelog](https://matthummel.com/changelog/) | Public-facing “what changed” |
| [hummelwp.com/changelog](https://hummelwp.com/changelog/) | Public-facing “what changed” |
| [`theme-latest` release](https://github.com/matthummel-pa/matthummel-theme/releases/tag/theme-latest) | Grab the built zip CI publishes |
| [GitHub Actions](https://github.com/matthummel-pa/matthummel-theme/actions) | CI failed, or you want the last green build |

Expand Down Expand Up @@ -115,10 +117,10 @@ Day-to-day links a full-stack WordPress / Sage developer actually opens.

| URL | Why open it |
| --- | --- |
| [matthummel.com/code](https://matthummel.com/code/) | Live GitHub panel this theme powers |
| [matthummel.com/uses](https://matthummel.com/uses/) | Stack and tools list |
| [matthummel.com/changelog](https://matthummel.com/changelog/) | Public release notes |
| [matthummel.com/accessibility](https://matthummel.com/accessibility/) | WCAG / 508 statement |
| [hummelwp.com/code](https://hummelwp.com/code/) | Live GitHub panel this theme powers |
| [hummelwp.com/uses](https://hummelwp.com/uses/) | Stack and tools list |
| [hummelwp.com/changelog](https://hummelwp.com/changelog/) | Public release notes |
| [hummelwp.com/accessibility](https://hummelwp.com/accessibility/) | WCAG / 508 statement |

---

Expand Down
6 changes: 3 additions & 3 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ License: MIT
License URI: https://opensource.org/licenses/MIT
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready

Sage 11 theme for matthummel.com — portfolio, journal, and services. Not a WordPress.org or ThemeForest listing.
Sage 11 theme for hummelwp.com — portfolio, journal, and services. Not a WordPress.org or ThemeForest listing.

== Description ==

This is the live theme for [matthummel.com](https://matthummel.com). It is a Sage 11 (Blade, Acorn, Vite, Tailwind v4) site theme: named page templates, Projects CPT, contact and project-brief forms, GitHub / DEV.to helpers, and optional WooCommerce wrappers.
This is the live theme for [hummelwp.com](https://hummelwp.com). It is a Sage 11 (Blade, Acorn, Vite, Tailwind v4) site theme: named page templates, Projects CPT, contact and project-brief forms, GitHub / DEV.to helpers, and optional WooCommerce wrappers.

**Do not upload this zip to WordPress.org or ThemeForest.** Those directories reject site-specific themes with plugin-territory features (forms, custom post types, remote APIs, auto-seeded pages). The product theme for those channels is [Acreline](https://github.com/matthummel-pa/wp-acreline). See `docs/MARKETPLACE.md`.

Expand All @@ -24,7 +24,7 @@ This theme is installed from the `theme-latest` GitHub Release (Appearance → U

= Can I use this on my own site? =

The code is MIT. It is built for one site. Names, copy fields, and GitHub wiring assume matthummel.com.
The code is MIT. It is built for one site. Names, copy fields, and GitHub wiring assume hummelwp.com.

= Where is the ThemeForest / WordPress.org theme? =

Expand Down
Loading