PHPackages                             lac/toolkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lac/toolkit

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lac/toolkit
===========

Laravel Arsenal Core (LAC) - A toolkit for standardizing and accelerating Laravel development with automated scaffolding, synchronization, and code generation tools

v2.0.0(11mo ago)11.2k↓20.5%MITPHPPHP ^8.2

Since May 21Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/ChikauKume/laravel-arsenal-core)[ Packagist](https://packagist.org/packages/lac/toolkit)[ RSS](/packages/lac-toolkit/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (6)Used By (0)

Laravel Arsenal Core (LAC)
==========================

[](#laravel-arsenal-core-lac)

Laravel Arsenal Core (LAC) is a toolkit for standardizing and accelerating Laravel development with automated scaffolding, synchronization, and code generation tools.

🇺🇸 [English (current)](https://github.com/ChikauKume/laravel-arsenal-core/blob/main/README.md) | 🇯🇵 [日本語](https://github.com/ChikauKume/laravel-arsenal-core/blob/main/README.ja.md)

[![Latest Version on Packagist](https://camo.githubusercontent.com/5572b060f72d7d7296437d552de6de0cd9a3ddce5c3c6deb530f99004c0a6b5a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c61632f746f6f6c6b69742e737667)](https://packagist.org/packages/lac/toolkit)[![License](https://camo.githubusercontent.com/295a214b186a6e80b330ed742c87b873a71684b80d07bf235245318b1612be6d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c61632f746f6f6c6b69742e7376673f763d323032343035)](https://packagist.org/packages/lac/toolkit)

Overview
--------

[](#overview)

LAC is a comprehensive toolset that automates repetitive tasks in Laravel development and generates code that follows standardized patterns, resulting in maintainable systems.

🚀 New in v2.0 - Bidirectional Database Design
---------------------------------------------

[](#-new-in-v20---bidirectional-database-design)

LAC v2.0 introduces groundbreaking two-way synchronization between PlantUML ER diagrams and Laravel migrations:

- **Design First**: Create your database schema visually with PlantUML, then generate migrations
- **Code First**: Write migrations and automatically generate up-to-date ER diagrams

```
# ER diagram → Migration
php artisan lac:gen-migration

# Migration → ER diagram
php artisan lac:gen-diagram

```

Features
--------

[](#features)

- **Scaffolding**: Generate models, controllers, services, requests, views, factories, and seeders with a single command
- **Route Syncn**: Automatic generation and synchronization of web/API routes based on controllers
- **Migration and Excel Integration**: Generate Excel templates based on migration files and import data
- **Model Relation Sync**: Automatically generate model relationships from migration files
- **Validation Sync**: Automatically generate validation rules for request classes based on database schema
- **Bidirectional ER Diagram Sync** (New in v2.0): Two-way synchronization between PlantUML diagrams and Laravel migrations

Development Workflow with LAC
-----------------------------

[](#development-workflow-with-lac)

LAC enhances your development workflow:

### Option 1: Design-First Approach

[](#option-1-design-first-approach)

1. Design your database schema with PlantUML
2. Generate migrations with `lac:gen-migration`
3. Generate resources with `lac:scaffold`
4. Auto-generate routes with `lac:sync-routes`
5. Update model relationships with `lac:sync-model-rel`
6. Generate validation rules with `lac:sync-validations`

### Option 2: Code-First Approach

[](#option-2-code-first-approach)

1. Create migration files manually
2. Generate ER diagrams with `lac:gen-diagram` for documentation
3. Generate resources with `lac:scaffold`
4. Continue with steps 4-6 from above

### Test Data Management

[](#test-data-management)

1. Generate Excel templates with `lac:db-template`
2. Fill in test data in the Excel files
3. Place files in `storage/app/db/imports` directory
4. Import data with `lac:db-import`

Installation
------------

[](#installation)

Install LAC via Composer:

```
composer require lac/toolkit --dev
```

LAC will be automatically registered through Laravel's service provider auto-discovery.

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Laravel 10.0 or higher
- PhpSpreadsheet 4.2 or higher

Usage
-----

[](#usage)

### Scaffolding

[](#scaffolding)

Generate a complete CRUD resource with a single command:

```
php artisan lac:scaffold User
```

Generate multiple resources at once:

```
php artisan lac:scaffold User Post Comment
```

Options:

- `--hard-delete`: Disable soft delete functionality
- `--force`: Overwrite existing files
- `--no-view`: Skip generating view files

    scaffold.mp4    ### Route Synchronization

[](#route-synchronization)

Automatically generate routes based on controllers:

```
php artisan lac:sync-routes
```

Options:

- `--web`: Web routes only
- `--api`: API routes only

    sync-routes.mp4    ### Excel Template Generation

[](#excel-template-generation)

Generate Excel templates based on database table structure:

```
php artisan lac:db-template
```

    db-template.mp4    ### Data Import from Excel

[](#data-import-from-excel)

Import data from Excel files into the database: Place Excel files with your data in storage/app/db/imports directory Processed Excel files are automatically moved to storage/app/db/processed directory

```
php artisan lac:db-import
```

    db-import.mp4    ### Model Relation Synchronization

[](#model-relation-synchronization)

Automatically generate model relationships based on migration files:

```
php artisan lac:sync-model-rel
```

Synchronize specific models only:

```
php artisan lac:sync-model-rel User
```

    sync-model-rel.mp4    ### Validation Synchronization

[](#validation-synchronization)

Generate validation rules for request classes based on database schema:

```
php artisan lac:sync-validations
```

Target specific tables only:

```
php artisan lac:sync-validations --tables=users
```

    sync-validation.mp4    ### Bidirectional ER Diagram Sync

[](#bidirectional-er-diagram-sync)

#### Generate Migrations from PlantUML

[](#generate-migrations-from-plantuml)

Design your database visually with PlantUML and generate Laravel migrations:

```
php artisan lac:gen-migration

```

Please place your .puml file in storage/app/db/diagrams/ directory. Default files searched: schema.puml, er.puml, diagram.puml

⚠️ Important: To ensure perfect bidirectional synchronization, any existing migration files not defined in the PlantUML diagram will be deleted. You'll be prompted for confirmation before deletion.

#### Generate PlantUML from Migrations

[](#generate-plantuml-from-migrations)

Extract ER diagrams from your existing migration files for documentation:

```
php artisan lac:gen-diagram

```

The generated ER file will be stored into storage/app/db/diagrams/generated folder.

    Bidirectional-ER-Diagram-Sync.mp4    Architecture Design
-------------------

[](#architecture-design)

LAC follows these design principles:

- **Service Classes**: Business logic is centralized in service classes
- **Repository Pattern**: Data access is separated from models and controllers
- **Slim Controllers**: Controllers focus on request validation and service calls
- **Systematic Directory Structure**: Files are organized in a consistent structure

License
-------

[](#license)

Released under the MIT License. See the [LICENSE](https://github.com/ChikauKume/laravel-arsenal-core?tab=MIT-1-ov-file) file for details.

Author
------

[](#author)

- [Chikau Kume](https://github.com/ChikauKume)

Contributions are welcome, including bug reports, feature requests, and pull requests.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance50

Moderate activity, may be stable

Popularity22

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

5

Last Release

353d ago

Major Versions

v1.0.3 → v2.0.02025-05-31

### Community

Maintainers

![](https://www.gravatar.com/avatar/79b7ae416bc0ace3df226de7517d31b1cb9b296ec545ee041b3c9a615f0dd17e?d=identicon)[ChikauKume](/maintainers/ChikauKume)

---

Top Contributors

[![ChikauKume](https://avatars.githubusercontent.com/u/56423601?v=4)](https://github.com/ChikauKume "ChikauKume (27 commits)")

---

Tags

laravelautomationscaffoldingsynchronizationcode-generationtoolkitecosystemstandardizationarsenaldevelopment-acceleration

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lac-toolkit/health.svg)

```
[![Health](https://phpackages.com/badges/lac-toolkit/health.svg)](https://phpackages.com/packages/lac-toolkit)
```

###  Alternatives

[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
