RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/novuhq-novu-cursor-rules-novu ↔ novuhq-novu-cursor-rules-worker

Comparison

A · Cursor rules · novuhq/novuB · Cursor rules · novuhq/novu
What each file covers, counted
DimensionSharedOnly in AOnly in BOverlap
Sections0120%
Commands0010%
Section tags100100%

What each file covers

Sections

0 shared · 1 only in A · 2 only in B
  • − Novu Conventions
  • + Worker Service
  • + Worker Service Conventions

Commands

0 shared · 0 only in A · 1 only in B
  • + pnpm start:worker

Section tags

1 shared · 0 only in A · 0 only in B
  •   code-style

Line diff

+30 added−10 removed4 unchanged11.8% identical
novuhq/novu · .cursor/rules/novu.mdc
@@ −1 @@
1---
2description:
3globs:
4alwaysApply: true
5---
6### Novu Conventions
7 
8- File/directory names: lowercase with dashes (`components/auth-wizard`)
9- Named exports for all components
10- TypeScript: `interface` on the backend, `type` on the frontend — this is the project convention and overrides any general "prefer interfaces" guidance
11- Blank line before every `return` statement
12- Animations: import from `"motion/react"` — not `"framer-motion"` or `"motion-react"`
13- No nested ternaries
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14 
novuhq/novu · .cursor/rules/worker.mdc
@@ +1 @@
1---
2description: Rules for working in the Worker service (background job processing)
3globs: apps/worker/**/*
4alwaysApply: false
5---
 
6 
7## Worker Service
8 
9**Stack:** NestJS · Bull + Redis · ClickHouse (execution traces) · cron-parser
10 
11**Run:** `pnpm start:worker` — only needed when testing notification triggering; skip for dashboard/API-only tasks.
12 
13**Tests/lint:** see testing.mdc
14 
15**Key directories:**
16```
17apps/worker/src/app/workflow/usecases/ # Workflow step execution usecases
18apps/worker/src/app/workflow/services/ # Queue consumers and job handlers
19```
20 
21---
22 
23### Worker Service Conventions
24 
25**Use-case structure**
26- Each notification channel has a dedicated `send-message` use-case under `apps/worker/src/app/workflow/usecases/`.
27- Follow the CQRS pattern: `execute(command: CommandClass)` returning a typed result.
28- Keep channel-specific logic isolated — do not share send-message logic across channels.
29 
30**Queue / Bull**
31- Job consumers are registered in NestJS modules using Bull's `@Process` decorator.
32- Retry logic and failure handling are configured at the queue level in `libs/application-generic` — do not duplicate this in worker use-cases.
33- Always handle job failures gracefully and log execution details via `CreateExecutionDetails`.
34 
@@ −1 +1 @@
11 ---
2−description:
3−globs:
4−alwaysApply: true
2+description: Rules for working in the Worker service (background job processing)
3+globs: apps/worker/**/*
4+alwaysApply: false
55 ---
6−### Novu Conventions
76  
8−- File/directory names: lowercase with dashes (`components/auth-wizard`)
9−- Named exports for all components
10−- TypeScript: `interface` on the backend, `type` on the frontend — this is the project convention and overrides any general "prefer interfaces" guidance
11−- Blank line before every `return` statement
12−- Animations: import from `"motion/react"` — not `"framer-motion"` or `"motion-react"`
13−- No nested ternaries
7+## Worker Service
8+ 
9+**Stack:** NestJS · Bull + Redis · ClickHouse (execution traces) · cron-parser
10+ 
11+**Run:** `pnpm start:worker` — only needed when testing notification triggering; skip for dashboard/API-only tasks.
12+ 
13+**Tests/lint:** see testing.mdc
14+ 
15+**Key directories:**
16+```
17+apps/worker/src/app/workflow/usecases/ # Workflow step execution usecases
18+apps/worker/src/app/workflow/services/ # Queue consumers and job handlers
19+```
20+ 
21+---
22+ 
23+### Worker Service Conventions
24+ 
25+**Use-case structure**
26+- Each notification channel has a dedicated `send-message` use-case under `apps/worker/src/app/workflow/usecases/`.
27+- Follow the CQRS pattern: `execute(command: CommandClass)` returning a typed result.
28+- Keep channel-specific logic isolated — do not share send-message logic across channels.
29+ 
30+**Queue / Bull**
31+- Job consumers are registered in NestJS modules using Bull's `@Process` decorator.
32+- Retry logic and failure handling are configured at the queue level in `libs/application-generic` — do not duplicate this in worker use-cases.
33+- Always handle job failures gracefully and log execution details via `CreateExecutionDetails`.
1434  
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack