haydenschmitty/floorplan

★ 322⑂ 31

See how your app actually fits together. An interactive, plain-English map of your codebase, drawn by Claude or Codex.

About haydenschmitty/floorplan

haydenschmitty/floorplan is an open-source project on GitHub, mainly written in JavaScript. See how your app actually fits together. An interactive, plain-English map of your codebase, drawn by Claude or Codex. It currently holds 322 stars and 31 forks with 6 open issues, and was last pushed on 2026-10-29 (repository created 2026-10-27).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #21 with 0 new stars today.

GitHub Repository Details

Repository haydenschmitty/floorplan · default branch main · size 5886 KB · watchers 2 · source: GitHub REST API and repository README

README

https://github.com/haydenschmitty/floorplan/blob/HEAD/Floorplan logo

Floorplan

See how your app actually fits together.

Claude or Codex reads your codebase and draws an interactive map of it. Every part, file and web request gets a plain-English name, and every connection between them is shown.

Claude Code plugin Codex plugin Tests Version License: MIT Node 18+ Zero dependencies

Try the live demo · Watch the video · Install · Quick start · Features · See it in action · How it works · Docs · FAQ

https://github.com/haydenschmitty/floorplan/blob/HEAD/Watch the walkthrough on YouTube: installing Floorplan, then a tour of the map of Brewline, a coffee subscription app

▶ Watch the walkthrough: installing Floorplan, then a tour of Brewline, a demo coffee-subscription app built across four repos.

Try the live demo → Explore the Brewline map in your browser, no install needed.

Why Floorplan?

You built an app, probably with a lot of help from AI, and it works. But ask "what happens when someone checks out?" or "what breaks if I change this?" and the honest answer is no idea.

Floorplan gives you the diagram nobody drew. Ask Claude Code or Codex for a floorplan and a few minutes later you have a map you can explore, ask questions on, and keep up to date as you work.

Features

🗺️ A map at every zoom
Start with the whole app, then double-click into a part, a group of files, a file, and its endpoints. Each view shows what it's used by and what it uses.

💬 Plain English everywhere
"Takes card payments at checkout", not "Stripe API wrapper". Technical terms are explained on hover, and one switch shows the developer view.

🔌 Real connections, across repos
It follows imports, and matches each web request in your frontend to the server endpoint that answers it, even across separate repos.

🖥️ Start from a screen
Pick a page you know and see everything behind it: its parts, the requests it makes, the server code, the data, and outside services.

🧭 Ask the map
"How does a refund reach the customer's card?" comes back as an answer plus a mini-map of just the pieces involved, with a step-by-step walkthrough.

🩺 Health check
Finds passwords in code, endpoints anyone can use without signing in, unused files and files too big to edit safely. Each comes with a ready-to-paste fix.

🟢 Recent work
The cards your AI just changed light up green, each with a note on how the change serves what you asked for.

⚡ Stays current, stays yours
Updates re-read only what changed, and an open map reloads itself. Everything runs on your machine, and nothing is committed to git.

Plus guided flows you can request in plain words, a one-minute Start here tour, search, keyboard shortcuts, and right-click actions on every card.

See it in action

Want to click around yourself? Open the live demo: the real Brewline map beside a scripted conversation, in Claude Code or Codex.

https://github.com/haydenschmitty/floorplan/blob/HEAD/An answer board: the gift subscription traced from the gift page to the friend's inbox, with numbered cards and a written walkthrough

Ask the map. A real answer, from the Claude Code CLI in 31 seconds. It traced the gift from form to inbox across two repos, and spotted two bugs along the way.

https://github.com/haydenschmitty/floorplan/blob/HEAD/Everything behind the Gift page: its form, the requests it makes, the server code, the database, Stripe and SendGrid

Start from a screen. Pick any page and see everything behind it, from the button down to the database and outside services.

https://github.com/haydenschmitty/floorplan/blob/HEAD/The Recent work board for a gift subscriptions feature: what was asked, what was done, and a note on every changed card

Recent work. What you asked for, what changed, and why each change was needed, on one board.

https://github.com/haydenschmitty/floorplan/blob/HEAD/The Health panel listing a secret key written into the code and an endpoint anyone can use, each with Show on map and a Fix button

Health check. A password left in the code and an endpoint anyone can call, each with a one-click fix prompt.

https://github.com/haydenschmitty/floorplan/blob/HEAD/Inside the Business rules part of the server: its files in the middle, what uses them on the left, and outside services on the right

Zoom in. Inside any part: what's in it, what uses it, and what it relies on. Green tags mark what just changed.

https://github.com/haydenschmitty/floorplan/blob/HEAD/A guided flow, step 4 of 6, showing the main server emailing the gift code through SendGrid

Guided flows. Watch a request travel through the app step by step, or ask for a new one to be traced.

Install

You need Node.js 18+ and either Claude Code or Codex. Floorplan runs on the plan you already have, with no API keys.

Claude Code

In the desktop app's Code tab or the CLI:

claude plugin marketplace add haydenschmitty/floorplan
claude plugin install floorplan@floorplan

Start a new session and it's ready. Installing the Claude Code CLI is recommended even if you use the desktop app, because it lets the map's Ask bar read your real code. More in Getting started.

Codex

Signed in with ChatGPT. No terminal needed:

1. In the Codex app, open Plugins and choose Add a marketplace. 2. For Source, enter haydenschmitty/floorplan and click Add marketplace. 3. Find Floorplan and click + to install it.

Or, from a terminal:

codex plugin marketplace add haydenschmitty/floorplan
codex plugin add floorplan@floorplan

