| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 1 | 1 | 0% |
| Commands | 0 | 0 | 0 | — |
| Section tags | 0 | 1 | 0 | 0% |
What each file covers
Sections
0 shared · 1 only in A · 1 only in B- − Novu Conventions
- + Dependency Graph
Commands
neither file has anySection tags
0 shared · 1 only in A · 0 only in B- − code-style
Line diff
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/dependency-graph.mdc
@@ +1 @@
1---
2description: Novu monorepo dependency graph — use when assessing blast radius before changing shared code
3globs:
4alwaysApply: false
5---
6
7## Dependency Graph
8
9```mermaid
10graph TD
11 subgraph apps [Apps]
12 api[api]
13 dashboard[dashboard]
14 worker[worker]
15 ws[ws]
16 end
17 subgraph libs [Libs - internal only]
18 dal[dal]
19 appGeneric[application-generic]
20 end
21 subgraph pkgs [Packages - published to NPM]
22 shared[shared]
23 framework[framework]
24 jsSDK[js]
25 reactSDK[react]
26 end
27 api --> appGeneric --> dal
28 worker --> appGeneric
29 ws --> appGeneric
30 api --> shared
31 worker --> shared
32 dashboard --> reactSDK --> jsSDK --> shared
33 dashboard --> framework
34```
35
@@ −1 +1 @@
11 ---
2−description:
3−globs:
4−alwaysApply: true
2+description: Novu monorepo dependency graph — use when assessing blast radius before changing shared code
3+globs:
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+## Dependency Graph
8+
9+```mermaid
10+graph TD
11+ subgraph apps [Apps]
12+ api[api]
13+ dashboard[dashboard]
14+ worker[worker]
15+ ws[ws]
16+ end
17+ subgraph libs [Libs - internal only]
18+ dal[dal]
19+ appGeneric[application-generic]
20+ end
21+ subgraph pkgs [Packages - published to NPM]
22+ shared[shared]
23+ framework[framework]
24+ jsSDK[js]
25+ reactSDK[react]
26+ end
27+ api --> appGeneric --> dal
28+ worker --> appGeneric
29+ ws --> appGeneric
30+ api --> shared
31+ worker --> shared
32+ dashboard --> reactSDK --> jsSDK --> shared
33+ dashboard --> framework
34+```
1435
