City guide, architecture and README describe doors and back doors, door-to-door routes along alleys, and the street furniture on folder pavements. Documentation screenshots retaken on the current build, including a street-level view of doorways, a streetlight and routes.
3.9 KiB
3.9 KiB
CodeNavigator
See your code as a city. CodeNavigator indexes a GitHub repository (or, if you allow it, a local folder) and turns it into a place you can explore: a zoomable map, a 3D landscape, and a walkable night-time city where every file is a building and every folder is a street.
It's a single Go binary with no dependencies beyond the standard library. It serves both the indexing API and the browser frontend (plain ES modules and WebGL2, no build step).
What you can do
Also:
- Search every file and symbol, with results raised as light beacons in the city.
- Private GitHub repos via a GitHub App sign-in, scoped to the visitor's own access.
- Security alerts: with the right GitHub permissions, files with open code scanning or Dependabot alerts smoke, burn (critical/high) and get wrapped in hazard tape.
- Multi-user: every browser gets its own private sessions, snapshots and sign-in.
- Guided tour of the biggest districts, and shareable links to an exact spot.
- Touch controls: joystick, look and pinch.
Quick start
go run . # http://127.0.0.1:4177
Open the page, click Open a codebase, and paste a public GitHub URL such as
https://github.com/prometheus/prometheus. git must be on your PATH for cloning.
With Docker:
./build.sh # builds codenavigator:latest, running the tests inside
docker run --rm -p 4177:4177 codenavigator:latest
Configuration
| Variable | Default | Purpose |
|---|---|---|
PORT |
4177 |
Listening port (--port overrides) |
CORS_ORIGIN |
* |
Access-Control-Allow-Origin for the API |
SHOW_LOCAL |
unset | true enables uploading local folders; otherwise only GitHub repositories |
GITHUB_CLIENT_ID |
unset | GitHub App client ID; enables sign-in for private repos and security alerts |
GITHUB_CLIENT_SECRET |
unset | GitHub App client secret |
GITHUB_APP_SLUG |
unset | The app's URL name, for the "grant repository access" link |
Keyboard
| Key | Where | Action |
|---|---|---|
Ctrl+O |
anywhere | Open a codebase |
/ |
anywhere | Search |
F |
map views | Fit everything in view |
[ |
anywhere | Hide or show the sidebar |
1 2 3 |
city | Helicopter, walk, fly |
W A S D, Shift |
walk/fly | Move, run |
Space / C |
fly | Up / down |
E |
walk/fly | Inspect the building in the crosshair |
T |
city | Guided tour |
Documentation
- City guide: what everything in the city means and how to get around
- Architecture: indexer, server, sessions, rendering pipeline
- HTTP API: every endpoint, with request and response shapes
- GitHub App setup: private repos and security alerts
- Deployment: Docker, systemd, nginx, operating limits
- Development: running, testing, benchmarking, project layout