Start a new chat and ask for a floorplan, or type $floorplan. The map's Ask bar runs on your own Codex sign-in, with no API key. More in Floorplan in Codex.

Quick start

1. Open your project in Claude Code or Codex. For a frontend and backend in separate repos, open the folder that holds both. 2. Ask: > Make me a floorplan of this app.

(In Codex you can also type $floorplan.) 3. Explore. The map opens on its own, starting with a short tour.

When you've done more work, ask:

Update the floorplan.

Only what changed is re-read, and what you just worked on lights up under Recent work.

Things to try

| Ask Claude Code or Codex | Ask the map | |---|---| | "Make me a floorplan of this app" | "What happens when someone places an order?" | | "Update the floorplan" | "Where do we talk to Stripe?" | | "Fix the important issues from the floorplan's Health check" | "If I change the users table, what breaks?" | | "Add a flow showing how a new user signs up" | "Which files handle login?" | | "Rewrite the floorplan for developers" | "What did we change for refunds?" |

How it works

flowchart LR
    code["Your codebase
one repo or several"] --> scan["Scan
files, imports, routes, requests"] scan --> agent["Claude or Codex
names the parts, describes every file"] agent --> build["Build
map, health, screens, recent work"] build --> map["floorplan/index.html
opens in your browser"] map -. "update the floorplan" .-> scan

Scripts do the mechanical work: finding repos, parsing code in a dozen languages, matching web requests to endpoints, laying out the map. They're plain Node with no dependencies. Claude or Codex does the part only a reader can: deciding what the parts of your app are, and saying so plainly. Details in How it works.

Languages: TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, Scala, plus Vue, Svelte and Astro files, with lighter support for others.
Endpoints: Express, Koa, Hono, Next.js, Firebase Cloud Functions, Flask, FastAPI, Django, Go's net/http, Gin, Echo and chi, Actix, Axum, Spring.
Screens: Next.js, React Router, Vue, SvelteKit, Remix, Nuxt, Astro, Expo, Angular, TanStack.

What it adds to your project

A floorplan/ folder holding the map. In Claude Code it also adds a short section to CLAUDE.local.md so future sessions know the map is there. Neither is committed: the folder ignores itself in git, and CLAUDE.local.md goes in your clone's private ignore list. In Codex, only the floorplan/ folder is added. Your .gitignore and other tracked files are never touched. See What's in your project.

Privacy

More in Privacy and security.

Documentation

| | | |---|---| | Getting started | Install, first map, updating, removing | | Floorplan in Codex | Installing and using it in Codex | | Using the map | Every button, view, shortcut and menu | | How it works | The pipeline, connection matching, refreshes | | What's in your project | Every file Floorplan creates, and how to edit it | | Privacy and security | What runs where, and what leaves your machine | | Troubleshooting | Common problems and fixes | | Developing Floorplan | Repo layout, local installs, releases |

FAQ

Does my code leave my computer?

Only the way Claude Code and Codex always work: the AI reads the files it needs to describe your app, through your own account. The map itself is a local file and its server only listens on your machine. If you choose to open the map in the Claude app instead, Claude uploads the map (names, descriptions and structure, not your source code) to your private claude.ai account, and asks first. The one thing Floorplan itself ever sends is your email, and only if you sign up for the Floorplan Cloud waitlist.

How long does it take, and what does it cost?

A first map takes a few minutes for a small app and longer for a big one, because every file and endpoint gets described. It uses your Claude or ChatGPT plan like any other task. Big projects are split across parallel helpers. Updates re-read only what changed, so they're quick and cheap.

Do I need a CLI for the Ask bar?

No. The map works without one. The Ask bar answers through the Claude Code CLI or Codex, which can read your real code. Codex's desktop app already includes what it needs. With Claude, without the CLI you can ask from the Claude app instead, using the map alone.

Will it change or commit my files?

It only writes its own floorplan/ folder (and, in Claude Code, a section in CLAUDE.local.md), and neither is committed. It never changes your code, your .gitignore or your CLAUDE.md.

The names it picked aren't how we talk about it. Can I change them?

Yes. Just ask ("rename 'Main server' to 'Shop API' on the floorplan"), or edit floorplan/architecture.json and floorplan/descriptions/ yourself. Your edits are kept on every update.

Does it work with Codex as well as Claude Code?

Yes. It's the same plugin, the same map and the same Health check. Each app runs it on your own plan: Claude Code on your Claude account, Codex on your ChatGPT sign-in. A map made in one opens fine with the other. See Floorplan in Codex.

Does it work on monorepos and multi-repo setups?

Yes. Point it at a monorepo, a subfolder of one, or a plain folder that holds several repos side by side. It finds every repo and connects them.

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md and Developing Floorplan.

License

MIT © 2026 Hayden Smith

GitHub Stars & Activity

322Stars
31Forks
6Open issues
JavaScriptLanguage

GitHub Popularity

GitHub stars322
Forks31
Open issues6
Primary languageJavaScript
LicenseMIT
Stars gained today0
Created2026-10-27
Last pushed2026-10-29

Trending History

Daily boardrank #21 · ▲ 0 stars

Related GitHub Projects

1

jacke-pp / open-yoki

JavaScript★ 340⑂ 1
→
2

HRuiCcc / RuiC-PoseAtlas

JavaScript★ 243⑂ 72
→
3

Humpalumps / Ultra-Water

JavaScript★ 207⑂ 31
→
4

Mieksido / surfcore

JavaScript★ 206⑂ 15
→
5

davemessew / AgentFlux

JavaScript★ 205⑂ 0
→
6

SAOS-3624 / dsh-video-storyboard

JavaScript★ 147⑂ 13
→
7
→
8
→

More Trending Repositories