Open source · Built with Claude

Find your way through any codebase.

CodeLantern reads a repository once and turns it into a map you can walk: the architecture, real request paths, source evidence checked line by line, a guided tour, and a 90-second film.

3 repos mapped · 50/50 claims verified against source · 1 Claude call per repo

ci-turborepo
Open →
Nginx Reverse ProxyBACKEND · 1 FILES1Next.js Web AppFRONTEND · 2 FILES1Express HTTP APIBACKEND · 1 FILES3WebSocket ServerBACKEND · 1 FILES1Shared Prisma PackageBACKEND · 2 FILES1PostgreSQLDATABASE · 2 FILES2GitHub Actions CDWORKER · 3 FILES1Docker HubEXTERNAL · 1 FILES1

How it works

Claude reads once. Code checks everything.

  1. 01

    Scan

    Reads the repo, skips noise, and orders what matters: manifests, entry points, routes, models.

  2. 02

    One Claude call

    Claude writes a single structured map: components, journeys, a tour, first tasks.

  3. 03

    Verify by code

    Every quoted snippet is matched against the real file. Line numbers come from code, never the model.

  4. 04

    Count by code

    Routes, env vars, dependencies, data models and the import graph are extracted for free.

  5. 05

    Cache & share

    The map is saved once. Everyone after that explores it, tours it and watches the film at no cost.

Journeys

Follow a real request, not a folder tree.

Pick a question a new engineer would ask. CodeLantern walks it across the components, one step at a time, with the code that does it.

  • What happens when a user signs up?

Journey · User Signup

What happens when a user signs up?

  1. Nginx Reverse ProxyBackend

    The request to http.takestance.xyz is proxied to port 3001.

    nginx-conf/nginx.conf:26

  2. Express HTTP APIBackend

    POST /signup checks that a username and password were sent and that the user does not already exist.

    apps/http-server/src/index.ts:15

  3. Express HTTP APIBackend

    The password is hashed with bcrypt using 10 salt rounds.

    apps/http-server/src/index.ts:31

  4. Shared Prisma PackageBackend

    The shared prisma client runs user.create.

    packages/prisma/src/index.ts:26

  5. PostgreSQLDatabase

    A row is inserted into the User table, which enforces a unique username.

    packages/prisma/prisma/schema.prisma:11

Evidence

Every claim points at a real line.

The model quotes code; CodeLantern finds that exact text in the file and computes the line numbers itself. If it can't be found, it's marked unverified — never guessed.

nginx-conf/nginx.conf:26Verified

Nginx proxies the http subdomain to port 3001.

18 proxy_set_header Host $host;
19 proxy_cache_bypass $http_upgrade;
20 }
21 }
22
23 server {
24 listen 80;
25
26 server_name http.takestance.xyz;
27
28 location / {
29 proxy_pass http://localhost:3001;
30
31 proxy_http_version 1.1;
32
33 proxy_set_header Upgrade $http_upgrade;
34 proxy_set_header Connection "upgrade";

Codebase facts

The things the model shouldn't count.

Routes, environment variables, dependencies, data models, languages and the import graph are extracted by code — exact, instant and free.

  • Which files everything depends on
  • What you need in .env before it runs
  • Every page and API route with its methods
2,792lines of code
68files
3routes
3env vars

API routes

  • GET/hello
  • POST/signin
  • POST/signup

Most imported files

  • packages/eslint-config/base.js2
  • apps/web/app/globals.css1
  • .dockerignore0
  • .env.example0
  • .github/workflows/cd_backend.yml0

Environment

DATABASE_URL NODE_ENV PORT

Languages

TypeScript · Markdown · JSON · YAML

Guided tour

Five steps from “what is this?” to your first change.

The tour drives the map for you: the big pieces, where requests enter, a live journey, and the safest place to start.

  1. 01
  2. 02
  3. 03
  4. 04
  5. 05

Step 4 / 5

Follow signup

The signup route validates the input, hashes the password and creates a User row through Prisma.

  • 01What is this?
  • 02The big pieces
  • 03Where requests enter
  • 04Follow signup
  • 05Your first change

The film

A 90-second film, generated from the same map.

Architecture, a real journey with its code, your first task and the proof — rendered with Remotion straight from the data. Share it with the team.

Run it yourself

Map your own repo, on your own key.

CodeLantern is open source. Clone it, add your Anthropic key locally, and map any public repository. One analysis is a single Claude call; viewing, the tour and the film never call it again.

terminal
# get the code
$ git clone https://github.com/titanjagpreet/code-lantern && cd code-lantern
# install
$ npm install
# your key stays on your machine
$ echo "ANTHROPIC_API_KEY=sk-ant-..." > .env.local
# map any public repo (one Claude call)
$ npm run analyze -- https://github.com/owner/repo
# explore it
$ npm run dev