Senior Full-Stack Developer from Cancún, México. I build multi-tenant B2B SaaS for the vacation club and travel industry with Laravel 12, Vue 3, Inertia.js and AWS — 30+ white-label brands, 98+ vacation clubs, 40,000+ hotels of inventory.
Verifiable boundaries between the modules of a Laravel application, checked in CI.
Modular monoliths usually rely on folders. Folders don't stop the Billing module from reaching into Catalog's models — six months later the "modules" are just directories. Cordon Modulith reads your code statically, builds the dependency graph between modules, and fails the build when a module:
- uses internal classes of another module instead of its public API,
- depends on a module it did not declare, or
- takes part in a dependency cycle.
It also ships Laravel Boost resources that teach AI coding agents to go through a module's public API. Inspired by Spring Modulith and Shopify's Packwerk, adapted to Laravel conventions.
composer require --dev chrisabner/cordon-modulith
php artisan cordon:verify📖 Documentation · 📦 Packagist · 💻 Repository
Status: 0.1 (alpha) — the public API may change before 1.0.
- PromoInvestor — fintech rates comparator for Mexico (Laravel, Laravel Cloud). My capstone project.
- Riviera Apps & Web — apps, websites and marketing for local businesses in Cancún.
- Owners Link — multi-tenant B2B SaaS platform for vacation clubs, with external API aggregation via DTOs, Redis caching and AWS infrastructure (EC2, S3, RDS, Lambda).
🌐 chrisabner.github.io · 💼 LinkedIn · 💼 PromoInvestor
