GridKit is a zero-dependency PHP component framework designed for AI agents. 17 components, 1 CSS + 1 JS file, no build process. Your agent reads the skill file and builds complete CRUD applications in seconds.
| Unit | VAT | Status | Actions | |||
|---|---|---|---|---|---|---|
| ART-001 | Web Design Package S | flat | €1,200.00 | 20% | active | |
| ART-002 | Hosting Standard | pcs | €9.90 | 20% | active | |
| ART-003 | SEO Consulting | h | €95.00 | 20% | inactive | |
| ART-004 | Logo Design | flat | €450.00 | 20% | draft | |
| ART-005 | Newsletter Setup | flat | €350.00 | 20% | active | |
| ART-006 | Social Media Package | flat | €680.00 | 20% | active | |
| ART-007 | Email Marketing | flat | €420.00 | 20% | draft | |
| ART-008 | Content Creation | h | €75.00 | 20% | active |
That is not a screenshot — search it, sort a column, change the filter. It is GridKit rendering itself from twelve rows of PHP. Point it at a database instead and the same calls answer over AJAX.
Everything you need to build production-ready admin dashboards. Nothing you don't.
Built with AI agents in mind. Feed the skill file to your AI assistant and it generates complete GridKit applications — tables, forms, modals, authentication.
One CSS file. One JS file. No npm, no Composer, no build process. Clone and go. Works with any PHP 8.2+ project.
6 complete themes (Indigo, Ocean, Forest, Rose, Amber, Slate) with light and dark mode. All via CSS Custom Properties.
No page reloads. Tables search, sort, filter, paginate via AJAX. Forms submit and validate via AJAX. Everything stays fast.
Declarative, chainable API. Define a complete data table with search, sorting, pagination, and modals in under 15 lines of PHP.
Every component is mobile-ready. Tables switch to card layout, sidebars become overlays, forms reflow to single column.
Colours are derived in OKLCH from a single hue, so every theme keeps the same lightness and the same contrast — white on the primary surface measures between 4.69:1 and 5.73:1 across all six, so every one of them clears WCAG AA rather than most of them.
[data-gk-theme="mint"] { --gk-theme-hue: 175; }
Give your AI agent the GridKit skill file. It knows every component, every pattern, every best practice.
The GridKit Agent Skill is a structured document that teaches any AI assistant (Claude, GPT, Gemini, or any LLM) how to use GridKit optimally. It contains component references, code patterns, and best practices — every public method of every component, in one file an agent can read in one go instead of searching a docs site for it.
cp -r skill ~/.claude/skills/gridkit — or point any
assistant at gridkit.at/skillAdd this file to your AI agent's project context. It contains complete documentation for all 17 components, code patterns, JavaScript API reference, and common recipes.
Each component follows the same fluent PHP API. Chainable, declarative, zero boilerplate.
$table = new Table('products'); $table->query($db, "SELECT * FROM products ORDER BY name") ->search(['name', 'sku']) ->column('name', 'Product', ['sortable' => true]) ->column('sku', 'SKU', ['width' => '120px']) ->column('price', 'Price', ['format' => 'currency', 'sortable' => true]) ->column('is_active', 'Status', ['format' => 'label']) ->button('edit', ['icon' => 'edit', 'modal' => 'edit_product']) ->button('delete', ['icon' => 'delete', 'modal' => 'del', 'color' => 'error']) ->modal('edit_product', 'Edit', 'forms/product.php', ['size' => 'medium']) ->newButton('New Product', ['modal' => 'edit_product']) ->paginate(25) ->render();
Search, sort, paginate, groupBy, number columns
16-column grid, 15 field types, AJAX submit
Groups, badges, collapse, mobile overlay
Fixed, search, user menu, theme switcher
Stackable dialogs, form-ready, sizes
KPI display with trends and colors
Session auth, bcrypt, remember-me
6 themes, light/dark mode
Filled, outlined, text, tonal, FAB
Sidebar-first, header-first modes
Clickable filter chip buttons
Year navigation filter
Short answers. The long ones are in the API document.
composer require mmollay/gridkit is the same thing without the demo. Nothing compiles, nothing is generated, and there is no lock file to keep current.(new Table('invoices'))->setData($rows)->search(['number', 'customer'])->column('number', 'No.', ['sortable' => true])->paginate(25)->render(); The search box, the filter dropdowns, the sort and the pager are wired up and work over AJAX without a page reload. The same table also renders server-side for the first paint, so it is there before any script runs.mbstring, and the library works without it — which is checked by a test rather than promised in a readme.Composer or a plain checkout — there is no build step either way.
# Composer composer require mmollay/gridkit # or clone — a checkout is a working install, there is nothing to build git clone https://github.com/mmollay/gridkit.git # Copy the skeleton as your starting point mkdir -p my-app && cp gridkit/skeleton.php my-app/index.php # That's it. Open my-app/ in the browser. php -S localhost:8000