nitro

bởi sentry

Xây dựng và triển khai máy chủ JavaScript phổ quát với Nitro v3. Sử dụng khi làm việc với nitro.config.ts, defineNitroConfig, defineHandler, defineConfig, server.ts…

npx skills add https://github.com/getsentry/junior --skill nitro

Build, configure, and deploy Nitro v3 applications using correct APIs and patterns.

Step 1: Classify the request

Request typeRead first
API surface, handler signatures, imports, config optionsreferences/api-surface.md
Setup, routing, caching, storage, plugins, frameworks, common patternsreferences/common-use-cases.md
Build failures, runtime errors, deployment issues, migration from v2references/troubleshooting-workarounds.md

Load only the reference(s) matching the request. If the task spans categories, load relevant files.

Step 2: Apply core guardrails

  1. Import defineHandler from "nitro", not defineEventHandler (v2 API).
  2. Import config helpers from subpaths: "nitro/config", "nitro/cache", "nitro/storage", "nitro/database", "nitro/runtime-config", "nitro/types".
  3. Use web standard event.req (Request) for body/headers — not v2 utilities like readBody or getHeader.
  4. Never return from middleware unless intentionally terminating the request.
  5. Only GET/HEAD requests are cached by defineCachedHandler; other methods bypass automatically.
  6. useDatabase and defineTask require experimental feature flags.
  7. Use "nitro" package name, not "nitropack" (v2).

Step 3: Implement

  1. For new projects, use defineConfig from "nitro" in nitro.config.ts or add nitro() plugin from "nitro/vite" to vite.config.ts.
  2. For server entry, export a web-compatible fetch(Request): Response handler from server.ts, or use server.node.ts for Express/Fastify.
  3. For filesystem routes, place handlers in routes/ or api/ with [param] for dynamic segments and .get.ts/.post.ts for method-specific routes.
  4. For caching, use defineCachedHandler from "nitro/cache" with maxAge and swr options.
  5. For storage, use useStorage(namespace) from "nitro/storage" and configure drivers via storage config.
  6. For plugins, create files in plugins/ directory using definePlugin and hook into request, response, error, or close.
  7. For deployment, set preset in config or use NITRO_PRESET env var; Vercel/Netlify/Cloudflare are auto-detected.

Step 4: Validate

  1. Run nitro dev and verify routes respond correctly.
  2. Run nitro build and check .output/server/ contains expected files.
  3. For cached routes, verify cache headers (etag, cache-control) and 304 responses.
  4. For storage, verify data persists across requests with configured driver.
  5. For deployment, verify the preset produces correct output format.

Step 5: Troubleshoot

  1. defineEventHandler is not defined → use defineHandler from "nitro" (v3 API).
  2. Cannot find module 'nitropack' → rename to "nitro" in imports and package.json.
  3. Route not matched → check file is in routes/ or api/, or verify routes config mapping.
  4. Middleware returning responses unexpectedly → ensure middleware does not return a value.
  5. For detailed diagnostics, read references/troubleshooting-workarounds.md.

Thêm skills từ sentry

generate-frontend-forms
sentry
Hướng dẫn tạo biểu mẫu bằng hệ thống biểu mẫu mới của Sentry. Sử dụng khi triển khai biểu mẫu, trường biểu mẫu, xác thực hoặc chức năng tự động lưu.
official
sentry-snapshots-cocoa
sentry
Thiết lập đầy đủ Sentry Snapshots cho các dự án Apple/Cocoa. Sử dụng khi được yêu cầu "thiết lập SnapshotPreviews", "thiết lập kiểm thử snapshot Apple", "tải lên snapshot Apple lên…
official
architecture-review
sentry
Đánh giá sức khỏe mã nguồn ở cấp độ nhân viên. Phát hiện các module nguyên khối, lỗi âm thầm, khoảng trống an toàn kiểu dữ liệu, lỗ hổng độ phủ kiểm thử và các vấn đề về thân thiện với LLM.
official
linear-type-labeler
sentry
Phân loại các vấn đề Linear và áp dụng nhãn Loại từ hệ thống phân loại nhãn của không gian làm việc Sentry dựa trên nội dung tiêu đề và mô tả của từng vấn đề.
official
sentry-flutter-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho Flutter và Dart. Sử dụng khi được yêu cầu "thêm Sentry vào Flutter", "cài đặt sentry_flutter", "thiết lập Sentry trong Dart", hoặc cấu hình lỗi…
official
sentry-svelte-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho Svelte và SvelteKit. Sử dụng khi được yêu cầu "thêm Sentry vào Svelte", "thêm Sentry vào SvelteKit", "cài đặt @sentry/sveltekit", hoặc cấu hình…
official
vercel-react-best-practices
sentry
Hướng dẫn tối ưu hiệu suất React và Next.js từ Vercel Engineering. Kỹ năng này nên được sử dụng khi viết, xem xét hoặc tái cấu trúc mã React/Next.js…
official
sentry-tanstack-start-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho TanStack Start React. Sử dụng khi được yêu cầu "thêm Sentry vào TanStack Start", "cài đặt @sentry/tanstackstart-react", hoặc cấu hình lỗi…
official