PHPackages                             hero-seguros/hero-laratoolkit - 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. hero-seguros/hero-laratoolkit

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

hero-seguros/hero-laratoolkit
=============================

Um Pacote de recursos para apoiar aplicações Laravel

v2.0.1(1mo ago)03.6k↓49.2%2[1 issues](https://github.com/hero-seguros/hero-laratoolkit/issues)[1 PRs](https://github.com/hero-seguros/hero-laratoolkit/pulls)MITPHPPHP &gt;=8.0CI passing

Since Jan 22Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/hero-seguros/hero-laratoolkit)[ Packagist](https://packagist.org/packages/hero-seguros/hero-laratoolkit)[ RSS](/packages/hero-seguros-hero-laratoolkit/feed)WikiDiscussions main Synced yesterday

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

HeroLaraToolkit
===============

[](#herolaratoolkit)

Biblioteca compartilhada usada pelos serviços Laravel da Hero Seguros. Fornece:

- **Geradores de código `make:` opinativos**, que organizam arquivos por domínio e já injetam as convenções da arquitetura padrão (Controllers com `ApiControllerTrait`, Services com `execute()`, Repositories com interface + bind, etc.).
- **Validadores brasileiros** auto-registrados (`cpf`, `cnpj`, `phone`, `cellphone`, `cep`, `passport`).
- **Helpers** de formatação (`FormatHelper`) e validação (`ValidatorHelper`).
- **`AbstractRepository`**, **`ApiControllerTrait`** e **`BusinessException`** como base do padrão de serviço/controller.

Instalação
----------

[](#instalação)

```
composer require hero-seguros/hero-laratoolkit
```

Requisitos
----------

[](#requisitos)

- **PHP**: &gt;= 8.0
- **Laravel** (runtime, declarado em `composer.json`): 8.x, 9.x, 10.x, 11.x ou 12.x

### Cobertura de CI

[](#cobertura-de-ci)

O workflow `tests.yml` roda a suíte Pest contra **Laravel 11 (Testbench 9) e Laravel 12 (Testbench 10)**, em PHP 8.2, 8.3 e 8.4. Laravel 8/9/10 continuam declarados como compatíveis no `composer.json` mas **não são exercitados em CI** — o ecossistema bloqueia a instalação combinada de Testbench 8 + PHPUnit-compatível-com-Pest-3 via security advisories (Laravel 10 já está fora do suporte de segurança oficial desde fev/2025). Se você usa o pacote em um serviço Laravel 8-10, os testes precisam ser rodados manualmente no ambiente do serviço.

Comandos `make:` — visão geral
------------------------------

[](#comandos-make--visão-geral)

Todos os overrides preservam os flags nativos do Laravel (`--api`, `--resource`, `--model=`, `--sync`, etc.). O `--domain=` é **opcional** em quase tudo — quando omitido, o comando se comporta exatamente como o nativo.

### Overrides de comandos nativos

[](#overrides-de-comandos-nativos)

ComandoResultado com `--domain=Foo`Resultado sem `--domain``make:controller``app/Http/Controllers/Foo/{Name}.php` (com `ApiControllerTrait`)nativo`make:request``app/Http/Requests/Foo/{Name}.php`nativo`make:resource``app/Http/Resources/Foo/{Name}.php`nativo`make:policy``app/Policies/Foo/{Name}.php`nativo`make:job``app/Jobs/Foo/{Name}.php`nativo`make:command``app/Console/Commands/Foo/{Name}.php`nativo`make:middleware``app/Http/Middleware/Foo/{Name}.php`nativo`make:rule``app/Rules/Foo/{Name}.php`nativo`make:observer``app/Observers/Foo/{Name}.php`nativo`make:test`depende de `--type` (ver abaixo)nativo (com Pest forçado)### Comandos com contrato próprio

[](#comandos-com-contrato-próprio)

ComandoAssinaturaResultado`make:service``{name} --domain={Dominio}` (domínio **obrigatório**)`app/Services/{Dominio}/{Name}Service.php``make:repository``{name}`Cria interface, implementação e bind no `RepositoryServiceProvider``make:adapter``{name} [--domain=Foo]``app/Adapters/[Foo/]{Name}Adapter.php` (Guzzle)`make:helper``{name}` (sem `--domain`)`app/Helpers/{Name}Helper.php`### `make:test` — tipos suportados

[](#maketest--tipos-suportados)

```
php artisan make:test ListOrders --type=feature --domain=Order
# → tests/Feature/Order/ListOrders.php
```

`--type=`Caminho gerado`feature``tests/Feature/[Domain/]{Name}.php``unit-controller``tests/Unit/Controllers/[Domain/]{Name}.php``unit-service``tests/Unit/Services/[Domain/]{Name}.php``unit-policy``tests/Unit/Policies/[Domain/]{Name}.php``unit-helper``tests/Unit/Helpers/{Name}.php` (sem domínio)Pest é forçado sempre. Use `--phpunit` se precisar do stub PHPUnit.

`make:repository` — fluxo
-------------------------

[](#makerepository--fluxo)

```
php artisan make:repository Order
```

Gera **três efeitos**:

1. `app/Contracts/Repositories/OrderRepositoryInterface.php`
2. `app/Repositories/OrderRepository.php` (estende `AbstractRepository`, implementa a interface)
3. `app/Providers/RepositoryServiceProvider.php` é criado (na primeira execução) ou atualizado com o bind `OrderRepositoryInterface::class => OrderRepository::class`

O `HeroLaraToolkitServiceProvider` detecta a presença de `App\Providers\RepositoryServiceProvider` no boot e o registra automaticamente — não é preciso editar `AppServiceProvider` nem `bootstrap/providers.php`.

Executar `make:repository Order` duas vezes é idempotente: o bind não duplica. Use `--force` para sobrescrever os arquivos `.php`.

Validadores
-----------

[](#validadores)

Registrados globalmente pelo Service Provider — basta usar nas regras:

```
public function rules(): array
{
    return [
        'cpf'      => 'required|cpf',
        'cnpj'     => 'nullable|cnpj',
        'telefone' => 'required|cellphone',
        'fixo'     => 'nullable|phone',
        'cep'      => 'required|cep',
        'passport' => 'nullable|passport',
    ];
}
```

`ApiControllerTrait` + `BusinessException`
------------------------------------------

[](#apicontrollertrait--businessexception)

Padroniza respostas JSON de controllers:

```
use HeroLaraToolkit\Traits\ApiControllerTrait;
use HeroLaraToolkit\Exceptions\BusinessException;

class OrderController extends Controller
{
    use ApiControllerTrait;

    public function store(StoreOrderRequest $request): JsonResponse
    {
        try {
            $order = app(CreateService::class)->execute($request->validated());

            return $this->returnSuccess($order, 'Pedido criado.');
        } catch (Throwable $e) {
            return $this->returnError('Falha ao criar pedido.', $e);
        }
    }
}
```

Para erros de negócio que precisam vazar a mensagem para o caller, lance `BusinessException` — o trait substitui a mensagem genérica pela do exception automaticamente.

Helpers
-------

[](#helpers)

- `FormatHelper::cpf|cnpj|cep|phone|dateToBr|dateToMysql|floatToBr` — máscaras e conversões pt-BR ↔ MySQL.
- `DebugHelper::inFile($name, $data)` — escreve um JSON em `base_path()` para debug local. **Não comitar chamadas.**

CHANGELOG
---------

[](#changelog)

### 2.0.0 (breaking)

[](#200-breaking)

- **`make:service` mudou de assinatura**: `make:service Create Order` → `make:service Create --domain=Order`. Scripts/CI precisam ser atualizados ao subir.
- Adicionados 10 overrides de comandos nativos (`make:controller`, `make:request`, `make:resource`, `make:policy`, `make:job`, `make:command`, `make:test`, `make:middleware`, `make:rule`, `make:observer`) que aceitam `--domain=` opcional.
- Adicionados `make:adapter` e `make:helper`.
- `make:repository` agora gera interface + bind via `RepositoryServiceProvider` dedicado.
- Suite de testes Pest + Orchestra Testbench adicionada.

Licença
-------

[](#licença)

MIT — veja [LICENSE](LICENSE).

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance91

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.2% 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 ~69 days

Recently: every ~29 days

Total

8

Last Release

44d ago

Major Versions

v1.0.6 → v2.0.02026-05-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/112663147?v=4)[heroseguros](/maintainers/heroseguros)[@heroseguros](https://github.com/heroseguros)

---

Top Contributors

[![mariombn](https://avatars.githubusercontent.com/u/1028347?v=4)](https://github.com/mariombn "mariombn (20 commits)")[![cleytoncm](https://avatars.githubusercontent.com/u/13922893?v=4)](https://github.com/cleytoncm "cleytoncm (1 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/hero-seguros-hero-laratoolkit/health.svg)

```
[![Health](https://phpackages.com/badges/hero-seguros-hero-laratoolkit/health.svg)](https://phpackages.com/packages/hero-seguros-hero-laratoolkit)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

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

Framework for Roots WordPress projects built with Laravel components.

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

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)[api-platform/laravel

API Platform support for Laravel

58171.4k14](/packages/api-platform-laravel)[mike-bronner/laravel-model-caching

Automatic caching for Eloquent models.

2.4k90.5k1](/packages/mike-bronner-laravel-model-caching)

PHPackages © 2026

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