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

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