PHPackages                             janicheg/thrust - 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. janicheg/thrust

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

janicheg/thrust
===============

A simple resource crud generator

0.4.19(6y ago)010MITPHP

Since Sep 18Pushed 6y agoCompare

[ Source](https://github.com/janicheg/thrust)[ Packagist](https://packagist.org/packages/janicheg/thrust)[ RSS](/packages/janicheg-thrust/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (2)Dependencies (2)Versions (54)Used By (0)

\#Thrust

Fields
------

[](#fields)

- Validation rules
- Show in Index / Edit
- Visibility

### Basic Types

[](#basic-types)

- Check
- Check Switch
- Color
- Currency
- Date
- Datetime
- Email
- Hidden
- Integer
- Link
- Password
- Percentage
- Range
- Select
- Text
- Textarea
- Time
- Url

### Powered up

[](#powered-up)

- Panel
- Image
- Place
- Gravatar
- ParentId

### Relationships

[](#relationships)

- HasMany
- HasOne
- Belongs to
- Belongs to many

### Resource

[](#resource)

- Sortable
- Search
- Pagination
- Single resource
- Single resource search
- Automatic with
- Main Actions
- Row Actions
- Inline Edit
- Save and continue
- Table density
- Uses laravel policies for the crud related actions

Events
------

[](#events)

It uses the standard Laravel events, but if you want to add some events only on Thrust pages you can do it like this in you `AppServiceProvider`

```
    Thrust::serving(function () {
        User::observe(UserObserver::class);
    });

```

This way the observers will only be registered when using a thrust function

TODO:
-----

[](#todo)

\[x\] Migrate to select2 4.0
\[x\] Make check fields to be toggable from the index
\[x\] Pin validation not working (digits 4)
\[x\] Update validation
\[x\] Configurable route prefix
\[x\] Make the service provider deffered as it doesn't need to be called in the API
\[x\] Panel visibility by check and select
\[x\] Make visibleWhen (for checkboxes, or type of printers... etc)
\[x\] BelongsTo many ajax searchable
\[x\] Prunable files, should be deleted when deleting resource
\[x\] Update saveOrder function to use a thrust one instead of the retail/xef yet
\[x\] Update saveOrder function to use the plural version of the resource name (the one we use on whole thrust) instead of the singular one
\[x\] ThrustRelationshipController to use the $relationDisplayName instead of `name`
\[x\] Employee, photo upload...
\[x\] Add save and continue editing functionality
\[x\] Inline editing!
\[x\] Table density
\[x\] Custom events to be different than the standard ones?
\[x\] Quan sortable, afegir x defecte la main action save order
\[x\] Make the resource found in app service provider recursive into thrust directory ?
\[x\] Improved ResourceFilters\\Search by words, fer-ho per el primer fields nomes?
\[x\] Search through relationships
\[\] Save image in thrust to use the same route as display
\[\] Relationship rules, apply to field, and should apply to foreing\_key when saving
\[\] Use the search route into searcher, and pass the search parameter to query instead of a new url path parameter
\[\] Delete validation
\[\] Make sortable relationships (right now it uses the relationship name instead of the underling field)
\[\] Add latlang to algolia places search?
\[\] Search limitar-lo a 100 (configurable) sense pagination
\[\] Make hideWhen and showWhen to make it work with Array fields

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 87.8% 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 ~9 days

Recently: every ~33 days

Total

50

Last Release

2344d ago

### Community

Maintainers

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

---

Top Contributors

[![BadChoice](https://avatars.githubusercontent.com/u/93900?v=4)](https://github.com/BadChoice "BadChoice (303 commits)")[![PauRevo](https://avatars.githubusercontent.com/u/35812841?v=4)](https://github.com/PauRevo "PauRevo (20 commits)")[![dadraude](https://avatars.githubusercontent.com/u/141412796?v=4)](https://github.com/dadraude "dadraude (13 commits)")[![jordi1704](https://avatars.githubusercontent.com/u/6200974?v=4)](https://github.com/jordi1704 "jordi1704 (4 commits)")[![janicheg](https://avatars.githubusercontent.com/u/8246078?v=4)](https://github.com/janicheg "janicheg (3 commits)")[![vicenthy](https://avatars.githubusercontent.com/u/3986111?v=4)](https://github.com/vicenthy "vicenthy (2 commits)")

### Embed Badge

![Health badge](/badges/janicheg-thrust/health.svg)

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

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)[symfony/ux-cropperjs

Cropper.js integration for Symfony

19280.3k3](/packages/symfony-ux-cropperjs)

PHPackages © 2026

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