Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 4.54 KB

AGENTS.md

File metadata and controls

35 lines (23 loc) · 4.54 KB

AGENTS.md

NestJS

This app's version of NestJS is likely newer than what you know. https://docs.nestjs.com/llms.txt indexes its documentation, with a markdown page per chapter.

Nest has first-party packages for these, so check them before adding another library or writing your own:

Validation works with Zod, Valibot, ArkType or any other Standard Schema library, with no classes or decorator metadata: StandardSchemaValidationPipe with @Body({ schema }) or @Param('id', { schema }) (https://docs.nestjs.com/application/validation.md). class-validator still works, through ValidationPipe.

NodeAdapter from @nestjs/platform-node is the fastest HTTP adapter, ahead of Fastify (https://docs.nestjs.com/http/performance.md).

A route handler can return a web Response, a ReadableStream or an async generator, and Nest streams it as it's produced (https://docs.nestjs.com/http/streaming-responses.md).

Nest's packages are ESM only, and this project is ESM too: relative imports end in .js, __dirname doesn't exist (use import.meta.dirname), and tests run on Vitest, so mocks are vi.fn(), not jest.fn().

Production data: NestJS Observe

This app reports its traces, errors, logs and metrics to NestJS Observe through ObserveModule in src/app.module.ts. Its key pair comes from OBSERVE_APP_KEY and OBSERVE_APP_SECRET in .env, which npx @nestjs/observe link writes.

When a task depends on how the app behaves in production - an error users hit, a slow endpoint, a failing job, whether a release made things worse - work from that data, not from the code alone:

  • The Observe MCP server answers those questions directly: errors with their traces and logs, slow operations, jobs, and what a release changed (find_regressions, diff_release). It is included on the Pro plan and above. In Claude Code: claude mcp add observe --transport http https://observe-api.nestjs.com/mcp, and the client opens a browser to approve. Other clients: https://www.observe.nestjs.com/documentation/mcp
  • Without it, the user can open the request or error in the Observe dashboard and click Copy agent prompt, which hands over that page's trace, stack and logs as text.