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-dashboard

Comparison

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

What each file covers

Sections

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

Commands

neither file has any

Section tags

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

Line diff

+46 added−10 removed4 unchanged8.0% 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/dashboard.mdc
@@ +1 @@
1---
2description: Rules for working in the Dashboard (React frontend)
3globs: apps/dashboard/**/*
4alwaysApply: false
5---
 
6 
7## Dashboard
8 
9**Stack:** React 19 + Vite + TypeScript · Radix UI · Tailwind CSS · shadcn/ui · TanStack Query · React Router · motion/react · port 4201
10 
11**Run:** Do not build or start the dashboard — the user already has it running on port 4201. Check types via Cursor diagnostics.
12 
13**Tests/lint:** see testing.mdc
14 
15**Key directories:**
16```
17apps/dashboard/src/components/ # Shared UI components
18apps/dashboard/src/pages/ # Route-level page components
19apps/dashboard/src/hooks/ # Custom React hooks
20apps/dashboard/src/api/ # API client and query definitions
21apps/dashboard/src/ee/ # Enterprise-only features
22```
23 
24**Agent sign-in:** A default user and org are pre-seeded. In Cursor cloud agent environments (`apps/dashboard/.env.agent`), the dashboard auto signs in — open `http://localhost:4201` and wait for redirect; do not type credentials unless auto sign-in fails.
25 
26| Field | Value |
27|-------|-------|
28| Email | `agent@novu.co` |
29| Password | `Agent123!@#` |
30| Organization | `Agent Organization` |
31 
32---
33 
34### Dashboard Conventions
35 
36**Data fetching**
37- Use TanStack Query (`useQuery`, `useMutation`) for all server state — do not use `useEffect` + `fetch` directly.
38- Co-locate query keys and fetcher functions in `src/api/` or alongside the feature they belong to.
39- Invalidate related queries after mutations; do not manually update the cache unless necessary for optimistic UI.
40 
41**UI components**
42- Build on Radix UI primitives and the existing shadcn/ui component set in `src/components/ui/`.
43- Avoid adding new third-party UI libraries without discussion.
44- Use Tailwind utility classes for all styling; avoid inline `style` props except for dynamic values that cannot be expressed as utilities.
45 
46**Routing**
47- Use React Router v6 `<Link>` and `useNavigate` — do not use `window.location` for in-app navigation.
48 
49**Canonical example:** @apps/dashboard/src/components/environments/edit-environment-sheet.tsx
50 
@@ −1 +1 @@
11 ---
2−description:
3−globs:
4−alwaysApply: true
2+description: Rules for working in the Dashboard (React frontend)
3+globs: apps/dashboard/**/*
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+## Dashboard
8+ 
9+**Stack:** React 19 + Vite + TypeScript · Radix UI · Tailwind CSS · shadcn/ui · TanStack Query · React Router · motion/react · port 4201
10+ 
11+**Run:** Do not build or start the dashboard — the user already has it running on port 4201. Check types via Cursor diagnostics.
12+ 
13+**Tests/lint:** see testing.mdc
14+ 
15+**Key directories:**
16+```
17+apps/dashboard/src/components/ # Shared UI components
18+apps/dashboard/src/pages/ # Route-level page components
19+apps/dashboard/src/hooks/ # Custom React hooks
20+apps/dashboard/src/api/ # API client and query definitions
21+apps/dashboard/src/ee/ # Enterprise-only features
22+```
23+ 
24+**Agent sign-in:** A default user and org are pre-seeded. In Cursor cloud agent environments (`apps/dashboard/.env.agent`), the dashboard auto signs in — open `http://localhost:4201` and wait for redirect; do not type credentials unless auto sign-in fails.
25+ 
26+| Field | Value |
27+|-------|-------|
28+| Email | `agent@novu.co` |
29+| Password | `Agent123!@#` |
30+| Organization | `Agent Organization` |
31+ 
32+---
33+ 
34+### Dashboard Conventions
35+ 
36+**Data fetching**
37+- Use TanStack Query (`useQuery`, `useMutation`) for all server state — do not use `useEffect` + `fetch` directly.
38+- Co-locate query keys and fetcher functions in `src/api/` or alongside the feature they belong to.
39+- Invalidate related queries after mutations; do not manually update the cache unless necessary for optimistic UI.
40+ 
41+**UI components**
42+- Build on Radix UI primitives and the existing shadcn/ui component set in `src/components/ui/`.
43+- Avoid adding new third-party UI libraries without discussion.
44+- Use Tailwind utility classes for all styling; avoid inline `style` props except for dynamic values that cannot be expressed as utilities.
45+ 
46+**Routing**
47+- Use React Router v6 `<Link>` and `useNavigate` — do not use `window.location` for in-app navigation.
48+ 
49+**Canonical example:** @apps/dashboard/src/components/environments/edit-environment-sheet.tsx
1450  
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