CodeTown scans your workspace locally — no cloud, no AI, no telemetry — and renders it as a bounded isometric island inside VS Code. Click a building and the real file opens at the recorded line. The city stays live as you save.
| In your repo |
In CodeTown |
| Source files |
Buildings — fan-in sets the height; hubs tower over the streets |
| Top-level folders |
Districts (src, failed giants split into src·01, src·02…) |
| Imports |
Blue Relations overlay lines + physical roads, lightpoles, traffic lights |
| Findings |
Red/amber buildings with concise inspector cards — findings are listed, never invented |
See it
1 · The whole city — pan (drag/arrows), zoom (Ctrl+wheel, ±, Fit), minimap

2 · Dependencies — Relations draws every resolved import; Day/Night switch; Motion toggles cars

3 · Diagnose — search Ctrl+K, filters, inspector with symbols/imports/diagnostics; open source anywhere

4 · Complete City Dashboard & District Skyline

Features
- Isometric visualization — deterministic layout, road connectivity verified from sprite pixels, fringe forest, parks, street furniture off the roads.
- Navigation — Districts/Repository sidebar, breadcrumbs, minimap click-to-go, fly-to search.
- Inspector — path, symbols, imports in/out, per-file diagnostics → jump to source.
- Edit mode — drag buildings to rearrange; persists per workspace,
Ctrl+Z/Y.
- Accessibility — keyboard navigation,
prefers-reduced-motion, ARIA announcements.
- Offline — analysis, layout and rendering are 100% local.
Try the demo cities — five sample repos in demos/ that each render a different town
Open any folder below in VS Code and run CodeTown: Open Town:
sunny-cart — TypeScript storefront · ledger-api — TS REST backend ·
pixeltools — Python library + CLI · iso-kit — TS library (hub building) ·
bugtown — diagnostics showcase with real defects
Install
Method 1 · Direct Visual Studio Code Marketplace
Method 2 · Manual VSIX Package
- Download
codetown.vsix from Releases (or build locally: npm run package).
- VS Code → Extensions (
Ctrl+Shift+X) → ⋯ (top right menu) → Install from VSIX...
- Open any workspace and run CodeTown: Open Town (
Ctrl+Shift+P).
Usage
Ctrl+Shift+P → CodeTown: Open Town (codetown.openTown) · CodeTown: Full Rescan (codetown.fullRescan) · CodeTown: Show Asset Library (codetown.showAssetLibrary). The isometric sprite pack ships bundled in the extension — sprites are preloaded, no import step.
Settings: codetown.autoOpen, codetown.maxFiles, codetown.additionalExcludes, codetown.respectGitignore.
Development
Zero runtime dependencies — TypeScript + plain Canvas2D webview.
npm install
npm run compile # extension + webview
npm test # 59 tests
npm run package # codetown.vsix
src/analysis scanner · TS/JS + Python adapters · import graph · sprite-PNG masks
src/assets pack importer (folder/zip) · semantic slot mapping
src/layout district engine · environment · isometric projection
src/webview panel CSP bootstrap · Canvas2D renderer
demos/ synthetic demo repos (excluded from default scans)
Roadmap & limitations
Next: Go/Rust/Java adapters, per-symbol buildings, bundled CC0 starter pack.
Limits: TS/JS + Python import graphs (other languages render, imports stay blank); 2000-file cap (codetown.maxFiles) with a visible heads-up; night mode is a scene tint.
Credits & license
Code under MIT — © 2026 AKP (LICENSE). Sprites load from your local pack by filename patterns only — never bundled or redistributed (docs/asset-sources.md). Demo repos in demos/ are written from scratch.