DEVELOPER ONBOARDING

Ship in days, not months, on an unfamiliar codebase.

Mapnostics auto-generates an onboarding guide from your code and its history: the architecture, the entry points, a ranked learning path with time estimates, change recipes for common tasks, and troubleshooting playbooks — all cited back to real files.

Analyze my codebase →See how it works
mapnostics.com/repo/acme-platform/onboarding
Generated 31 Aug 2026, 09:12Re-generate
Architecture OverviewInference

The repository implements a Next.js commerce platform on a Supabase backend, serving checkout, admin and analytics from one App Router application.

Server components render the customer-facing pages, client components own the checkout stepper and the admin dialogs, and middleware verifies the session before any protected route runs. Tailwind CSS and a small token layer keep the two halves consistent.

Key Technologies
Next.jsTypeScriptReactSupabaseTailwind CSSStripeZodVitest
Repository at a GlanceVerified
44files
9directories
12entry points
8technologies
~18hcore path
Runtime Flowhow a request moves through the systemVerified
1
Middleware runs first
Every matching request passes through middleware before any handler. It runs for 24 of the 31 routes.
middleware.ts
2
The router picks a handler
9 API routes and 15 pages are resolved by path, not by import. Nothing in the codebase calls them — the framework does.
app/checkout/page.tsxapp/api/orders/route.ts
3
Data access ends the request
11 tables are queried across the codebase, and 6 of them are written to. Reads and writes both go through the database client.
lib/supabase/server.tslib/orders/repository.ts
Not Traceable From Code

Startup flow: No startup hook is declared, so there is no boot sequence to read from the code.

Background jobs: Nothing is scheduled on a cron entry or a queue in this repository.

Event flow: No event bus or emitter is declared. Inferring one from function names would be a guess presented as a map.

Shutdown: Serverless functions are terminated rather than shut down, so there is no hook to find.

Repository Tour4 top-level directoriesVerified
app/18 files15 pages9 API routes

The application is entered here. Pages and API routes are resolved by path, so nothing in the repository imports them.

checkout/page.tsxRenders the checkout stepper and holds the cart for the session.
api/orders/route.tsCreates and lists orders, and writes the orders table.

+ 16 more files — these are just the most depended-on to read first

(root)3 files1 middleware

Configuration and the request gate. Middleware protects every route the matcher names.

middleware.tsVerifies the Supabase session and redirects anonymous visitors to the login page.

+ 2 more files — these are just the most depended-on to read first

lib/14 files

Support code centred on supabase/server.ts, which 21 other files import.

supabase/server.tsCreates the server-side Supabase client and reads the session cookie.
orders/repository.tsReads and writes the orders and order_items tables.

+ 12 more files — these are just the most depended-on to read first

components/9 files

The client surface: the checkout stepper, the admin dialogs, and the shared data table.

checkout/CheckoutStepper.tsxDrives the four checkout steps and validates each one before it advances.

+ 8 more files — these are just the most depended-on to read first

Complexity by Areawhere the hard parts areEstimated
lib/14 files · 96 links
100
app/18 files · 41 links · 12 entry
42
components/9 files · 23 links
26
(root)3 files · 4 links · 1 entry
9
Key Entry Pointshow execution enters the codeVerified
Every requestmiddleware.tsmiddleware.tsdrivessupabase/server.tslib/auth/session.ts+1

Verifies the Supabase session on every protected route and redirects anonymous visitors to the login page.

Page visitpage.tsxapp/checkout/page.tsxdrivesCheckoutStepper.tsxlib/cart/state.ts+6

Renders the four-step checkout and holds the cart for the session.

HTTP requestroute.tsapp/api/orders/route.tsdrivesorders/repository.tslib/payments/stripe.ts+3

Creates an order, charges it through Stripe, and writes the orders and order_items tables.

Page visitpage.tsxapp/admin/customers/page.tsxdrivesCustomerDetailDialog.tsx+4

Lists customers with their orders, and opens the detail dialog for one of them.

