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.
  • Easy migration: If you already annotate your codebase using standard PHPDoc tags or Scramble-style attributes, 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.

Disclaimer

Scramble is a trademark of dedoc.co and Roman Lytvynenko. Geni is an independent open-source project and is not affiliated with, endorsed by, or sponsored by dedoc.co. Reference to Scramble is made solely to describe migration compatibility.

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.