jemgdevp/laravel-domo

AI-powered database orchestrator for Laravel. Web Dashboard, TUI, and MCP server for Eloquent architecture and migration management.

Maintainers

Package info

github.com/jemgdevp/laravel-domo

pkg:composer/jemgdevp/laravel-domo

Transparency log

Statistics

Installs: 67

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.0.8 2026-06-01 04:55 UTC

This package is auto-updated.

Last update: 2026-07-01 05:09:38 UTC


README

Latest Version on Packagist Total Downloads GitHub Tests Action Status PHPStan Laravel

๐Ÿš€ Overview

Laravel Domo is an all-in-one database engineering suite for Laravel (v11+). It bridges the gap between raw SQL, Eloquent models, and AI-driven architecture.

โœจ Features

  • ๐ŸŒ Web Dashboard - Rich visual interface, auto-mounted at /domo in your local environment
  • ๐Ÿ’ป Terminal UI - Powerful TUI for command-line workflow (domo:tui)
  • ๐Ÿค– AI Architect - AI-powered Eloquent ORM analysis and suggestions
  • ๐Ÿ”Œ MCP Integration - Model Context Protocol for AI agent connectivity
  • ๐Ÿ“Š Schema Analyzer - Intelligent database schema inspection
  • ๐Ÿ”„ Migration Management - Visual migration generation and preview
  • ๐Ÿ“ฆ Portability - Import/Export SQL dumps and migrations

๐Ÿ“ฆ Installation

Install the package via Composer:

composer require --dev jemgdevp/laravel-domo

Configuration

Publish the configuration file:

php artisan vendor:publish --tag=domo-config

Environment Setup

Add your API keys to .env:

# AI Driver Configuration โ€” default provider is "opencode"
DOMO_AI_DRIVER=opencode
DOMO_OPENCODE_API_KEY=your-api-key
DOMO_OPENCODE_BASE_URL=https://opencode.ai/zen/go/v1/
DOMO_OPENCODE_MODEL=deepseek-v4-pro

# Or use OpenAI
# DOMO_AI_DRIVER=openai
# OPENAI_API_KEY=your-api-key

# Or use Anthropic
# DOMO_AI_DRIVER=anthropic
# ANTHROPIC_API_KEY=your-api-key

# MCP Server
DOMO_MCP_ENABLED=true
DOMO_MCP_PORT=3000

# Dashboard
DOMO_DASHBOARD_ENABLED=true
DOMO_DASHBOARD_PORT=8080

๐ŸŽฏ Usage

Web Dashboard

The dashboard mounts itself automatically โ€” no command required. In your local environment, just visit the domo route on your running app:

http://localhost:8000/domo      # or whatever host/port your app uses

It is a local development tool: like Telescope, its routes are only registered in the environments listed under dashboard.environments (default: ['local']), so it is never exposed in production.

Optional โ€” dedicated server. To run the dashboard on its own port without booting your whole app, the bundled command still works:

php artisan domo:serve --open
php artisan domo:serve --host=0.0.0.0 --port=3000 --open

Terminal UI

Launch the TUI:

php artisan domo:tui

Options:

php artisan domo:tui --no-colors --simple

Note: the rich TUI is supported on Linux/macOS terminals. Windows is not supported by the current PHP-TUI backend.

MCP Server

Enable MCP server for AI agent integration:

DOMO_MCP_ENABLED=true
DOMO_MCP_PORT=3000
DOMO_MCP_HOST=127.0.0.1

AI Configuration

The default provider is opencode (an OpenAI-compatible endpoint). You can switch the global default with DOMO_AI_DRIVER, or pick the provider/model per analysis from the dashboard's AI page.

# Default: opencode (OpenAI-compatible)
DOMO_AI_DRIVER=opencode
DOMO_OPENCODE_API_KEY=your-api-key
DOMO_OPENCODE_BASE_URL=https://opencode.ai/zen/go/v1/
DOMO_OPENCODE_MODEL=deepseek-v4-pro

# Or OpenAI
# DOMO_AI_DRIVER=openai
# OPENAI_API_KEY=your-api-key

# Or Anthropic
# DOMO_AI_DRIVER=anthropic
# ANTHROPIC_API_KEY=your-api-key

Any OpenAI-compatible service (Groq, OpenRouter, Ollama, DeepSeek, ...) works: add a provider in config/domo.php with a base_url and select it from the AI analysis page.

Available Commands

Command Description
php artisan domo:serve Run the dashboard on a dedicated server (optional; it auto-mounts at /domo in local)
php artisan domo:tui Launch terminal UI
php artisan vendor:publish --tag=domo-config Publish config

Configuration

Edit config/domo.php:

return [
    'ai_driver' => 'opencode', // openai | anthropic | opencode | your own
    
    'mcp' => [
        'enabled' => true,
        'port' => 3000,
        'host' => '127.0.0.1',
    ],
    
    'dashboard' => [
        'enabled' => true,
        'environments' => ['local'], // environments where the dashboard auto-registers
        'route' => 'domo',
        'host' => '127.0.0.1',
        'port' => 8080,
        'middleware' => ['web'],
    ],
    
    'tui' => [
        'enabled' => true,
        'theme' => 'default',
        'colors' => true,
    ],
    
    'database' => [
        'connection' => config('database.default'),
        'tables' => [
            'exclude' => 'migrations,failed_jobs',
        ],
    ],
];

๐Ÿ“š Documentation

Full documentation is available at https://jemgdevp.github.io/laravel-domo

Additional Resources

๐Ÿงช Testing

composer test

๐Ÿ›ก๏ธ Security

If you discover any security related issues, please email murksopps@gmail.com instead of using the issue tracker.

๐Ÿ“Š Requirements

  • PHP 8.2+
  • Laravel 11.x or 12.x
  • Database: MySQL, PostgreSQL, SQLite, or SQL Server

โ“ FAQ

Q: Is this package production-ready?
A: Laravel Domo is designed for development environments. Install as dev dependency: composer require --dev jemgdevp/laravel-domo

Q: Which AI providers are supported?
A: OpenAI, Anthropic, and opencode (the default) out of the box, plus any OpenAI-compatible service (Groq, OpenRouter, Ollama, DeepSeek, ...) you add under providers in config/domo.php. You can also choose the provider and model per analysis from the dashboard's AI page.

Q: Can I use this with SQLite?
A: Yes! Laravel Domo supports MySQL, PostgreSQL, SQLite, and SQL Server.

Q: How do I customize the dashboard route?
A: Edit config/domo.php and change the dashboard.route value.

๐Ÿค Contributing

See our Contributing Guide for details.

๐Ÿ“„ License

Laravel Domo is open-sourced software licensed under the MIT license.

๐Ÿ™ Acknowledgments

Made with โค๏ธ by jemgdevp