Skip to content
WELD: a welder's helmet

Wayne State's app stack, welded

WELD

WELD stands for Wired, Everything, Linked, Deployed.

Many parts, one piece.

One Laravel + Inertia/Vue app with every part of the stack already joined: WayneUI, CREED, Pinstripe, PREFLIGHT, PROCTOR, SESAME and HELMET. Clone it, rename it, deploy it.

$ composer create-project waynestate/weld my-app

Get started Meet the cast

The journey

One request, six stops, from the edge of the network to the deploy.

  1. HELMET sets security headers
  2. SESAME signs the user in
  3. WayneUI renders the page
  4. PROCTOR checks the code
  5. PREFLIGHT runs CI
  6. SQUIRE deploys

Every part, its own character

The cast

Seven parts welded into WELD, five that work the shop floor around it, one sibling that bakes your own, and the crew still on the drawing board.

WayneUI mark: a rounded frame holding a solid form, with a gold tab on the lower edge

WayneUI

2.0 Contrast | AA

The interface. Wayne State's design system, wired into the Vue front end and the Blade layouts.

$ pnpm verify
✓ tokens     built
✓ contrast   AA, every pair
✓ axe        0 violations
a11y: 100
CREED mark: a stone arch whose gold keystone holds the other stones in place

CREED

0.1 Volume | Eleven

The written standards, and the policy.json every other part reads.

$ creed policy show
php      8.3, 8.4
laravel  12, 13
node     22 LTS
volume   eleven
HELMET mark: a white football helmet with a gold facemask

HELMET

0.1 Fit | Snug

Security headers and runtime hardening.

$ helmet headers
CSP      strict, nonce
HSTS     1 year
frames   DENY
SESAME mark: an open door with a gold gap

SESAME

0.1 Says | Open

Sign-in: CAS today, the auth gateway later.

$ sesame login
→ off to CAS and back
✓ signed in as ab1234
✓ session: app-native
PROCTOR mark: a watchful eye with a gold square pupil

PROCTOR

0.1 Strictness | Kind

One command that checks an app against the standards.

$ proctor check
✓ php 8.4 supported
✓ headers present
✓ 42 passed, 0 failed
PREFLIGHT mark: a runway with a gold centre line

PREFLIGHT

0.1 Checklist | Long

Shared CI, from GitLab CI/CD components.

$ preflight run
✓ lint         pass
✓ test         312 pass
✓ portability  pass
Pinstripe mark: a striped necktie with a gold tie bar

Pinstripe

0.1 Creases | Sharp

The coding standard: Pint, PHPStan level 8, ESLint and Prettier, pressed and ready.

$ pinstripe apply
✓ pint      14 files pressed
✓ phpstan   level 8, 0 errors
✓ eslint    clean
style: sharp
BOOSTER mark: a syringe with fins, lifting off on a gold flame

BOOSTER

0.1 Sting | Mild

Upgrades, one hop at a time: Rector rewrites the code, your tests sign off, a person merges.

$ booster plan
1. laravel-10-to-11
2. laravel-11-to-12
3. php-82-to-83
ROLLCALL mark: an open register with gold ticks

ROLLCALL

0.1 Attendance | Taken

The fleet scanner: every app answers “present”, with its PHP, framework and auth, read against the policy.

$ rollcall report
✓ snapshot   today
drift      none
back row   PHP 7.4, waving
SQUIRE mark: a satchel with a gold buckle

SQUIRE

0.1 Armour | Carried

The Citadel kit: build.sh, the release script, the health check, and local parity on the real images.

$ squire doctor
✓ build.sh     packages only
✓ release.sh   idempotent
✓ /up          answers
DRAWBRIDGE mark: a castle tower lowering its bridge on a gold chain

DRAWBRIDGE

0.1 Moat | Full

The sign-in gateway in front of the apps: one OpenID Connect client through Entra ID, so each app only checks one small signed token.

$ drawbridge config:validate
✓ oidc        Entra ID, PKCE
✓ protected   /admin/
✓ headers     stripped, every spelling
bridge: lowered
ADVISOR mark: a speech bubble holding a gold compass needle

ADVISOR

0.1 Office hours | Always

The stack's own MCP server: read-only tools that tell your coding agent what applies to your app, and what to do next.

$ advisor mcp
✓ serving   stdio
✓ tools     read-only
answers: from policy.json
Sourdough mark: a starter jar with a gold band

Sourdough

0.1 Rise | Daily

Starters you feed. Pick Sourdough when you want a starter you shape yourself; pick WELD when you want the finished piece.

$ sourdough feed
✓ starter is alive
✓ fed: laravel 13, wayne-ui 2.0.8
next feeding: tomorrow, 9am

Next off the line

  • Rolodex next

    Person data with types, so nobody has to flip through cards by hand.

Pick your path

Three shapes, one stack. WELD is the Inertia/Vue shape, already joined; Sourdough bakes the others.

From Sourdough

Raw PHP

No framework, no build: plain PHP on WayneUI's standalone path.

composer global require waynestate/sourdough sourdough new my-app --raw

From Sourdough Coming soon

Laravel + Blade

The classic WSU shape: Laravel with Blade views. Sourdough has the plan for it, but 0.1 doesn't bake it yet; it rises in a later release.