To install dependencies:
bun installTo start a development server:
bun devTo run for production:
bun startTo run tests:
bun testTo run visual regression tests (Playwright):
bun run test:visualTo update visual snapshots:
bun run test:visual:updateTo run the interactive location persistence TUI:
bun run tuiTo include metric logs (for example [metric] ...) while running the TUI:
bun run tui -- --verboseMenu shortcuts:
- Top-level menu:
Exitoption,Escalso exits. - Child feature menus:
Backoption,Escalso goes back one level (forlocation, Back returns to feature selection).
To bypass the app-feature menu and jump directly into location persistence:
bun run tui locationGET /api/locations/persistedPOST /api/locations/persistedwith JSON body{ "name": string, "lat": number, "long": number, "nickname"?: string, "timezone"?: string, "granularity"?: string }GET /api/locations/persisted/debug-json(read-only debug dump)DELETE /api/locations/persisted/:id
Persisted locations are stored in SQLite at data/persisted-locations.db (legacy data/persisted-locations.json is imported automatically when the database is empty).
GET /api/location/sky-24h?lat={number}&long={number}&at={unixMsOptional}- Returns
{ result }withstops[],rotationDeg,rotationRad, and always-ondiagnosticsincluding all six second-order factors and fallback metadata.
- Returns
Same Sky is a Bun-powered app for visualizing local time and sky state across locations.