Ctrl K
ComunidadGuías…

REVIEW.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Review guide

Read by Devin Review and any reviewer. `AGENTS.md`, `mcpjam-inspector/AGENTS.md`
and `DESIGN.md` hold the full rules; this file lists what to check on every PR.

## Block the PR

- **Hardcoded colors.** A literal hex, `rgb()` or `oklch()` value in a component
  or stylesheet. Colors come from role tokens in
  `design-system/src/tokens.css`. The only allowed exception is chat-ui's
  `--trace-waterfall-*` palette.
- **Hand-edited generated regions.** DESIGN.md's YAML front matter, the fenced
  token blocks in `docs/style.css` and `chat-ui/src/styles.css`, and the color
  fields in `docs/docs.json` are generated by `npm run design:sync`.
- **Stale browserd bundle.** A change under
  `mcpjam-inspector/server/services/browserd/daemon/`, or anything it imports
  (`protocol.ts`, the WebMCP launch flags), without matching changes in
  `server/services/browserd/dist/`.
- **Raw `console.*` in `server/` or `bin/start.js`.** Server code uses
  `logger` from `@/utils/logger`; route catch sites use `reportRouteFailure`
  from `server/utils/route-error-report.ts`, not `logger.error`.
- **New `logger.warn` that should be an error, or `logger.error` for an
  expected condition.** `logger.error` pages Sentry; warnings do not.
- **Behavior change without a test.** Tests live in `__tests__/` next to the
  source.

## Look closely

- Auth, sessions and tokens: `server/routes/workos-authkit.ts`,
  `server/services/authkit-jwt.ts`, `server/services/guest-token*.ts`,
  `server/services/api-keys-relay.ts`, `server/middleware/`. Check who can
  reach the route, what is logged, and that secrets never reach telemetry.
- Anything that writes access links or tokens to output. Access links are
  terminal-only.
- Releasable packages (`sdk/`, `cli/`, `evaluators/`, `vitest/`,
  `mcpjam-inspector/`, `chat-ui/`, `widget-react/`) need a changeset
  (`npx changeset`) for user-visible changes.
- UI changes should use primitives from `@mcpjam/design-system/*` rather than
  re-implementing them.

## Skip

- `package-lock.json` unless dependencies changed.
- `server/services/browserd/dist/` beyond confirming it changed alongside the
  daemon source.