> ## Documentation Index
> Fetch the complete documentation index at: https://geni.masiting.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Static-analysis OpenAPI 3.1.0 generator for Laravel with zero runtime execution and zero database requirements.

## 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`.

<CardGroup cols={2}>
  <Card title="Zero Database Connections" icon="database">
    Reconstructs full database schemas directly from migration files offline. No database connection or test database required.
  </Card>

  <Card title="Zero Application Boot" icon="bolt">
    Infers requests, responses, models, and parameters via AST parsing. Never boots your kernel or runs arbitrary controller code.
  </Card>

  <Card title="Interactive Docs Portal" icon="browser">
    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.
  </Card>

  <Card title="AI Agent Ready" icon="robot">
    Built-in Model Context Protocol (MCP) server and tool manifest generator for Claude Desktop, Cursor, and Claude Code.
  </Card>
</CardGroup>

## 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

<AccordionGroup>
  <Accordion title="Deep Framework Support">
    Full support for Laravel 10.x, 11.x, 12.x, and 13.x on PHP 8.2, 8.3, and 8.4.
  </Accordion>

  <Accordion title="Ecosystem Integrations">
    First-class, opt-in static analysis support for `spatie/laravel-data`, `spatie/laravel-query-builder`, and `lorisleiva/laravel-actions`.
  </Accordion>

  <Accordion title="Multi-Version API Documentation">
    Serve multiple versioned API specifications (v1, v2, internal) with an interactive version switcher dropdown in the sidebar.
  </Accordion>

  <Accordion title="Secure by Default">
    Documentation routes are restricted to the local environment by default, with built-in support for Form-based login and HTTP Basic Authentication.
  </Accordion>
</AccordionGroup>
