Skip to content
CodeBaseGPT

Open source · MIT · Built for students

Read any codebaselike you wrote it.

Map a repository's real architecture, ask Gemma questions answered with file-and-line citations, run small programs, and get unstuck with a tutor that explains your errors.

Explore the Atlas

Codebase Atlas

An interactive map built from real imports and calls. Click a file to trace what it depends on and what depends on it.

Sample datademo “taskboard” repo · click a file

Example answer · illustrative

How does sign-in work?

signIn looks the user up with findUserByEmail, checks the password with verifyPassword, then signs a session tokenC1. Tokens are verified with an HMAC comparison and an expiry checkC2.

  • C1src/auth/session.ts:25–29
  • C2src/auth/session.ts:15–23

What you get

Four tools.One workflow.

Tree-sitter · 6 languages Up to 400 nodes

Codebase Atlas

Folders, files, classes and functions as a navigable map. Every edge is an import or call parsed from the source.

Explore

Gemma 4 · cited

Answers with receipts

Each claim links to the exact file and lines. Invented citations are flagged, never linked.

Ask

Repo + web

Student Stuck Mode

Paste the error. We search your code and the web, and keep the two clearly apart.

Research

Sandboxed · no network Python · JS · TS · C · C++ · Java

Code Tutor

Run a small program in an isolated sandbox, see the real output, and get a line-by-line explanation of what went wrong.

Learn

Built on evidence

Cited
answers

Hybrid retrieval finds the definitions, call sites and importers that matter, and Gemma answers only from them.

Retrieval
Hybrid
Citations
file:line
Model
Gemma 4
Ask your repo

Where is the session token verified?

readSession recomputes the HMAC of the payload and compares it before checking expiry C1.

15 export function readSession(token) {
19   const expected = createHmac(…)
20   if (expected !== mac) return null;
22   return session.expiresAt > Date.now() …

Example output · sample repository

Stuck,
then unstuck

Stack-frame names guide the search through your code; the error signature (with paths, URLs and tokens stripped) goes to the web.

Search
Tavily / Exa
Levels
3
Sources
Linked
Try Stuck Mode

Measured
insights

Languages, hotspots, import cycles and complex functions, all computed from the index rather than estimated by a model.

Source
Index
Cycles
Tarjan
Charts
Real data
See your repo

Illustration · sample shape

python 3.14exit 1
3 total = 0
4 for i in range(len(scores) + 1):
5     total += scores[i]
6 
7 print("Average:", total / len(scores))

IndexError: list index out of range

Tutor · hint

On line 4 the loop runs one step too many. What's the last valid index of a 3-item list?

Run it. Break it.Learn why.

The Code Tutor runs your program in a locked-down sandbox and reads the real output. It explains the error in plain language, points to the exact line, gives you a hint first, and keeps the fix one click away.

How it works

  1. 01

    Import

    GitHub URL or ZIP

  2. 02

    Index

    Parse · filter · resolve

  3. 03

    Explore

    Interactive Atlas

  4. 04

    Ask

    Cited answers

  5. 05

    Learn

    Run code, get tutored

Not guesses.Receipts.

Every answer keeps its three ingredients visibly separate, and when the model or search isn't available you're told plainly — nothing is made up to fill the gap.

  • Repository evidence

    Retrieved code, cited as [C1] with file and line range.

  • Web sources

    Real search results with links, cited as [W1].

  • AI reasoning

    Gemma's explanation, labelled as such, inference kept apart.

Private by default: repositories and history are owner-scoped · .env files and keys are never indexed · imported repositories are parsed, never executed · Code Tutor programs run in an isolated sandbox with no network.

Point it at a repo you're learning