# AGENTS.md

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

## Setup

```
npm ci
```

## Commands

```
npm run dev                 # run locally
npm run build               # produce a build
npm run typecheck           # type check without emitting
npm run lint                # lint
npm run lint:fix
npm run lint:boundaries
npm run lint:api-contract
npm run lint:safe-html
```

## Layout

- `tests/`   863 source files
- `src/`     803 source files
- `scripts/` 595 source files
- `server/`  411 source files
- `api/`     215 source files
- `convex/`  135 source files

## Conventions

- Tests live alongside the code they cover, following `api/_api-key.test.mjs`.
- TypeScript runs in strict mode. Type errors are the fastest feedback available, so do not weaken it.
- CI defines what passing means. See `.github/workflows/analytics-collector-monitor.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

## Gotchas

- `scripts/seed-forecasts.mjs` is 883KB. It will not fit comfortably in context, so read it in parts.
- Copy `.env.example` before running anything that needs configuration.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.
