Open Source · MIT License · v1.65.0

Build Admin Dashboards
Your AI Agent Understands

GridKit is a zero-dependency PHP component framework designed for AI agents. 16 components, 1 CSS + 1 JS file, no build process. Your agent reads the skill file and builds complete CRUD applications in seconds.

View on GitHub Agent Skill Live Demo
16
Components
0
Dependencies
2
Files (CSS + JS)
6
Themes

A live GridKit table

UnitVATStatusActions
ART-001Web Design Package Sflat€1,200.0020%active
ART-002Hosting Standardpcs€9.9020%active
ART-003SEO Consultingh€95.0020%inactive
ART-004Logo Designflat€450.0020%draft
ART-005Newsletter Setupflat€350.0020%active
ART-006Social Media Packageflat€680.0020%active
ART-007Email Marketingflat€420.0020%draft
ART-008Content Creationh€75.0020%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.

Why GridKit?

Everything you need to build production-ready admin dashboards. Nothing you don't.

Agent-First Design

Built with AI agents in mind. Feed the skill file to your AI assistant and it generates complete GridKit applications — tables, forms, modals, authentication.

Zero Dependencies

One CSS file. One JS file. No npm, no Composer, no build process. Clone and go. Works with any PHP 8.2+ project.

Material Design 3

6 complete themes (Indigo, Ocean, Forest, Rose, Amber, Slate) with light and dark mode. All via CSS Custom Properties.

AJAX-First

No page reloads. Tables search, sort, filter, paginate via AJAX. Forms submit and validate via AJAX. Everything stays fast.

Fluent PHP API

Declarative, chainable API. Define a complete data table with search, sorting, pagination, and modals in under 15 lines of PHP.

Responsive by Default

Every component is mobile-ready. Tables switch to card layout, sidebars become overlays, forms reflow to single column.

A Theme Is One Number

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.

The six GridKit themes side by side, same components
CSS · a complete seventh theme
[data-gk-theme="mint"] { --gk-theme-hue: 175; }

Agent Skill — Let AI Build For You

Give your AI agent the GridKit skill file. It knows every component, every pattern, every best practice.

How It Works

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.

  1. Install it: cp -r skill ~/.claude/skills/gridkit — or point any assistant at gridkit.at/skill
  2. Add it to your AI agent's context or project knowledge
  3. Describe what you need: "Create a user management dashboard"
  4. The agent generates working GridKit PHP code — tables, forms, modals, all wired up
Agent + GridKit Skill
// Click a scenario below to see it in action
 
user> Build me a product management table

GRIDKIT_SKILL.md

View on GitHub

Add this file to your AI agent's project context. It contains complete documentation for all 16 components, code patterns, JavaScript API reference, and common recipes.

Sixteen Components, One API

Each component follows the same fluent PHP API. Chainable, declarative, zero boilerplate.

PHP — Complete CRUD in 12 lines
$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();

Table

Search, sort, paginate, groupBy, number columns

Form

16-column grid, 15 field types, AJAX submit

Sidebar

Groups, badges, collapse, mobile overlay

Header

Fixed, search, user menu, theme switcher

Modal

Stackable dialogs, form-ready, sizes

StatCards

KPI display with trends and colors

Auth

Session auth, bcrypt, remember-me

Theme

6 themes, light/dark mode

Button

Filled, outlined, text, tonal, FAB

Layout

Sidebar-first, header-first modes

FilterChips

Clickable filter chip buttons

YearFilter

Year navigation filter

Get Started in 30 Seconds

Composer or a plain checkout — there is no build step either way.

Terminal
# 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
Star on GitHub Explore Components