codebase-memory-map

Codebase Memory Map

An interactive full-stack developer tool that helps engineers understand unfamiliar repositories faster. Paste a GitHub URL or upload a local codebase, then explore a visual architecture map with AI-style summaries, onboarding guidance, and natural-language search.

Next.js · React · TypeScript · PostgreSQL · React Flow · AI-ready search

Features

Demo

Codebase Memory Map ships with a built-in demo repository called Pulse Commerce.

Use it to:

Tech Stack

Layer Technology
Frontend Next.js 15, React 19, TypeScript
Backend Next.js App Router + route handlers
Database PostgreSQL, optional pgvector
Visualization React Flow
AI Layer Modular summarization + semantic-ready search services
Styling Custom CSS system and responsive UI

Getting Started

Prerequisites

1. Clone the repo

git clone https://github.com/tymofiikalnytskyi/codebase-memory-map.git
cd codebase-memory-map

2. Install dependencies

npm install

3. Configure environment variables

cp .env.example .env.local

Optional environment variables:

4. Run the development server

npm run dev

Open http://localhost:3000.

How It Works

Codebase Memory Map turns a repository into something explorable instead of implicit.

  1. A user submits a GitHub URL or local upload.
  2. The ingestion layer normalizes the repository input.
  3. The analysis pipeline parses files, folders, imports, functions, and metadata.
  4. The graph builder creates nodes and edges for the visual map.
  5. The AI/search layer generates summaries, onboarding guidance, and semantic-style results.
  6. The UI renders the overview, interactive map, search experience, and file-level drilldowns.

This makes it easier to:

Local Upload Format

The MVP currently supports:

Example:

[
  {
    "path": "src/auth/session.ts",
    "content": "export async function getSession() { return null; }"
  },
  {
    "path": "src/app/page.tsx",
    "content": "import { getSession } from '../auth/session'; export default function Page() { return null; }"
  }
]

Project Structure

codebase-memory-map/
├── app/
│   ├── api/
│   │   ├── ingest/
│   │   │   └── route.ts
│   │   └── repositories/
│   ├── repositories/
│   │   └── [repositoryId]/
│   │       ├── file/
│   │       ├── map/
│   │       └── page.tsx
│   ├── layout.tsx
│   └── page.tsx
├── components/
│   ├── map/
│   │   ├── memory-node.tsx
│   │   └── repository-map.tsx
│   ├── marketing/
│   ├── ui/
│   ├── app-shell.tsx
│   ├── file-detail-view.tsx
│   └── repository-workspace.tsx
├── lib/
│   ├── server/
│   │   ├── ai/
│   │   ├── analysis/
│   │   ├── db/
│   │   ├── github/
│   │   ├── search/
│   │   └── storage/
│   └── shared/
├── LICENSE
├── package.json
└── README.md

Architecture Notes

The codebase is intentionally structured so parsing, search, AI summarization, and UI remain separate and extensible.

Future Improvements

Author

Tymofii Kalnytskyi
CS & AI Student @ Adelphi University
GitHub · LinkedIn

License

MIT - feel free to use this as a starting point for your own projects.