with one click
run-api-e2e-tests
Run e2e tests for the API service. Use when the user wants to run API E2E tests.
Run e2e tests for the API service. Use when the user wants to run API E2E tests.
| name | run-api-e2e-tests |
| description | Run e2e tests for the API service. Use when the user wants to run API E2E tests. |
Run novu-v2 e2e tests for the API service. Tests are located in apps/api.
pnpm test:e2e:novu-v2
This runs all e2e tests with the novu-v2 pattern across both regular and enterprise test suites.
When the user mentions a specific test or feature:
*.e2e.ts or *.e2e-ee.ts in apps/apitrigger-event-preferences.e2e.ts → trigger-event-preferencessrc/ or e2e/enterprise/For tests in src/ directory:
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'src/**/<name-of-the-test>.e2e{,-ee}.ts'
For tests in e2e/enterprise/ directory:
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'e2e/enterprise/**/<name-of-the-test>.e2e.ts'
Replace <name-of-the-test> with the actual test filename (without extension).
Running trigger-event-preferences test (in src/):
# Found: apps/api/src/app/events/e2e/trigger-event-preferences.e2e.ts
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'src/**/trigger-event-preferences.e2e{,-ee}.ts'
Running enterprise billing test:
# Found: apps/api/e2e/enterprise/billing/billing.e2e.ts
pnpm exec cross-env NODE_ENV=test CI_EE_TEST=true CLERK_ENABLED=true NODE_OPTIONS=--max_old_space_size=8192 mocha --timeout 30000 --retries 3 --grep '#novu-v2' --require ./swc-register.js --exit --file e2e/setup.ts 'e2e/enterprise/**/billing.e2e.ts'
apps/api directoryOnboard a new DCR OAuth MCP catalog entry with provider-doc vetting and curl probes. Use when adding or changing `mode: dcr` entries in MCP_SERVERS. Abort if the provider requires whitelist or manual approval.
Build terminal user interfaces (TUIs) using Ink (React for CLIs) and @inkjs/ui with a reactive, session-driven wizard pattern. Use when creating interactive CLI installation wizards, setup flows, or multi-step terminal applications in Node.js/TypeScript. Covers reactive screen resolution, declarative flow pipelines, overlay interrupts, session state management, Ink components, Flexbox terminal layout, and graceful degradation across terminal environments.
Create or update Novu environment variables in the user's project safely (never expose the secret key to the client). Complements the official Novu skills by covering project-level env configuration.
Critically triage pull request review comments against PR requirements and codebase reality, implement only valid fixes, and reply only when declining a suggestion. Use when the user asks to address PR comments, review feedback, CodeRabbit/Bugbot threads, or `/address-pr-review`.
Post-implementation PR prep for Novu feature branches — quality passes, commit/PR hygiene, CI triage, and review feedback. Use after feature work is done, when the user asks to prepare a PR, ship a branch, fix CI, address review comments, or babysit a pull request before merge.
**MANDATORY prerequisite** — you MUST invoke this skill BEFORE every `use_figma` tool call. NEVER call `use_figma` directly without loading this skill first. Skipping it causes common, hard-to-debug failures. Trigger whenever the user wants to perform a write action or a unique read action that requires JavaScript execution in the Figma file context — e.g. create/edit/delete nodes, set up variables or tokens, build components and variants, modify auto-layout or fills, bind variables to properties, or inspect file structure programmatically.