Files
monlet/web

Monlet Web

Read-only dashboard for Monlet.

Stack

  • Next.js 16 (App Router)
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • Typed API client generated from api/openapi.yaml

Commands

cd web
npm_config_cache=../.cache/npm npm install
npm_config_cache=../.cache/npm npm run dev

Build / lint / typecheck / smoke:

npm_config_cache=../.cache/npm npm run build
npm_config_cache=../.cache/npm npm run lint
npm_config_cache=../.cache/npm npm run typecheck
npm_config_cache=../.cache/npm npm run smoke

Do not install Node packages globally. Project dependencies live in web/node_modules; npm cache lives under repository .cache/npm.

Environment

Var Default Purpose
MONLET_API_BASE_URL http://127.0.0.1:8000 Server base URL (server-side fetch)
MONLET_API_TOKEN (none) Bearer token sent to server
MONLET_WEB_TIME_ZONE UTC IANA timezone used to render timestamps

The token never reaches the browser — all server calls happen in Server Components / route handlers.

Pages

  • / — overview
  • /agents — agent list
  • /agents/[id] — agent detail
  • /checks — current check states
  • /incidents — incident list
  • /events — events query
  • /outbox — notification outbox

API client

Types are generated from ../api/openapi.yaml into src/lib/api-types.ts via npm run gen:api.