## Development When starting the dev server, use background mode: ``` astro dev --background ``` Manage the background server with `astro dev stop`, `astro dev status`, and `astro dev logs`. ## Documentation Full documentation: https://docs.astro.build Prefer the `astro-docs` MCP server (`search_astro_docs`) for Astro questions. It searches the current docs, so use it before relying on memory: APIs change between majors (this project is on Astro 7). Fall back to fetching the links below if the MCP is unavailable. Consult these guides before working on related tasks: - [Adding pages, dynamic routes, or middleware](https://docs.astro.build/en/guides/routing/) - [Working with Astro components](https://docs.astro.build/en/basics/astro-components/) - [Using React, Vue, Svelte, or other framework components](https://docs.astro.build/en/guides/framework-components/) - [Adding or managing content](https://docs.astro.build/en/guides/content-collections/) - [Adding styles or using Tailwind](https://docs.astro.build/en/guides/styling/) - [Supporting multiple languages](https://docs.astro.build/en/guides/internationalization/) ## Project notes - Node adapter (standalone), started via `server.mjs` (adds security headers). Pages are prerendered by default; `/registry/…` and `404` use `prerender = false`. - Harbor data is live: `src/live.config.ts` + live loader `src/loaders/harbor.ts`, queried with `getLiveCollection()`/`getLiveEntry()`. Rendered pages are cached with `Astro.cache` (`memoryCache()`; `REGISTRY_CACHE` in `src/consts.ts`). - Harbor config comes from `astro:env/server` (all `secret`, so read at runtime, never inlined). The Docker image sets a default `HARBOR_URL` env var from a build arg. Anonymous Harbor returns 401 for single-repo GETs; look repos up via the listing with `?q=name=…`. - Runtime deps must be listed in `vite.ssr.noExternal` (the Docker image ships no `node_modules`). - Zod comes from `astro/zod` (Zod 4). - `astro check` needs TypeScript 6 (TS 7 is unsupported), so keep `typescript@^6`. - Run `pnpm check && pnpm build` before finishing a change.