iadewunmi/arbour

This package implements the Arbour Software Architectural Pattern

dev-main 2025-05-12 10:50 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Requirements

  • Laravel 11
  • Filament 3
  • Spatie/Laravel-Data v4

Roadmap

  • Add Stem folder generator command
  • Auto import MainServiceProvider to StemProvider
  • Remove RouteServiceProvider
  • Support Filament v3, add FilamentPlugin to generator
  • Update Arbour installing documentation

Installation

You can install the package via composer:

composer require iadewunmi/arbour

And run this command to copy Stem folder and import StemProvider

php artisan arbour:init

You can try running this command to check the successful installation Arbour:

php artisan arbour:check

You can publish the config file with:

php artisan vendor:publish --tag="arbour"

Usage

You can generate new container via command:

php artisan make:arbour-branch

You can see other generate commands:

php artisan make:arbour

Standard Container's Structure:

Branch
	├── Database
	├── Models
	├── Providers
	│   └── MainServiceProvider.php
	└── UI
	    ├── WEB
	    │   ├── Routes
	    │   ├── Controllers
	    │   └── Views
	    ├── API
	    │   ├── Routes
	    │   ├── Controllers
	    │   ├── Actions
	    │   ├── DTO
	    │   ├── RequestDTO
	    │   └── Routes
	    └── CLI
	        ├── Routes
	        └── Commands

Filament v2 Structure:

Branch
	├── Providers
	│   └── FilamentServiceProvider.php
	└── UI
	    └── Filament
	        └── Resources
	            └── FilamentResource.php

Filament v3 Structure:

Branch
	└── UI
	    └── Filament
	        ├── Resources
	        │   └── FilamentResource.php
	        └── FilamentPlugin.php
            

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.