Skip to content

¿Qué es Arqel?

Arqel es un framework open-source con licencia MIT para construir admin panels en Laravel 12+/13 con Inertia 3 y React 19.2+. Se posiciona como una alternativa a Filament y Laravel Nova.

Filosofía

Tres decisiones opinionadas forman el corazón del proyecto:

1. UI dirigida por el servidor

Los Resources, Fields, Tables y Forms se declaran en PHP. El front-end React solo consume el JSON serializado por el servidor. Tu describes qué es el admin, no cómo se ensamblan los componentes:

php
final class PostResource extends Resource
{
    protected static string $model = Post::class;

    public function fields(): array
    {
        return [
            Field::text('title')->required(),
            Field::slug('slug')->fromField('title'),
            Field::textarea('body'),
        ];
    }
}

Ese único archivo genera index, create, edit, show, rutas, reglas de validación y payload de Inertia.

2. Solo Inertia

Arqel prohíbe TanStack Query, SWR u otras librerías de fetch en el CRUD de Resources (ADR-001). Las props de Inertia son el estado por defecto. El resultado: cero impedance mismatch entre Laravel y React, navegación SSR natural, y un único modelo mental — "las props vienen del servidor, los callbacks vuelven al servidor".

3. Nativo de Laravel

Policies, Gates, FormRequest, Eloquent — usados directamente. Arqel no tiene modelo Role, ni tabla de permisos, ni ACL paralelo. Si conoces Laravel, conoces Arqel.

Stack

CapaTecnología
BackendPHP 8.3+ · Laravel 12+
BridgeInertia 3
FrontendReact 19.2+ · TypeScript 5.6+ strict
UIshadcn CLI v4 (new-york) · Radix UI · Tailwind CSS v4
TablasTanStack Table v8
BundlerVite 5 (app) · tsup (libs)
TestsPest 3 · Vitest · Playwright

Paquetes

Instalación en una línea

bash
composer require arqel-dev/framework

El meta-paquete arqel-dev/framework arrastra todo el stack PHP. Si quieres saber qué hay debajo:

PHP

PaqueteResponsabilidad
arqel-dev/frameworkMeta-paquete — agrupa todo lo de abajo
arqel-dev/corePanels, Resources, rutas polimórficas, bridge de Inertia, command palette, telemetría
arqel-dev/authLogin/Register/Forgot/Reset/Verify incluido (páginas Inertia React) + AbilityRegistry
arqel-dev/fields21 tipos de Field + ValidationBridge
arqel-dev/tableTable builder + Columns + Filters
arqel-dev/formForm builder + componentes Layout + generación de FormRequest
arqel-dev/actionsRowAction, BulkAction, ToolbarAction, HeaderAction
arqel-dev/navNavigationItem, NavigationGroup, BreadcrumbsBuilder

JavaScript

Los paquetes JS se instalan automáticamente con arqel:install:

PaqueteResponsabilidad
@arqel-dev/typesTipos TypeScript compartidos (cero runtime)
@arqel-dev/reactcreateArqelApp, <ArqelProvider>, <ThemeProvider>, contextos
@arqel-dev/hooksuseResource, useArqelForm, useTable, useNavigation, useFlash, useCanAccess
@arqel-dev/uiAppShell + Sidebar (shadcn sidebar-07) + DataTable + FormRenderer + 16 primitivas shadcn
@arqel-dev/authLoginPage / RegisterPage / ForgotPasswordPage / ResetPasswordPage / VerifyEmailNoticePage (split-screen login-04)
@arqel-dev/fields21 inputs ricos registrados vía FieldRegistry
@arqel-dev/themeTokens semánticos + dark-mode + ThemeToggle (FOUC-safe)

Comparación con Filament y Nova

CriterioFilamentNovaArqel
BridgeLivewireVue/InertiaInertia + React
Stack frontendAlpine + TailwindVue 3React 19 + shadcn (Radix) + Tailwind v4
LicenciaMITComercialMIT
Validación de clienteparcialparcialZod vía ValidationBridge
TypeScriptparcialstrict + exactOptionalPropertyTypes
Cantidad de Fields30+25+21 cubriendo casos canónicos

No-objetivos

Arqel no incluirá:

  • Form builder visual (drag-drop) — solo declarativo
  • Multi-tenancy completo en Fase 1 — solo scaffold
  • Colaboración en tiempo real — Fase 4 considera Laravel Reverb
  • ORM propio — solo Eloquent

Próximos pasos

Licencia MIT — construido con Inertia + React + Laravel.