PHPackages                             mtrdesign/krait - 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. mtrdesign/krait

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

mtrdesign/krait
===============

Krait provides an easy way to create Ajax Datatables.

1.0.11(1y ago)101.9k↓33.3%[4 issues](https://github.com/mtrdesign/krait/issues)MITPHPPHP ^8.2CI passing

Since Jun 28Pushed 1y ago4 watchersCompare

[ Source](https://github.com/mtrdesign/krait)[ Packagist](https://packagist.org/packages/mtrdesign/krait)[ Docs](https://github.com/mtrdesign/krait)[ RSS](/packages/mtrdesign-krait/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (22)Used By (0)

 [![image](https://camo.githubusercontent.com/ac23436c68689ee7969c771f5079a3d8c72fd134b1b5f7f19a1b2135f401f6af/68747470733a2f2f6d747264657369676e2e6769746875622e696f2f6b726169742f6173736574732f6b726169742d66756c6c2d6c6f676f2e737667)](https://camo.githubusercontent.com/ac23436c68689ee7969c771f5079a3d8c72fd134b1b5f7f19a1b2135f401f6af/68747470733a2f2f6d747264657369676e2e6769746875622e696f2f6b726169742f6173736574732f6b726169742d66756c6c2d6c6f676f2e737667)

[![Total Downloads](https://camo.githubusercontent.com/71ad342f7922aa08b999527842f1a1ad3d26fcd08024117302bf4d874fcdd245/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d747264657369676e2f6b72616974)](https://packagist.org/packages/mtrdesign/krait)[![Latest Stable Version](https://camo.githubusercontent.com/3636df45bd1f42cbe82ffc47bbdda81a64e614c86937691d00a108f54f82d0a6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d747264657369676e2f6b72616974)](https://packagist.org/packages/mtrdesign/krait)

Krait is a powerful Laravel package that simplifies the creation of Ajax Dynamic DataTables. It automates the initial structure development of front-end and back-end resources via simple CLI commands.

Krait Package Monorepo
======================

[](#krait-package-monorepo)

To ensure consistent versioning and enhance the core front-end components development, along with the PHP package we’ve introduced a dedicated front-end library called `krait-ui`. So the final package consists of two parts, included in this monorepo:

- `/krait-ui`: The VueJS-based DataTable UI kit that includes all front-end components.
- `/krait`: The main Laravel package that includes all back-end features.

Official Documentation
----------------------

[](#official-documentation)

More information about the package can be found on the [Krait Docs Website](https://mtrdesign.github.io/krait/).

Quickstart
==========

[](#quickstart)

Krait's installation process is pretty simple, you can follow this guide to get everything configured quickly and then review the detailed official docs.

Installation
------------

[](#installation)

You can install the package via Composer by running:

```
composer require mtrdesign/krait
```

Then, you should complete the installation by running:

```
php artisan krait:install
```

It's that simple! Now you have all the JS and PHP dependencies installed and configured.

**And One Final Step...**

To successfully run the front-end library, you should tell the Vue to use the `krait-ui` plugin.

```
// Importing the Krait Vue plugin
import Krait from "@mtrdesign/krait-ui";

// Importing the autogenerataed tables module
import tables from './components/tables'

/**
 * ... Here you initialise your VueApp ...
 *
 * const app = Vue.createApp({});
 */

app.use(Krait, {
    tables: tables
});
```

Usage
-----

[](#usage)

To create your first table, run the following command:

```
php artisan krait:table MyFirstTable
```

This command will create three resources:

- `/app/Tables/MyFirstTable.php` - the table class definition (the table name, the columns, the callbacks, etc.)
- `/app/Http/Controllers/Tables/MyFirstTableController.php` - the controller that fetches the table content
- `/resources/js/components/tables/MyFirstTable.vue` - the front-end VueJS component that represents the data

**IMPORTANT:**For consistency, all Table Classes in `app/Tables` should end on `Table` to be registered correctly.

For more details about the Installation and the Usage, please check the [Official Docs](https://mtrdesign.github.io/krait/installation-guide/).

Contribution
------------

[](#contribution)

Don't hesitate to raise issues and propose improvements! Any help is welcome!

You can find more information about the package development process in the monorepo projects:

- `/krait-ui` - for the front-end functionality
- `/krait` - for the back-end functionality

More contribution details can be found in the [Official Contribution Section](https://mtrdesign.github.io/krait/contribution).

License
-------

[](#license)

Krait is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 86.5% 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 ~14 days

Recently: every ~46 days

Total

19

Last Release

432d ago

### Community

Maintainers

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

![](https://www.gravatar.com/avatar/753a5486ac630699e27d9b2d196fb651db8940aab0899078edfba4b22ca5839c?d=identicon)[mtrdesign](/maintainers/mtrdesign)

---

Top Contributors

[![cvetty](https://avatars.githubusercontent.com/u/85567502?v=4)](https://github.com/cvetty "cvetty (96 commits)")[![Berat-Dzhevdetov](https://avatars.githubusercontent.com/u/56674380?v=4)](https://github.com/Berat-Dzhevdetov "Berat-Dzhevdetov (9 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (6 commits)")

---

Tags

laravelpaginationajaxfilteringdatatable

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mtrdesign-krait/health.svg)

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

###  Alternatives

[log1x/pagi

A better WordPress pagination.

59105.4k](/packages/log1x-pagi)[singlequote/laravel-datatables

This repo contains a Datatable that can render a filterable and sortable table. It aims to be very lightweight and easy to use. It has support for retrieving data asynchronously, pagination and recursive searching in relations

1924.2k](/packages/singlequote-laravel-datatables)[efficiently/jquery-laravel

This package provides jQuery and the jQuery-ujs driver for your Laravel &gt;= 6 application.

1311.0k1](/packages/efficiently-jquery-laravel)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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