Watch Out ForVerified
lib/supabase/server.ts is imported by 21 files — a change there touches all of them.
lib/types.ts is imported by 18 files — a change there touches all of them.
components/ui/data-table/index.ts is imported by 11 files — a change there touches all of them.
High Risk Areaswhat the analyzers already flaggedVerified
44 dead-code findingsView in Dead Code

Unused exports and unreachable branches across 12 files.

data-table/index.tserror-handler.ts+9 more
6 zombie findingsView in Zombie Code

Reachable code nothing has called in 90 days of history.

legacy/InvoiceView.tsx+5 more
1 medium-severity secretView in Secrets

A credential-shaped string committed to the repository.

scripts/seed.ts

Not yet scanned (unknown, not clean): unused asset, orphan table.

Suggested Learning PathVerified
2/5 completed44%
Foundation
Understand lib/types.ts~4h
Understand lib/supabase/server.ts~4h
Core Systems
3Understand middleware.ts~3h
4Understand lib/orders/repository.ts~3h
Domain Logic
5Understand components/checkout/CheckoutStepper.tsx~4h
Learning Path by RoleEstimated
FrontendBackend
1
CheckoutStepper.tsxcomponents/checkout/CheckoutStepper.tsx

Drives the four checkout steps and validates each one before it advances.

2
page.tsxapp/checkout/page.tsx

Renders the checkout stepper and holds the cart for the session.

3
DataTable.tsxcomponents/ui/data-table/DataTable.tsx

Sorts, filters and paginates every table in the admin area.

4
CustomerDetailDialog.tsxcomponents/admin/CustomerDetailDialog.tsx

Shows one customer with their orders and invoices.

Change RecipesVerified
Add a database column (e.g. to orders)
1

Add a SQL migration for the column — the schema here is defined by migrations, not by the code.

supabase/migrations
2

Update the code that writes orders, so the new column is set where rows are inserted or updated.

lib/orders/repository.tsapp/api/orders/route.ts
3

Surface it where orders are read, so the new column reaches whatever consumes the row.

app/admin/orders/page.tsxcomponents/admin/OrderTable.tsx

No feature flags were found, so there is no flag file to update in this repository.

No webhook receiver was found, so this repository has no webhook surface to extend.

No scheduled entry point (cron) was found, so this repository has no background job recipe.

When Something Breaks

A change broke something that seemed unrelated

Start with the most-imported files. A change to one ripples to every file that imports it. These have the widest blast radius, so check their importers before and after your change.

lib/supabase/server.tslib/types.ts

A request 404s or never reaches your handler

Middleware runs first and can redirect or block a request before any handler sees it. Routes resolve by file path, not by import — nothing in the code calls them.

middleware.ts

A query returns nothing, or a write silently does not persist

Check the files that own each table. Row-level security and a mismatched filter both show up as empty results, not as errors.

lib/orders/repository.tslib/supabase/server.ts
Deliberately Out of Scope

This guide is built entirely from your code and its history. Some things a new engineer needs are not in the code at all — they are decisions people made — so Mapnostics does not guess at them rather than present a confident guess as fact:

Business context & goalswhy the product exists and what it is optimising for
Revenue & billing flowshow money moves through the system
Team ownershipwhich team or person owns each area
Escalation & on-call pathswho to page when something breaks in production
Next Recommended Analyses
Intent Map

A plain-English explanation of what every file does.

Code Map

The dependency graph, architecture layers and schema.

Impact Simulator

See the blast radius before you change a file.

Dead Code

Unused code that is safe to remove.

Written from your code

Every section is built from the repository and its git history, and badged verified, estimated or inference so a new engineer knows what to trust.

A path, not a file dump

The learning path is ranked by how much the rest of the codebase depends on each file, with an hour estimate on every step.

Honest about its limits

Business context, on-call paths and team ownership live in people's heads, not the code — the guide says so instead of guessing.

Generate an onboarding guide in under 2 minutes.

Analyze my codebase →

No credit card required · Free tier available