REVIEW.md
Rama main · réplica de lectura del repositorio original.
# 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.