laravel maintained by codeatlas
Description
CodeAtlas Laravel bridge — ServiceProvider, artisan commands, and embedded web UI for Laravel applications.
Authors
Last update
2026/08/22 21:30
(dev-main)
License
Downloads
1
Tags
codeatlas/laravel
The Laravel bridge — the only package in CodeAtlas containing framework-specific code (constitution rule 6).
Installation
composer require codeatlas/laravel
The service provider auto-registers via package discovery.
# Optional: publish the config
php artisan vendor:publish --tag=codeatlas-config
Commands
# Full pipeline: scan → analyze → export JSON
php artisan codeatlas:analyze
php artisan codeatlas:analyze --analyzer=routes --output=/tmp/atlas --compact
# Discovery-only dry run (validates scan paths/exclusions)
php artisan codeatlas:scan
Output is written to storage/codeatlas/codeatlas-analysis.json by default (configurable via codeatlas.output_path).
Architecture
The Laravel layer is deliberately thin:
| Class | Role |
|---|---|
CodeAtlasServiceProvider |
Merges config, publishes it, registers commands. Nothing else. |
AnalyzeCommand / ScanCommand |
Parse options, delegate, format output. |
CodeAtlasFactory |
Framework-free composition root: builds the core container, binds parser + scanner, registers plugins, returns a ready PipelineRunner. Any future Symfony bundle or CLI binary reuses this. |
AnalysisWriter |
Framework-free disk writer for exporter outputs. |
Project metadata (name, framework, versions) is injected into exports automatically by the PipelineRunner — commands don't assemble it.
Config (config/codeatlas.php)
| Key | Default | Purpose |
|---|---|---|
scan_paths |
null (built-in defaults) |
Directories to scan |
exclude |
null (built-in defaults) |
Names/globs to skip |
output_path |
storage_path('codeatlas') |
Export destination |
pretty |
true |
Human-readable JSON |
Testing
Integration tests use Orchestra Testbench (real Laravel skeleton boot):
composer require --dev orchestra/testbench
./vendor/bin/pest packages/laravel
Part of the CodeAtlas monorepo. MIT © Snova Labs.