inceptia-io/larabrain
LaraBrain gives your Laravel app “self-awareness” by scanning models, migrations, routes, and controllers to build a context graph, then lets you ask natural-language questions via AI providers (OpenAI, Gemini, Anthropic, DeepSeek) with links to relevant code.
BrainInterface), allowing for targeted extensions (e.g., custom AI providers, scanners, or middleware).model:created or route:registered).app-brain:scan command provides a one-time setup step (scanning the codebase) with optional incremental updates.brain_tables, brain_models), but the schema is minimal and can be adapted to existing databases if needed.--dry-run flag helps estimate impact.BRAIN_ASK_CACHE_CONTEXT) requires manual invalidation after code changes (e.g., php artisan app-brain:scan --force).IntentMap or implementing AppBrainAIInterface).--dry-run first.BRAIN_CACHE_TTL) be managed post-deployment (e.g., CI/CD triggers for invalidation)?BRAIN_ASK_LOG_QUERIES)?.env.composer require inceptia-io/larabrain
php artisan vendor:publish --tag=brain-config
php artisan vendor:publish --tag=brain-migrations
php artisan migrate
BRAIN_AI_DRIVER and corresponding API key in .env.BRAIN_CACHE_ENABLED, BRAIN_CACHE_TTL).BRAIN_UI_ENABLED, BRAIN_UI_PREFIX, middleware).php artisan app-brain:scan
--dry-run first to validate excluded paths (e.g., vendor, node_modules).php artisan app-brain:ask "How does user registration work?"
vendor/ and node_modules/ by default. Add other paths to scan.exclude in config/app-brain.php if needed.scan.exclude to avoid stale context.BRAIN_AI_DRIVER and API keys in .env for provider switches. Test thoroughly for prompt/response format changes.config/app-brain.php for customizations that may need updates across environments (dev/staging/prod).storage/logs/laravel.log for scanner errors (e.g., permission issues, unsupported file types).BRAIN_ASK_LOG_QUERIES) help debug malformed prompts or API issues.php artisan view:clear) if the widget/UI appears broken.php artisan app-brain:scan --force after code changes.BRAIN_OPENAI_MAX_TOKENS or caching.How can I help you explore Laravel packages today?