# @nyx/api

Nyx Astronomy REST API - Access celestial objects, ephemeris, events, and
satellite data

Backend service. See the `Dockerfile` / `docker-compose.yml` in the repo for
production-like local runs, or use the dev script below for in-process
iteration.

## Scripts

| Command           | Definition             |
| ----------------- | ---------------------- |
| `pnpm build`      | tsc                    |
| `pnpm start`      | node dist/index.js     |
| `pnpm dev`        | tsx watch src/index.ts |
| `pnpm test`       | vitest run             |
| `pnpm test:watch` | vitest                 |
| `pnpm lint`       | eslint src/            |

## Layout

- `src/`

## Working on this package

The fastest local loop is via Nx:

```bash
pnpm nx test nyx-api
pnpm nx lint nyx-api
pnpm nx build nyx-api
```

When Nx is unhappy (usually because another worktree has duplicate project
names), bypass it with the underlying tools from this directory:

```bash
npx tsc --noEmit
npx vitest run
```

See the [root README](../../../README.md) for monorepo-wide conventions (catalog
deps, commit format, git workflow). See the
[Contributor Guide](../../../docs/CONTRIBUTING.md) for the full PR workflow.
