Forgejo-Timetracking-Dashboard/AGENTS.md

1.6 KiB

AGENTS.md

Repo Facts

  • Single-page app: The entire dashboard is self-contained in src/pages/index.astro (~360 lines). It does not meaningfully use Layout.astro or Welcome.astro — those are leftover starter code and can be ignored or removed.
  • Bun is the package manager (lockfile: bun.lock). Use bun install / bun dev / bun build.
  • No lint, test, or typecheck scripts are defined in package.json. tsconfig.json extends astro/tsconfigs/strict.

Token & API

  • Dashboard fetches from a hardcoded API base URL: https://bitfreedom.net/code/api/v1 (see src/pages/index.astro:108).
  • Access token is passed as a query param: ?access_token=<token>&since=<ISO>.
  • Token is injected at build time via Vite define in astro.config.mjs (ACCESS_TOKENimport.meta.env.PUBLIC_ACCESS_TOKEN).
  • Set it in .env as PUBLIC_ACCESS_TOKEN=.... .env is gitignored.
  • For deployments, the hosting platform must provide PUBLIC_ACCESS_TOKEN as a build env var.
  • To change the API endpoint or token mechanism, edit src/pages/index.astro.

Commands

bun install       # install deps
bun dev           # dev server at localhost:4321
bun build         # static output → dist/
bun preview       # serve dist/ locally

Structure Notes

  • src/pages/index.astro — the only meaningful page. Inline styles, inline JS, ApexCharts via CDN.
  • src/layouts/Layout.astro and src/components/Welcome.astro — unused starter code.
  • public/ — only favicon.ico and favicon.svg.
  • .playwright-mcp/ — contains Playwright MCP artifacts (screenshots, page yamls); not part of the app.