← All implementations
DEVELOPER TOOLS / SOURCE EXPLORATIONLive · private app

MrLaravel

Find your way through a Laravel application.

mrlaravel.com
Visit website ↗
MrLaravel’s sample Fieldnotes workspace with snapshot history and metadata import.
Snapshot history and import tools in a sample MrLaravel workspace.

MrLaravel turns a Laravel codebase into an explorable declaration atlas. Every finding points back to a source location so an overview can become a useful next step.

The problem

Understanding an unfamiliar application means moving repeatedly between route files, controllers, and models. A useful map needs provenance and clear limits on what static analysis can establish.

The implementation

The scanner reads source locally without executing the target application. A private workspace accepts reviewed metadata, connects declarations, and compares immutable snapshots.

  • Source-linked routes, controller actions, and Eloquent relationships
  • Local scanning and reviewed metadata import
  • Snapshot comparisons and self-contained offline exports
01Scan locally02Review metadata03Import a snapshot04Explore and compare
02 / ENGINEERING DECISIONS

Where the details matter.

01

Read declarations without executing the app

The scanner works against source files. The output records declarations and their locations without booting an unfamiliar application.

02

Treat imported metadata as input

The web application validates schema versions, graph references, relative paths and import sizes before accepting an atlas.

03

One renderer, online and offline

The application calls the package’s report renderer. Exported reports and locally generated reports use the same format rather than separate implementations.

03 / PACKAGES & CODE

Inside the implementation.

The MrLaravel package contains the scanner and report renderer. Preflight supplies the shared security checks used by the production guard and release command, plus common Vapor manifest checks. The application retains private-workspace, encrypted-storage and archive-verification rules.

APPLICATION EXCERPT

Shared atlas report renderer

App renders the same report format as the scanner package.

MrLaravel package ↗
app/Services/AtlasReport.phpPHP
use MrNewport\MrLaravel\ReportRenderer;

final class AtlasReport
{
    public function render(array $atlas, string $mappingKey = 'offline'): string
    {
        return (new ReportRenderer)->render($atlas, $mappingKey);
    }
}
Source excerpt · 89ae085 · lines 5–13. Surrounding setup is omitted.
APPLICATION EXCERPT

The production guard uses shared checks

ProductionRequirements is used by the HTTP production guard and the release command. The shared runner contributes configuration failures before the application checks its database, account, mail and archive requirements.

Preflight package ↗
app/Services/ProductionRequirements.phpPHP
foreach ((new Runner)->run([app(ProductionConfiguration::class)]) as $result) {
    if ($result->status === 'fail') {
        $errors[] = $result->message;
    }
}
Source excerpt · 6817e2e · lines 14–18. Surrounding workspace requirements are omitted.
APPLICATION EXCERPT

One shared attribution component

The site keeps its own copyright. SiteCredit adds the standard BWD attribution after it, using isolated styles bundled with the application.

SiteCredit package ↗
resources/views/layouts/app.blade.phpBlade
<x-site-credit />
Actual component call. The shared stylesheet is included separately in the application build.
04 / VERIFICATION & CURRENT SCOPE

What holds it together.

  • Import validation checks schema and graph integrity.
  • Snapshot comparison preserves before-and-after context.
  • Screenshots use a sample workspace; the production application requires sign-in.
  • Release tests retain the exact Vapor binding and reject both shared configuration failures and workspace-specific requirements.
CURRENT RELEASE

Static declarations describe source, not verified runtime behavior. The scanner does not upload source code.

KEEP EXPLORING

CustomerReturned

Designed, Developed and Hosted by Better Web Design and Development Services, LLC