PHPackages                             mehedi250/laravel-structure-kit - 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. [CLI &amp; Console](/categories/cli)
4. /
5. mehedi250/laravel-structure-kit

ActiveLibrary[CLI &amp; Console](/categories/cli)

mehedi250/laravel-structure-kit
===============================

Laravel scaffolding package with a browser UI and Artisan command — generates Model, Controller, Migration, Service Pattern (interface + implementation), and Repository Pattern (interface + implementation) with correct namespaces.

v0.1.6(3w ago)928↓90.6%MITBladePHP ^8.1

Since Feb 16Pushed 3w agoCompare

[ Source](https://github.com/mehedi250/laravel-structure-kit)[ Packagist](https://packagist.org/packages/mehedi250/laravel-structure-kit)[ Docs](https://github.com/mehedi250/laravel-structure-kit)[ GitHub Sponsors](https://github.com/sponsors/mehedi250)[ RSS](/packages/mehedi250-laravel-structure-kit/feed)WikiDiscussions main Synced today

READMEChangelog (6)Dependencies (12)Versions (9)Used By (0)

```
 ██████╗████████╗██████╗ ██╗   ██╗ ██████╗████████╗██╗   ██╗██████╗ ███████╗
██╔════╝╚══██╔══╝██╔══██╗██║   ██║██╔════╝╚══██╔══╝██║   ██║██╔══██╗██╔════╝
╚█████╗    ██║   ██████╔╝██║   ██║██║        ██║   ██║   ██║██████╔╝█████╗
 ╚═══██╗   ██║   ██╔══██╗██║   ██║██║        ██║   ██║   ██║██╔══██╗██╔══╝
██████╔╝   ██║   ██║  ██║╚██████╔╝╚██████╗   ██║   ╚██████╔╝██║  ██║███████╗
╚═════╝    ╚═╝   ╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚══════╝

```

### **Laravel Structure Kit**

[](#laravel-structure-kit)

**A browser-based scaffolding panel for Laravel — generate Models, Controllers, Services, Repositories, and Migrations in one click.**
No terminal required. Open the UI, pick your components, hit Generate.

[![Laravel](https://camo.githubusercontent.com/1d11d11d384ffedc5b810093580b6f4e9816d45a3c3d99183d71b2b6f1dcc4a0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302532422d4646324432303f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465)](https://laravel.com)[![PHP](https://camo.githubusercontent.com/0b828fae3809f5692b3303526d43b126732078cc61f176b8f877332096c98bc0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d3737374242343f7374796c653d666f722d7468652d6261646765266c6f676f3d706870266c6f676f436f6c6f723d7768697465)](https://php.net)[![License](https://camo.githubusercontent.com/538530539d052f14c5fe1c780e30d2d7b82d9233e9b8c21c31841a47cd7b74af/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d3232433535453f7374796c653d666f722d7468652d6261646765)](LICENSE)[![Stars](https://camo.githubusercontent.com/fb247ca6d5e89e9496ee43f9c8c3076909a5901025be4255b446725ee5f52860/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d65686564693235302f6c61726176656c2d7374727563747572652d6b69743f7374796c653d666f722d7468652d626164676526636f6c6f723d463539453042266c6f676f3d676974687562)](https://github.com/mehedi250/laravel-structure-kit/stargazers)[![Issues](https://camo.githubusercontent.com/286fe240577f4a56658df90c8aa149aa06b8c176ffc54c47df6e17d9dda825b8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d65686564693235302f6c61726176656c2d7374727563747572652d6b69743f7374796c653d666f722d7468652d626164676526636f6c6f723d334238324636)](https://github.com/mehedi250/laravel-structure-kit/issues)[![PRs Welcome](https://camo.githubusercontent.com/aaa881370c35fc64a57cef7f008d85fd1c2934cfa8721b0fbb414d10f6132cb5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d4138353546373f7374796c653d666f722d7468652d6261646765)](https://github.com/mehedi250/laravel-structure-kit/pulls)[![Packagist Downloads](https://camo.githubusercontent.com/17c97d4cdd7108b3497a727ab9ce85bd39ce8e3457e25dce5134601268216395/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d65686564693235302f6c61726176656c2d7374727563747572652d6b69743f7374796c653d666f722d7468652d626164676526636f6c6f723d303642364434)](https://packagist.org/packages/mehedi250/laravel-structure-kit)

---

Overview
--------

[](#overview)

**Laravel Structure Kit** gives you a clean browser panel for scaffolding Laravel file structures. Enter a model name, check the components you want, optionally adjust directory paths, and click **Generate Files** — all selected files are created instantly with the correct namespaces.

It supports the **Service Pattern** and **Repository Pattern** out of the box, generating both the interface (contract) and the implementation class for each.

---

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

[](#requirements)

DependencyVersionPHP`^8.1`Laravel`^10.0 | ^11.0 | ^12.0 | ^13.0`---

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

[](#installation)

```
composer require mehedi250/laravel-structure-kit
```

The package registers itself automatically via Laravel's package auto-discovery. No config file or service provider registration required.

---

Using the UI Panel
------------------

[](#using-the-ui-panel)

### Open the panel

[](#open-the-panel)

Start your local server and visit:

```
http://localhost:8000/structure-kit

```

> The panel is only accessible in `local` environment. It returns a `403` in any other environment.

[![Laravel Structure Kit UI](https://raw.githubusercontent.com/mehedi250/laravel-structure-kit/main/src/ui.png)](https://raw.githubusercontent.com/mehedi250/laravel-structure-kit/main/src/ui.png)

---

### Step 1 — Enter a model name

[](#step-1--enter-a-model-name)

Type your base model name in the **Base Model Name** field at the top of the Configuration panel.

```
Product

```

Every generated filename is derived from this name:

Generated fileDerived name`Product.php`Model`ProductController.php`Controller`ProductServiceInterface.php`Service Interface`ProductService.php`Service Class`ProductRepositoryInterface.php`Repository Interface`ProductRepository.php`Repository Class`xxxx_xx_xx_create_products_table.php`Migration---

### Step 2 — Select components

[](#step-2--select-components)

All five components are selected by default. Uncheck anything you don't need. Use **Deselect All / Select All** to toggle everything at once.

ComponentWhat gets generated**Model**Eloquent model class**Controller**Resource controller wired to the service interface**Migration**Timestamped `create_table` migration**Service Pattern**`ProductServiceInterface.php` + `ProductService.php`**Repository Pattern**`ProductRepositoryInterface.php` + `ProductRepository.php`Selecting **Service Pattern** without **Repository Pattern** generates a service that works directly with the model — no repository dependency.

---

### Step 3 — Review and customize paths (optional)

[](#step-3--review-and-customize-paths-optional)

The right panel shows **Customize Namespaces** — one editable path field per selected component. The defaults match standard Laravel conventions:

ComponentDefault pathModel`app/Models`Controller`app/Http/Controllers`Service Interface`app/Services/Contracts`Service Class`app/Services/Implementations`Repository Interface`app/Repositories/Contracts`Repository Class`app/Repositories/Eloquent`You can change any path before generating. All paths must start with `app/` — the UI blocks submission if a path does not.

**Refresh Path** resets all fields back to the defaults above.

**Remember current path** — tick this checkbox to save your custom paths in the browser. The next time you open the panel, your paths are pre-filled automatically.

---

### Step 4 — Preview the file tree

[](#step-4--preview-the-file-tree)

The **Structure Output** terminal on the right updates live as you type the model name, check components, or edit paths. It shows exactly what will be written to disk before you commit to generating.

```
+ app/Models/Product.php
+ app/Http/Controllers/ProductController.php
+ app/Services/Contracts/ProductServiceInterface.php
+ app/Services/Implementations/ProductService.php
+ app/Repositories/Contracts/ProductRepositoryInterface.php
+ app/Repositories/Eloquent/ProductRepository.php
+ database/migrations/2026_06_07_xxxxxx_create_products_table.php

```

---

### Step 5 — Generate

[](#step-5--generate)

Click **🚀 Generate Files**.

The form submits via Fetch API — no page reload. A success or error message appears at the top of the page. Files that already exist on disk are skipped (not overwritten).

---

Generated file structure
------------------------

[](#generated-file-structure)

Running the generator with model name `Product` and all components selected produces:

```
app/
├── Models/
│   └── Product.php
├── Http/
│   └── Controllers/
│       └── ProductController.php
├── Services/
│   ├── Contracts/
│   │   └── ProductServiceInterface.php
│   └── Implementations/
│       └── ProductService.php
└── Repositories/
    ├── Contracts/
    │   └── ProductRepositoryInterface.php
    └── Eloquent/
        └── ProductRepository.php
database/
└── migrations/
    └── 2026_06_07_xxxxxx_create_products_table.php

```

---

Artisan Command (CLI alternative)
---------------------------------

[](#artisan-command-cli-alternative)

Prefer the terminal? The Artisan command generates the same files without the browser.

```
php artisan structure-kit {ModelName} {flags}
```

### Flags

[](#flags)

FlagComponent`m`Model`c`Controller`s`Service + Service Interface`r`Repository + Repository Interface`t`Migration### Examples

[](#examples)

```
# Generate everything
php artisan structure-kit Product mcsrt

# Service + Repository only
php artisan structure-kit Product sr

# Model + Controller only
php artisan structure-kit Product mc

# Preview without writing files
php artisan structure-kit Product mcsrt --dry-run
```

---

Use Cases
---------

[](#use-cases)

- **New projects** — establish a consistent structure from the first model
- **Team environments** — everyone generates files the same way, same paths, same conventions
- **Rapid prototyping** — scaffold a full feature in seconds, then fill in the logic
- **Learning clean architecture** — see how Interfaces, Services, and Repositories connect before writing a line

---

Contributing
------------

[](#contributing)

All contributions are welcome — bug fixes, new features, documentation improvements.

```
# Fork on GitHub, then:
git clone https://github.com/YOUR_USERNAME/laravel-structure-kit.git
git checkout -b feature/your-feature
git commit -m "feat: describe your change"
git push origin feature/your-feature
# Open a Pull Request
```

Repository: [github.com/mehedi250/laravel-structure-kit](https://github.com/mehedi250/laravel-structure-kit)

---

License
-------

[](#license)

Released under the **MIT License**.
Copyright © 2026 **Md. Mehedi Hasan Shawon**

See the [LICENSE](LICENSE) file for full details.

---

**If this package saved you time, consider giving it a ⭐ on GitHub.**

Made with ❤️ for the Laravel community · [Report a Bug](https://github.com/mehedi250/laravel-structure-kit/issues) · [Request a Feature](https://github.com/mehedi250/laravel-structure-kit/issues)

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance94

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 75.9% 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 ~15 days

Recently: every ~27 days

Total

8

Last Release

27d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/eec343d152f134d03bcd4358304e32b9732a283c87665284819ecab0ae9744ca?d=identicon)[mehedi250](/maintainers/mehedi250)

---

Top Contributors

[![mehedihasan250](https://avatars.githubusercontent.com/u/103418738?v=4)](https://github.com/mehedihasan250 "mehedihasan250 (22 commits)")[![mehedi250](https://avatars.githubusercontent.com/u/68318682?v=4)](https://github.com/mehedi250 "mehedi250 (7 commits)")

---

Tags

phplaravelscaffoldinggeneratorcode generatorscaffoldartisanlaravel-packageboilerplaterepository patternbackenddesign patternsclean architectureBest-Practicesdeveloper-toolsproject-structurelaravel-architecturelaravel-structurelaravel-toolfolder-structureservice patternfile generatorinterface-patternlaravel-scaffold

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mehedi250-laravel-structure-kit/health.svg)

```
[![Health](https://phpackages.com/badges/mehedi250-laravel-structure-kit/health.svg)](https://phpackages.com/packages/mehedi250-laravel-structure-kit)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M147](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M132](/packages/laravel-pulse)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[laravel/folio

Page based routing for Laravel.

603583.7k33](/packages/laravel-folio)

PHPackages © 2026

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