Skip to content

Backend Packages Monorepo

RightCapital’s backend packages monorepo contains 43+ shared PHP libraries that provide foundational infrastructure for all backend services.

AttributeValue
Location/backend/packages/
PHP Version8.4+ (strict types required)
Package ManagerComposer 2.9+
Monorepo ToolSymplify MonorepoBuilder
Laravel Version12.10+
packages/
├── libs/ # 43 individual packages
│ ├── array-helpers/
│ ├── core-models/
│ ├── laravel-restful/
│ └── ...
├── bin/ # Build/CI scripts
├── composer.json # Root manifest
├── monorepo-builder.php # Monorepo configuration
└── .gitlab-ci.yml # CI/CD pipeline

Low-level utility packages with no internal dependencies:

  • array-helpers - Array manipulation and arithmetic
  • string-helpers - String formatting and localization
  • numeric-helpers - Precision arithmetic and comparisons
  • file-helpers - File/stream operations
  • html-helper - HTML sanitization
  • billing-helpers - Billing domain utilities
  • method-delegate - AOP method interception

Central domain models and business logic:

  • core-models - 225+ Eloquent models, 105+ enums
  • core-seeds - YAML database seeders
  • core-test-fixtures - Test fixture datasets
  • business-validation-rules - 40+ validation rules
  • financial-networks - Advisor network abstractions

Enhanced Laravel framework features:

  • illuminate-database - Submodels, IAM auth, validation
  • illuminate-encryption - ID encryption, static IV
  • illuminate-filesystem - Flysystem decorator chains
  • illuminate-http-problem-response - RFC 7807 responses
  • illuminate-routing - Resource routing customization
  • illuminate-validation - 12+ custom validation rules
  • laravel-restful - RESTful controller traits
  • laravel-form-requests - Multi-source validation

External service integrations:

  • integrations-core - Base integration abstractions
  • integrations-file-based - File-based vendor imports
  • laravel-stripe - Stripe payment processing
  • laravel-salesforce - Salesforce CRM
  • laravel-azure-ad - Azure AD authentication
  • saml - SAML 2.0 SSO

Monitoring and performance tracking:

  • laravel-apm - OpenTelemetry distributed tracing
  • laravel-sentry - Error tracking with context
  • laravel-cronitor - Job health monitoring
  • laravel-query-detector-outputs - N+1 detection
  • file-log - Structured file logging

Performance optimization packages:

  • laravel-file-storage-cache - Cloud storage cache
  • laravel-command-cache - Cache management CLI
  • laravel-http-cache-control - HTTP cache headers
  • flysystem-compress-adapter - Transparent compression

Development and CI/CD tools:

  • phpstan-rules - Static analysis rules
  • rector-rules - Automated refactoring
  • php-cs-fixer-rules - Code style configuration
  • php-cs-fixer-custom-fixers - Custom style fixers
  • composer-normalize - composer.json normalization
  • composer-event-dispatcher - Composer-Laravel bridge
  • ide-helper-files-generator - IDE autocomplete
  • env-sync - Environment variable sync

Other utility packages:

  • xml-parser - XML to array conversion
  • laravel-database-tools - Schema manipulation
  • laravel-aop - Aspect-oriented programming

Packages are organized in dependency tiers to prevent circular dependencies:

TierDescriptionExamples
0No internal dependenciesstring-helpers, file-helpers, numeric-helpers
1Depends on Tier 0array-helpers, financial-networks
2Core domain + Illuminate extensionscore-models, illuminate-validation
3Laravel integrationslaravel-restful, integrations-core
4High-level business packagesintegrations-file-based
5Tooling (meta)phpstan-rules, ide-helper-files-generator

These packages are consumed by three main backend services:

ServiceDescription
retail-apiCustomer-facing API
admin-apiInternal administration API
calculation-apiFinancial calculation service

All services pin the same package version (e.g., 100.885.0) for consistency.

Terminal window
# Static analysis
composer phpstan [packages...]
# Code style fixing
composer phpcs
# Automated refactoring
composer rector
# Validate monorepo structure
composer monorepo-validate
# Normalize composer.json files
composer normalize

The packages monorepo uses GitLab CI with:

  • PHPStan static analysis
  • PHP-CS-Fixer style checking
  • Rector dry-run validation
  • Composer normalize validation
  • Package splitting for independent publishing