Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
catchadmin-backend
catchadmin-backend
catchadmin/core
claude-code
catchadmin
modular-architecture
controllers
models
routing
migrations
strict-types

Use when creating or modifying CatchAdmin backend modules, controllers, models, migrations, enums, routes, services, or other PHP/Laravel code under `modules/`.

Install
php artisan boost:add-skill catchadmin/core

Save this content to: .claude/skills/catchadmin-backend/SKILL.md

# CatchAdmin Backend

## Scope

CatchAdmin backend work follows the repo's current PHP and Laravel config, the modular layout under `modules/{ModuleName}/`, and the conventions already used in the target module.
Use `catchadmin-module` for module skeleton creation, installer/provider scaffolding, route placeholders, and module registration.

## Core Rules

- Use `declare(strict_types=1);` in every PHP file.
- Keep controllers thin. Route requests, call the model or a service, return data.
- Extend `Catch\Base\CatchController` for controllers and `Catch\Base\CatchModel` for models.
- Use `protected readonly` constructor injection when a dependency is injected.
- Keep enum values starting at `1`.
- Use `1 = Enabled` and `2 = Disabled` for status fields.
- Store timestamps and soft-delete fields as `unsignedInteger` Unix timestamps.

## Route Guidance

Check the target module's `routes/route.php` first and follow the route style already in that module.

- Prefer `Route::adminResource` for new admin CRUD routes.
- Use `Route::apiResource` when the module already uses it or when the route needs explicit `only`, `except`, or custom names.
- Keep route prefixes lowercase.
- Keep generator-managed route files aligned with the `//next` marker.

See [references/routes.md](references/routes.md) for route examples and selection notes.

## Model Conventions

`Catch\Base\CatchModel` handles the common list, create, update, delete, toggle, and search flow.

- Define `$table`, `$fillable`, `$fields`, and `$form`.
- Use `$searchable` for quick search fields.
- Keep `creator_id` in fillable lists when the model uses creator tracking.
- Use `$dataRange` when data permission filtering applies.
- Prefer `setBeforeGetList()` for query adjustments that belong with the model.

See [references/model-api.md](references/model-api.md) for the model API surface.

## Validation

- Controllers stay focused on orchestration.
- Models expose the expected list and CRUD fields.
- Routes match the target module style.
- Migrations use unsigned integer timestamps and soft-delete columns.
- Enums start at `1`.

## References

- [references/model-api.md](references/model-api.md)
- [references/system-features.md](references/system-features.md)
- [references/routes.md](references/routes.md)

CatchAdmin Backend

Scope

CatchAdmin backend work follows the repo's current PHP and Laravel config, the modular layout under modules/{ModuleName}/, and the conventions already used in the target module. Use catchadmin-module for module skeleton creation, installer/provider scaffolding, route placeholders, and module registration.

Core Rules

  • Use declare(strict_types=1); in every PHP file.
  • Keep controllers thin. Route requests, call the model or a service, return data.
  • Extend Catch\Base\CatchController for controllers and Catch\Base\CatchModel for models.
  • Use protected readonly constructor injection when a dependency is injected.
  • Keep enum values starting at 1.
  • Use 1 = Enabled and 2 = Disabled for status fields.
  • Store timestamps and soft-delete fields as unsignedInteger Unix timestamps.

Route Guidance

Check the target module's routes/route.php first and follow the route style already in that module.

  • Prefer Route::adminResource for new admin CRUD routes.
  • Use Route::apiResource when the module already uses it or when the route needs explicit only, except, or custom names.
  • Keep route prefixes lowercase.
  • Keep generator-managed route files aligned with the //next marker.

See references/routes.md for route examples and selection notes.

Model Conventions

Catch\Base\CatchModel handles the common list, create, update, delete, toggle, and search flow.

  • Define $table, $fillable, $fields, and $form.
  • Use $searchable for quick search fields.
  • Keep creator_id in fillable lists when the model uses creator tracking.
  • Use $dataRange when data permission filtering applies.
  • Prefer setBeforeGetList() for query adjustments that belong with the model.

See references/model-api.md for the model API surface.

Validation

  • Controllers stay focused on orchestration.
  • Models expose the expected list and CRUD fields.
  • Routes match the target module style.
  • Migrations use unsigned integer timestamps and soft-delete columns.
  • Enums start at 1.

References

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect