Skip to main content
Geni inspects your Laravel source code using abstract syntax tree (AST) traversal to produce a fully compliant OpenAPI 3.1.0 specification — reading your migrations for schema types, your Form Requests for validation rules, and your Eloquent API Resources for response shapes. No database connection is required, no application kernel is booted, and no verbose docblock annotations need to be written or maintained.

Introduction

Understand what Geni is, the problem it solves, and every key capability available to you.

Installation

Add Geni to your Laravel project via Composer and publish the configuration file in minutes.

Quickstart

Browse your live docs portal, export an OpenAPI file, and wire up CI drift detection fast.

CLI Reference

Full reference for every Artisan command Geni provides, including flags and exit codes.

Get up and running

Follow these four steps to go from a fresh Laravel project to fully documented, CI-verified API docs.
1

Install via Composer

Add Geni to your project dependencies using Composer:
2

Publish the configuration file

Publish config/geni.php to your project so you can customize route prefixes, documentation titles, security schemes, and multi-version APIs:
3

Serve the documentation portal

Start your local development server and open the interactive docs portal in your browser:
Then visit http://localhost:8000/docs/api to browse your generated API documentation.
4

Export the OpenAPI specification

Write a static OpenAPI 3.1.0 JSON file to your project root or any path you choose:
Commit this file and use php artisan geni:check --path=openapi.json in CI to catch drift automatically.
Geni never boots your Laravel kernel and never opens a database connection. Every schema, parameter, and response type is inferred entirely from your source code, making it safe to run in locked-down CI environments with no services attached.