A modern WordPress framework powered by Tempest, featuring attribute-based auto-discovery for hooks, post types, blocks, and more.
Warning
AI-Generated Project β This project was primarily built by AI coding agents (Claude). While functional and tested, it may contain bugs, security issues, or unexpected behavior. Use at your own risk, especially in production environments.
This monorepo contains the following packages:
| Package | Description | Packagist |
|---|---|---|
studiometa/foehn |
Core framework β auto-discovery, DI, blocks, hooks | |
studiometa/foehn-installer |
Composer plugin β generates web root, symlinks, wp-config | |
studiometa/foehn-starter |
Starter theme β complete example with create-project support |
composer create-project studiometa/foehn-starter my-projectcomposer require studiometa/foehn<?php
// functions.php
use Studiometa\Foehn\Kernel;
Kernel::boot(__DIR__ . '/app');- π Zero configuration β Auto-discovery of components via PHP 8 attributes
- π― Modern DX β Type-safe, IDE-friendly, testable
- π WordPress native β Works with Timber, ACF, and Gutenberg blocks
- β‘ Minimal boilerplate β One line to boot your theme
- π¦ Project generator β Full web root generation via Composer plugin
- ποΈ Starter theme β Complete example with models, hooks, templates
| Attribute | Description |
|---|---|
#[AsAction] |
Register a WordPress action hook |
#[AsFilter] |
Register a WordPress filter hook |
#[AsPostType] |
Register a custom post type |
#[AsTaxonomy] |
Register a custom taxonomy |
#[AsBlock] |
Register a native Gutenberg block |
#[AsAcfBlock] |
Register an ACF block |
#[AsBlockPattern] |
Register a block pattern |
#[AsContextProvider] |
Add data to specific views |
#[AsTemplateController] |
Handle template rendering |
#[AsShortcode] |
Register a shortcode |
#[AsRestRoute] |
Register a REST API endpoint |
#[AsCliCommand] |
Register a WP-CLI command |
#[AsTimberModel] |
Register a Timber class map |
#[AsMenu] |
Register a navigation menu |
#[AsImageSize] |
Register a custom image size |
my-project/ # What is VERSIONED
βββ theme/ # The WordPress theme
β βββ app/ # PHP classes (auto-discovered)
β βββ templates/ # Twig templates
β βββ functions.php # Single Kernel::boot() call
β βββ style.css # Theme header
βββ config/ # Configuration files
βββ mu-plugins/ # Custom mu-plugins (if needed)
βββ .env # Environment variables
βββ composer.json # Dependencies
web/ # GENERATED (100% gitignored)
βββ wp/ # WordPress core
βββ wp-content/
β βββ themes/my-theme β symlink to /theme
β βββ plugins/ # Composer-managed plugins
β βββ mu-plugins/ # Auto-loaded mu-plugins
βββ index.php # Generated front controller
βββ wp-config.php # Generated from config/
π Full Documentation
This package includes an Agent Skill at packages/foehn/skills/foehn/SKILL.md with comprehensive usage reference. Compatible agents will discover it automatically.
# Install dependencies
composer install
npm install
# Run tests
composer test
# Lint & fix
composer lint
composer fix
# Format markdown
npm run fmtContributions are welcome! Please read our contributing guidelines before submitting a PR.
MIT License β see LICENSE for details.
- Tempest Framework by Brent Roose
- Timber by Upstatement
- Inspired by Acorn by Roots