Testing a 48-package monorepo at scale

How in-memory implementations, a layered test strategy, and AI-assisted test generation keep a 48-package PHP monorepo testable.

March 22, 2026 · 6 min · Russell

i18n for a cultural platform

How waaseyaa’s i18n package handles language negotiation and multilingual entities — built for an indigenous cultural platform where language isn’t a feature, it’s the point.

March 21, 2026 · 6 min · Russell

Replacing a homegrown database layer with DBAL

How waaseyaa migrated from a homegrown PdoDatabase to Doctrine DBAL across 67 commits — and how all three applications upgraded without breaking.

March 20, 2026 · 6 min · Russell

I Migrated a Laravel App to a Custom PHP Framework in One Claude Code Session

How Claude Code built 3 framework packages, scaffolded a full application, and got 12 pages rendering — all in a single session.

March 19, 2026 · 5 min · Russell

JSON:API from Framework to SPA: Waaseyaa's API Layer

How waaseyaa’s JSON:API layer works — ResourceSerializer, SchemaPresenter, and how Tier 3 specs let a new session pick up mid-feature without re-explaining the whole contract.

March 19, 2026 · 6 min · Russell

Deny-unless-granted: access control in waaseyaa

How waaseyaa’s AccessPolicyInterface implements deny-unless-granted semantics with field-level access control — and how GitHub milestones kept it from scope-creeping.

March 18, 2026 · 5 min · Russell

The entity system at the heart of Waaseyaa

How waaseyaa’s EntityInterface, ContentEntityBase, and field system work — and how the entity-system specialist skill made cross-session development possible.

March 16, 2026 · 5 min · Russell

Three skills for governing multi-repo co-development with Claude Code

A skill set that governs framework-app co-development across three repos: enforcing patterns, auditing divergence, and extracting shared code.

March 15, 2026 · 7 min · Russell

Waaseyaa: building a Drupal-inspired PHP CMS with AI

What waaseyaa is, why it exists, and how planning with GitHub issues before coding changes the dynamic of building complex software with AI.

March 14, 2026 · 6 min · Russell