1c93df022d8b27eca6faa92a38c45a56afc56c2c
A background sweep every minute drops snapshots unused for an hour, finished jobs, and uploads never committed, deleting their workspaces. At most 8 snapshots are held; the least recently used is evicted.
CodeNavigator
A single binary that serves the WebGL frontend and the indexing API (jobs, SSE progress, snapshots, search, source) on one origin. No dependencies beyond the Go standard library.
go run . # http://127.0.0.1:4177
go test -race ./...
go test -run x -bench Index # indexes $CODENAV_BENCH_DIR (default: Go's stdlib source)
./build.sh [tag] # Docker image, tests run during the build
docker run --rm -p 4177:4177 codenavigator:latest
Configuration: PORT (default 4177, or --port), CORS_ORIGIN (default *).
git must be on PATH to load GitHub repositories (the image includes it).
The browser frontend in web/ is plain JavaScript (it has to run in the browser) and
is embedded into the binary; web/config.js points it at the same origin.
Notes:
GET /serves the frontend instead of a JSON service description.- Search queries are percent-decoded properly.
.gitignoresupport covers standard globs but not global excludes or.git/info/exclude.
Languages
JavaScript
64.8%
Go
21.2%
CSS
9.9%
HTML
3.9%
Dockerfile
0.1%