Download the PHP package happones/kinetix without Composer
On this page you can find all versions of the php package happones/kinetix. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download happones/kinetix
More information about happones/kinetix
Files in happones/kinetix
Package kinetix
Short Description The hybrid framework for Laravel + Vue 3 + Inertia.js — fluent PHP APIs that render a polished shadcn/Vue UI, spanning backend and frontend.
License MIT
Informations about the package kinetix
The hybrid framework for Laravel + Vue 3 + Inertia.js.
One package spanning backend and frontend — fluent PHP APIs that render polished, real-time shadcn/Vue components, with full i18n.
[!WARNING] Pre-1.0 — under active development. Kinetix does not yet have a release candidate for v1: APIs, published components and defaults may still change between minor versions, so pin your version and review the CHANGELOG before upgrading. A beta and a release candidate on the road to v1.0 will be announced shortly — watch the repo to stay posted.
What is Kinetix?
Kinetix is the hybrid framework for Laravel + Vue 3 + Inertia.js — a single package that spans both sides of your app. You write fluent PHP (CRUD resources, tables, forms, billing, permissions, notifications, and much more) and get a polished, reactive shadcn-styled Vue UI, wired together over Inertia. 50+ opt-in modules.
It's "hybrid" because it lives in both worlds at once: backend builders, DTOs and query pipelines on the PHP side; real components on the Vue side — not a frontend-only UI kit, not a backend-only package. An admin-grade developer experience, built from the ground up for the Inertia + Vue stack.
Complement, not replacement. Kinetix is designed to sit alongside the official Laravel starter kit — the starter kit owns auth, 2FA, appearance and basic account management; Kinetix owns the application layer on top. It is not a fork or clone of any existing package.
Every module is opt-in (off by default, one config switch), and third-party packages are optional — each feature detects the package at runtime and falls back to a fully working built-in driver when it's absent.
🤖 AI-ready
Kinetix is built to be developed with coding agents, not just by hand — whether that's Claude Code, Codex or any agent wired into Laravel Boost:
- An agent skill per module (46 and counting). Every feature ships its own
skill (
kinetix-tables,kinetix-forms,kinetix-permissions, …) teaching the agent the module's fluent API, conventions and pitfalls — so it writes Kinetix code the way the docs intend, without guessing. - Installed automatically.
php artisan kinetix:installpublishes the skills into your project (default.claude/skills; pointKINETIX_SKILLS_PATHat.agents/skillsor wherever your agent looks), andkinetix:upgradekeeps them fresh on every release. Skills only load from your project, never fromvendor/. - Laravel Boost, first-class. A dedicated
kinetix-boostskill wires agents into Boost's tooling —search-docs,database-schema,database-query, Pint/PHPStan — so they inspect real project state instead of hallucinating it. - Ground truth everywhere. Every module has a dedicated docs guide, translations and a test suite the agent can run — the same segmented, per-feature documentation humans read is what keeps agents on rails.
The result: point your agent at "add KPI cards above the books table" and it has the skill, the docs and the tests to do it right on the first pass.
Features
Each module ships with a dedicated docs/<feature>.md guide, translations
(en/es/fr/pt) and tests. See ROADMAP.md for the full module map.
- Data display — Resources (CRUD scaffolding), Tables (filters, sort incl. relationships, inline edit, client-side/TanStack mode), Infolists, Saved Views, Calendar.
- Forms & input — Forms (30+ fields, layouts, validation via fluent rules / FormRequest / live Precognition), Wizard, Table Repeater.
- Actions & navigation — Spotlight
(
Cmd+K), Keyboard Shortcuts, Period Filter, Onboarding. - Notifications & collaboration — Notifications (local/database/broadcast), Notification Preferences, Tags, Presence, Mail Templates.
- Import / export / documents — Import & Export, Reports Center, Media Library.
- SaaS platform — Membership, Permissions, Credentials, Feature Flags, Impersonation, Webhooks, Connected Accounts, Health, Sessions.
- Security & compliance — GDPR, Accessibility, Cookie Consent.
- Configuration & localization — Settings, Timezone Picker.
Requirements
| Dependency | Version |
|---|---|
| PHP | ^8.3 |
| Laravel | ^11 | ^12 | ^13 |
inertiajs/inertia-laravel |
^2 | ^3 |
| Vue | ^3.5 |
@inertiajs/vue3 |
^3.0 |
@laravel/echo-vue |
^2.3 (required — KinetixNotifications imports it at build time; inert until Echo is configured) |
vue-i18n |
^11.0 |
vue-sonner |
^2.0 |
@lucide/vue |
^1.0 |
| Pinia | ^2.3 (required for state management) |
| Shadcn / Reka UI | any (components.json required) |
Installation
1. Require the package
The service provider is auto-discovered by Laravel.
2. Publish assets
Where Kinetix's endpoints live. Every module registers its own endpoints under
{current_team}/{kinetix.route_prefix}/…and the published components call them themselves — your app registers only the Inertia page routes. Runphp artisan kinetix:routesto see the resolved URIs before writing an endpoint of your own.Something not working?
php artisan kinetix:doctorreports the misconfigurations that otherwise fail silently — half-enabled team scoping, teamless roles, a missingattach_member, duplicated i18n bundles, closures in config that breakconfig:cache, and published files carrying local edits that the nextcomposer installwill discard. It exits non-zero on errors, so it doubles as a deploy gate.
Theming (shadcn tokens)
Kinetix is built for the Vue + shadcn-vue starter-kit stack. Its components:
- Style with shadcn's semantic design tokens (
bg-background,text-foreground,bg-primary,border-input,ring-ring,bg-muted, …), so they inherit your app's theme, palette, radius and dark mode automatically. - Build interactive primitives on Reka UI (the headless library shadcn-vue itself wraps) for accessible checkboxes, switches, calendars, etc.
Kinetix does not import your copied @/components/ui/* files (those vary per app and would break builds); instead it reuses the same foundation — Reka UI + the shadcn token contract. In a shadcn-vue starter kit the CSS variables already exist; otherwise publish the fallback tokens with --tag=kinetix-styles and import resources/css/kinetix.css.
Status tokens (success · warning · info)
shadcn ships destructive but has no success/warning/info colors, so Kinetix adds three themeable status tokens — used by badges, stat chips, confirmation modals, notifications and action colors. They're defined in the fallback kinetix.css (light + dark) and exposed as utilities (bg-success, text-warning, border-info/20, text-success-foreground, …). Re-skin them by overriding the variables in your own theme:
If your app defines its own design tokens but not these three, add the six lines above so Tailwind generates the
*-success/warning/infoutilities. Thedangerstatus maps to the built-indestructivetoken.
shadcn-vue parity primitives
For the elements that aren't Reka UI primitives (Card, Button, Badge, Input), Kinetix ships its own internal building blocks that mirror the official shadcn-vue new-york-v4 class strings exactly, so they match the registry design without importing your per-app @/components/ui/*:
- Card family —
components/primitives/{Card,CardHeader,CardTitle,CardDescription,CardAction,CardContent,CardFooter}.vue(v4 structure:flex flex-col gap-6 py-6card +px-6sections). - ScrollArea / ScrollBar —
components/primitives/{ScrollArea,ScrollBar}.vue(RekaScrollArea*) for custom scroll regions (e.g. the DateTimePicker time columns). - Variant helpers —
composables/useShadcnVariants.ts→buttonVariants({variant,size}),badgeVariants({variant}),inputClass(literal class strings, JIT-safe).
3. Compile translations for Vue
Kinetix uses happones/laravel-vue-i18n-generator to compile PHP translation files into TypeScript for use in Vue components.
Configuration
After publishing, edit config/kinetix.php:
Environment Variables
| Variable | Default | Description |
|---|---|---|
KINETIX_DATABASE_NOTIFICATIONS |
false |
Dry-run / persist notifications to DB |
KINETIX_NOTIFICATIONS_LIMIT |
15 |
Max notifications loaded per request |
KINETIX_NOTIFICATIONS_SOUND |
true |
Play sound on new notification |
KINETIX_NOTIFICATIONS_SOUND_PATH |
/vendor/kinetix/notification.wav |
Path to the audio file |
KINETIX_ROUTE_PREFIX |
_kinetix |
Prefix for internal API routes |
Notifications
Kinetix's notification system lets you build and dispatch beautiful, interactive notifications using a fluent PHP API. They appear instantly as Sonner toasts and are collected in a bell-icon dropdown in the app header.
Basic Usage
Status Levels
Duration Control
Database Persistence
Set KINETIX_DATABASE_NOTIFICATIONS=true in your .env, and route using the fluent to($user) method or directly via sendToDatabase($user):
Real-Time Broadcasting
Push a notification instantly via WebSockets (saves to DB and broadcasts). You can chain to($user) and call broadcast() or pass the user directly to broadcast($user):
ts window.addEventListener('kinetix:my-event', (e: Event) => { const { id } = (e as CustomEvent).detail; // { id: 42 } }); bash php artisan kinetix:make-notification BackupSuccessNotification vue
vue
bash npm install @laravel/echo-vue ts import { configureEcho } from '@laravel/echo-vue';
// Reverb — defaults are auto-filled from VITE_ env variables configureEcho({ broadcaster: 'reverb', }); bash
Publish PHP translation files into your lang/ directory
php artisan vendor:publish --tag=kinetix-translations --force
Compile to TypeScript for Vue
php artisan vue-i18n:generate bash php artisan kinetix:make-notification OrderShippedNotification bash php artisan kinetix:send-notification "Server Alert" "CPU usage at 90%" --status=warning --duration=5000 bash composer require laravel/cashier && php artisan migrate php artisan vendor:publish --tag=kinetix-billing-migrations && php artisan migrate php artisan kinetix:make-billing --seeder
┌──────────────────────────────────────────────────────────────┐ │ PHP (Laravel) │ │ │ │ Notification::make() │ │ ->title(...) ->success() ->actions([...]) ->send() │ │ │ │ │ ├─ send() → session flash │ │ ├─ sendToDatabase() → notifications table │ │ └─ broadcast() → DB + Laravel Echo broadcast │ └──────────────────────────────────────────────────────────────┘ │ Inertia shared props (kinetix_notifications) ▼ ┌──────────────────────────────────────────────────────────────┐ │ Vue (Inertia) │ │ │ │ KinetixNotifications.vue │ │ ├─ watch(page.props.kinetix_notifications) → local/DB │ │ ├─ useEchoNotification() → real-time broadcast │ │ ├─ Sonner toasts on new notification │ │ ├─ Bell icon with unread badge in header │ │ └─ fetch() → /_kinetix/notifications/* (mark read/clear) │ └──────────────────────────────────────────────────────────────┘
kinetix/
├── config/
│ └── kinetix.php # Published config (one switch per module)
├── docs/ # One
or
vendor/bin/phpunit bash composer analyse
or
vendor/bin/phpstan analyse bash npm install npm run test:unit # single run npm run test:unit:watch # watch mode
Specs live in `tests/js/` (430+ specs for components and composables). The `@` alias resolves to `resources/js` (see `vitest.config.ts`). Components that use `vue-i18n` should be mounted with an i18n instance via `global.plugins`.
---
## 🚀 Built with Kinetix
Real products shipped on Kinetix — attractive tools for devs, built end to end
with this package:
<table>
<tr>
<td align="center" width="50%">
<a href="https://webhookcatcher.com">
<img src="https://raw.githubusercontent.com/happones/kinetix/main/docs/public/showcase/webhookcatcher.png" width="72" height="72" alt="WebhookCatcher" />
<br>
<b>WebhookCatcher</b>
</a>
<br>
<sub>Debug and monitor your webhooks in real time — free and
registration-free. Capture and inspect every request to optimize your
integrations.</sub>
</td>
<td align="center" width="50%">
<a href="https://pokkeri.com">
<img src="https://raw.githubusercontent.com/happones/kinetix/main/docs/public/showcase/pokkeri.png" width="72" height="72" alt="Pokkeri" />
<br>
<b>Pokkeri</b>
</a>
<br>
<sub>A complete Scrum ecosystem for high-performing teams — Planning
Poker, realtime Kanban, backlog, reports and retrospectives in one
platform.</sub>
</td>
</tr>
</table>
> Built something with Kinetix? Open a PR to add it here.
## ☕ Support Kinetix
Kinetix is free and open source. If it saves you time, consider fueling its
development:
<a href="https://buymeacoffee.com/happones">
<img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="48">
</a>
## Contributing
Contributions, bug reports, and feature requests are welcome. Please open an issue or submit a pull request on GitHub.
---
## License
Kinetix is open-sourced software licensed under the [MIT license](LICENSE).
---
<p align="center">
Built with ❤️ by <a href="https://github.com/happones">happones</a>
</p>All versions of kinetix with dependencies
illuminate/support Version ^11.0|^12.0|^13.0
inertiajs/inertia-laravel Version ^2.0|^3.0
spatie/laravel-data Version ^4.0
phpoffice/phpspreadsheet Version ^5.8