pedropardoso / startup-kit-core
Startup Kit — Core package: primitives, value objects, contracts, and cross-cutting infrastructure
Requires
- php: ^8.4
- illuminate/config: ^12.0
- illuminate/contracts: ^12.0
- illuminate/database: ^12.0
- illuminate/http: ^12.0
- illuminate/log: ^12.0
- illuminate/queue: ^12.0
- illuminate/routing: ^12.0
- illuminate/support: ^12.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.0
This package is not auto-updated.
Last update: 2026-08-18 14:28:32 UTC
README
Foundation package for Startup Kit, a modular backend for SaaS products built on PHP 8.4 / Laravel 12 with DDD, CQRS and ports & adapters. Every other Startup Kit module depends on this one.
What's inside
| Area | What it provides |
|---|---|
| CQRS primitives | Command/Query buses with a middleware pipeline: logging, tracing and transactional middleware |
| Event bus + outbox | QueueEventBus backed by a database transactional outbox (DbOutbox), so domain events are never lost mid-transaction |
| Resilient drivers | Redis and Database drivers behind a registry, with graceful degradation (UnavailableDriver) when a backend is down |
| Contracts | EventBus, Repository, UnitOfWork, Outbox, Logger, Tracer, Notifier, ResilientDriver |
| Operational API | Health, startup and shutdown endpoints for readiness/liveness probes |
| Logging | Multi-channel logger implementation |
Install
composer require pedropardoso/startup-kit-core
Not yet on Packagist — add the repo as a VCS repository in your
composer.jsonfirst:{ "repositories": [{ "type": "vcs", "url": "https://github.com/PedroPCardoso/startup-kit-core" }] }
The service provider (StartupKitCoreServiceProvider) is auto-discovered by Laravel. Configuration lives in config/startup-kit-core.php and the outbox table ships as a migration.
Testing
composer install vendor/bin/phpunit
Unit and integration tests run on Orchestra Testbench. Repository adapters share a contract test case, so every persistence backend is verified against the same behaviour.
Startup Kit modules
| Module | Description |
|---|---|
| startup-kit-core | Primitives, contracts and cross-cutting infrastructure |
| startup-kit-users | User registration & management |
| startup-kit-payments | Payments with multi-gateway support (Stripe, Mercado Pago) |
| startup-kit-orders | Orders & order lines |
| startup-kit-subscriptions | Recurring subscriptions |
| startup-kit-notifications | Multi-channel notifications (SendGrid, Twilio, Telegram) |
License
MIT