Skip to main content

What is Geni?

Geni is an open-source static-analysis OpenAPI 3.1.0 specification generator and documentation portal for Laravel applications. Unlike traditional documentation tools that boot the Laravel kernel, execute controller code, or require an active database connection, Geni inspects your application source code purely using abstract syntax tree (AST) traversal via nikic/php-parser.

Zero Database Connections

Reconstructs full database schemas directly from migration files offline. No database connection or test database required.

Zero Application Boot

Infers requests, responses, models, and parameters via AST parsing. Never boots your kernel or runs arbitrary controller code.

Interactive Docs Portal

Comes with a built-in Blade and Alpine.js documentation portal featuring live search, syntax highlighting, and Try It console with zero JS build step.

AI Agent Ready

Built-in Model Context Protocol (MCP) server and tool manifest generator for Claude Desktop, Cursor, and Claude Code.

Why Geni?

Most API documentation generators in the PHP ecosystem suffer from one of two problems:
  1. Heavy runtime execution: They boot your Laravel app, run database migrations, execute service providers, and instantiate models. This makes them slow, brittle in CI, and impossible to run in locked-down environments.
  2. Heavy manual annotation: They require dozens of verbose docblock comments or attributes on every single controller method, duplicating information already present in Form Requests, migrations, and Eloquent resources.
Geni solves both problems:
  • It reads what you already wrote: Your migrations define your column types. Your Form Requests define your validation rules. Your Eloquent API Resources define your response shapes. Geni connects these statically.
  • Scramble-compatible: If you already annotate your codebase using Scramble attributes or PHPDoc tags, Geni recognizes the same annotations without breaking changes.
  • CI-friendly drift detection: With php artisan geni:check, your CI pipeline can verify that committed OpenAPI specs stay in sync with your source code.

Key Features

Full support for Laravel 10.x, 11.x, 12.x, and 13.x on PHP 8.2, 8.3, and 8.4.
First-class, opt-in static analysis support for spatie/laravel-data, spatie/laravel-query-builder, and lorisleiva/laravel-actions.
Serve multiple versioned API specifications (v1, v2, internal) with an interactive version switcher dropdown in the sidebar.
Documentation routes are restricted to the local environment by default, with built-in support for Form-based login and HTTP Basic Authentication.