PHPackages                             bobanum/revamp - 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. bobanum/revamp

ActiveLibrary

bobanum/revamp
==============

Description of your extension

0.1.7(2y ago)040MITPHPPHP ^8.1

Since May 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/bobanum/revamp)[ Packagist](https://packagist.org/packages/bobanum/revamp)[ RSS](/packages/bobanum-revamp/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (7)Used By (0)

[![Revamp Signature](art/signature_revamp.svg)](art/signature_revamp.svg)
=========================================================================

[](#)

A better way to find your files in Laravel!
-------------------------------------------

[](#a-better-way-to-find-your-files-in-laravel)

[![Total Downloads](https://camo.githubusercontent.com/c284b546ff58a1d07ec1c24405e62113a64260d679dcd8bf4a66881aad5eb5f9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626f62616e756d2f726576616d70)](https://packagist.org/packages/bobanum/revamp)[![Latest Stable Version](https://camo.githubusercontent.com/5660defdd70db977736d5ce849085d32fe0f865ffe128d2063895687e3f3c7c8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626f62616e756d2f726576616d70)](https://packagist.org/packages/bobanum/revamp)[![License](https://camo.githubusercontent.com/e8b43ec93bd3366e18ef3697e2eef82b52dbc31d56b8e19480a7e7c8c62baf92/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626f62616e756d2f726576616d70)](https://packagist.org/packages/bobanum/revamp)

| [Installation](#installation)| [Usage](#usage)| [Configuration](#configuration)| [The Sources](#the-sources)| [Custom Sources](#custom-sources)| [Diagrams](#diagrams)|

Introduction
------------

[](#introduction)

Revamp takes your normal files hierarchy and adds a **\_concepts** folder filled with **links** to the important files sorted and grouped by model. Every change made to thoses files will affect the target file since they are the same file.

> For example, the model `/app/Models.School.php` is the same file as `_concepts/School/Model.php`. Easier to find, easier to maintain.

> See the [diagrams](#diagrams) for more details.

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

[](#installation)

```
composer require --dev bobabum/revamp
```

Usage
-----

[](#usage)

### Revamp

[](#revamp)

```
php artisan revamp
```

> Will add new links but will not delete obsolete links.

### Revamp back to delete the concepts folder

[](#revamp-back-to-delete-the-concepts-folder)

```
php artisan revamp:back
```

### Revamp refresh to delete the concepts folder and recreate it

[](#revamp-refresh-to-delete-the-concepts-folder-and-recreate-it)

```
php artisan revamp:refresh
```

Configuration
-------------

[](#configuration)

### Publish the config file

[](#publish-the-config-file)

```
php artisan vendor:publish --tag=config
```

Will publish the config file `config/revamp.php`

### The configs

[](#the-configs)

ConfigDescriptionDefault`folder_name`The folder where the concepts are stored`_concepts``shorten_names`If true, will remove the concept's name from the file name. Making `Table/Controller.php` instead to `Table/TableController.php``true``sources`🔜The sources of files for one concept (see [below](#the-sources)). If `sources` is given, only those sources will be rendered.`null` for all the sources`excluded_sources`🔜The sources of files to exclude for one concept. If `excluded_sources` is set, `sources` will be ignored.`null` for no excluded sources`excluded_concepts`🔜The concepts to exclude. Ex.: `['App']``null` for no excluded concepts`custom_sources`The custom sources to add to the sources. (see [below](#custom-sources))`null` for no custom sourcescustom\_sourcesThe Sources
-----------

[](#the-sources)

SourceDescriptionLocation`Global`Some files not linked to a conceptVarious`Model`The model file. 🔍Revamp will use found Models to use as concepts`app/Models``Controller`The controller file. 🔍Revamp will use found Controllers to use as concepts`app/Http/Controllers``Migration`The migration file. Revamp will use the migration file **creating** the table: `*_create_*_table.php``database/migrations``Seeder`The seeder file`database/seeders``Factory`The factory file`database/factories``Policy`The policy file`app/Policies``Request`The requests files (Store and Update)`app/Http/Requests``View`🚧 The view folder (not working actually)`resources/views``Route`The route file (if one create a `concept.php` in the `routes` folder)`routes``VueModel`The vuejs file (if one create a `Concept.js` in the `resources/js/models` folder)`resources/js``VuePages`🔜 The vuejs `pages` folder`resources/js/pages``VueComponents`🔜 The vuejs `components` folder`resources/js/components`Custom sources
--------------

[](#custom-sources)

You can add custom sources to the config file. The key is the destination file or folder.

- If the key starts with `/`, the value must then be another array of custom sources and the key will be the destination folder.
- The key (destination) can be a `preg_replace` *replace* pattern(`$1`, `$2`...). The value (source) must then contain a matching number of `*`. Ex.: `'$2/$1.php' => 'views/*/*.php'`
- The value (source) can be a string or an array.
- If it's an array:
    1. the first value will be the source file or `glob` pattern
    2. the second value will be a callable that returns a path like `resource_path` or `base_path`
    3. the third value will be a callable that will let revamp modify the matches for every `*` in the source file or `glob` pattern. Ex.: `fn(&$matches) => $matches[1] = strtoupper($matches[1])`

Diagrams
--------

[](#diagrams)

&lt;style&gt; .columns { display: grid; grid-template-columns: 1fr max-content; justify-content: space-between; gap: .5em; } .columns&gt;div { line-height: 1em; overflow-x: hidden; font-size: 0.8em; } .columns pre { } .columns code { line-height: 1.1em; letter-spacing: -0.1ch; white-space: no-wrap !important; } } &lt;/style&gt; Original Laravel Hierarchy

```
📦my-laravel-project
 ┣━📂app
 ┃ ┣━📂Http
 ┃ ┃ ┣━📂Controllers
 ┃ ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┃ ┣━📜DepartmentController.php
 ┃ ┃ ┃ ┣━📜SchoolController.php
 ┃ ┃ ┃ ┗━📜TeacherController.php
 ┃ ┃ ┗━📂Requests
 ┃ ┃   ┣━📜StoreDepartmentRequest.php
 ┃ ┃   ┣━📜StoreSchoolRequest.php
 ┃ ┃   ┣━📜StoreTeacherRequest.php
 ┃ ┃   ┣━📜UpdateDepartmentRequest.php
 ┃ ┃   ┣━📜UpdateSchoolRequest.php
 ┃ ┃   ┗━📜UpdateTeacherRequest.php
 ┃ ┣━📂Models
 ┃ ┃ ┣━📜Department.php
 ┃ ┃ ┣━📜School.php
 ┃ ┃ ┣━📜Teacher.php
 ┃ ┃ ┗━📜User.php
 ┃ ┗━📂Policies
 ┃   ┣━📜DepartmentPolicy.phpz
 ┃   ┣━📜SchoolPolicy.php
 ┃   ┗━📜TeacherPolicy.php
 ┣━📂concepts
 ┃ ┣━📂Department
 ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┣━📜Factory.php
 ┃ ┃ ┣━📜migration.php
 ┃ ┃ ┣━📜Model.php
 ┃ ┃ ┣━📜Seeder.php
 ┃ ┃ ┣━📜StoreRequest.php
 ┃ ┃ ┗━📜UpdateRequest.php
 ┃ ┣━📂School
 ┃ ┃ ┣━📂views
 ┃ ┃ ┃ ┗━📜index.blade.php
 ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┣━📜Factory.php
 ┃ ┃ ┣━📜migration.php
 ┃ ┃ ┣━📜Model.php
 ┃ ┃ ┣━📜Policy.php
 ┃ ┃ ┣━📜Seeder.php
 ┃ ┃ ┣━📜StoreRequest.php
 ┃ ┃ ┗━📜UpdateRequest.php
 ┃ ┣━📂Teacher
 ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┣━📜Factory.php
 ┃ ┃ ┣━📜migration.php
 ┃ ┃ ┣━📜Model.php
 ┃ ┃ ┣━📜Policy.php
 ┃ ┃ ┣━📜Seeder.php
 ┃ ┃ ┣━📜StoreRequest.php
 ┃ ┃ ┗━📜UpdateRequest.php
 ┃ ┗━📂User
 ┃   ┣━📜Factory.php
 ┃   ┣━📜migration.php
 ┃   ┗━📜Model.php
 ┣━📂database
 ┃ ┣━📂factories
 ┃ ┃ ┣━📜DepartmentFactory.php
 ┃ ┃ ┣━📜SchoolFactory.php
 ┃ ┃ ┣━📜TeacherFactory.php
 ┃ ┃ ┗━📜UserFactory.php
 ┃ ┣━📂migrations
 ┃ ┃ ┣━📜create_users_table.php
 ┃ ┃ ┣━📜create_schools_table.php
 ┃ ┃ ┣━📜create_departments_table.php
 ┃ ┃ ┗━📜create_teachers_table.php
 ┃ ┗━📂seeders
 ┃   ┣━📜DatabaseSeeder.php
 ┃   ┣━📜DepartmentSeeder.php
 ┃   ┣━📜SchoolSeeder.php
 ┃   ┗━📜TeacherSeeder.php
 ┣━📂resources
 ┃ ┗━📂views
 ┃   ┗━📂school
 ┃     ┣━📜index.blade.php
 ┃     ┗━📜show.blade.php
 ┗━📂routes
   ┣━📜api.php
   ┣━📜channels.php
   ┣━📜console.php
   ┗━📜web.php
```

Revamped hierarchy in `\_concepts` folder:

```
📦my-laravel-project
 ┣━📂_concepts
 ┃ ┣━📂Department
 ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┣━📜Factory.php
 ┃ ┃ ┣━📜migration.php
 ┃ ┃ ┣━📜Model.php
 ┃ ┃ ┣━📜Seeder.php
 ┃ ┃ ┣━📜StoreRequest.php
 ┃ ┃ ┗━📜UpdateRequest.php
 ┃ ┣━📂School
 ┃ ┃ ┣━📂views
 ┃ ┃ ┃ ┣━📜index.blade.php
 ┃ ┃ ┃ ┗━📜show.blade.php
 ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┣━📜Factory.php
 ┃ ┃ ┣━📜migration.php
 ┃ ┃ ┣━📜Model.php
 ┃ ┃ ┣━📜Policy.php
 ┃ ┃ ┣━📜Seeder.php
 ┃ ┃ ┣━📜StoreRequest.php
 ┃ ┃ ┗━📜UpdateRequest.php
 ┃ ┣━📂Teacher
 ┃ ┃ ┣━📜Controller.php
 ┃ ┃ ┣━📜Factory.php
 ┃ ┃ ┣━📜migration.php
 ┃ ┃ ┣━📜Model.php
 ┃ ┃ ┣━📜Policy.php
 ┃ ┃ ┣━📜Seeder.php
 ┃ ┃ ┣━📜StoreRequest.php
 ┃ ┃ ┗━📜UpdateRequest.php
 ┃ ┗━📂User
 ┃   ┣━📜Factory.php
 ┃   ┣━📜migration.php
 ┃   ┗━📜Model.php
 ┗━...
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

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

6

Last Release

1070d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0344a3d629ae0c0b29fe8e1faaa8400f9307dd881158896e2b0af0c38c2ebb63?d=identicon)[bobanum](/maintainers/bobanum)

---

Top Contributors

[![bobanum](https://avatars.githubusercontent.com/u/32491185?v=4)](https://github.com/bobanum "bobanum (5 commits)")

---

Tags

artisan-commandcleanercomposer-packagehierarchylaravellaravelextensionrevampbobanum

### Embed Badge

![Health badge](/badges/bobanum-revamp/health.svg)

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

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11320.2M21](/packages/anourvalar-eloquent-serialize)[poing/earmark

Laravel package to generate values in a unique and customizable series.

10712.9k](/packages/poing-earmark)[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)
