RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/novuhq-novu-cursor-rules-pullrequest ↔ 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 tags0210%

What each file covers

Sections

0 shared · 1 only in A · 2 only in B
  • − Pull Request Rules
  • + Dashboard
  • + Dashboard Conventions

Commands

neither file has any

Section tags

0 shared · 2 only in A · 1 only in B
  • − git-pr
  • − do-not
  • + code-style

Line diff

+39 added−8 removed11 unchanged22.0% identical
novuhq/novu · .cursor/rules/pullrequest.mdc
@@ −1 @@
1---
2description: When creating a new pull request on GitHub, use this to specify the contents
 
3alwaysApply: false
4---
5 
6### Pull Request Rules
7 
8**Title format**: `type(scope): Description fixes NOV-<ticket-id>`
9 
10- When creating a pull requests from any run, verify that there is a linear ticket associated with the pr (From branch name or other), if not, create the linear ticket before creating the PR and attach the linear ticket id in title (fixes NV-XXX)
11- Examples: `feat(dashboard): add workflow trigger button fixes NOV-123`, `fix(api-service): handle null subscriber case fixes NOV-456`
12 
 
13 
14**Scopes**: `dashboard`, `api-service`, `worker`, `shared`, `js`, `react`, `react-native`, `nextjs`, `providers`, `root`, `docs`
 
 
 
 
 
 
 
15 
16**Description**: Summarize what changed and why. List breaking changes. Add screenshots for UI changes. For non-trivial logic or architecture changes, include a concise Mermaid diagram (flow, sequence, or component) so reviewers can grasp the change at a glance.
17 
18**Enterprise packages**: When changes touch `enterprise/`, also open a matching PR in `novuhq/packages-enterprise` on a branch from `next`, and cross-link the two PR bodies (monorepo ↔ enterprise). The Validate Submodule Sync test will fail; this is expected when pointing to the `.source` submodule in the novuhq/novu repository. Do not fix it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19 
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: When creating a new pull request on GitHub, use this to specify the contents
2+description: Rules for working in the Dashboard (React frontend)
3+globs: apps/dashboard/**/*
34 alwaysApply: false
45 ---
56  
6−### Pull Request Rules
7+## Dashboard
78  
8−**Title format**: `type(scope): Description fixes NOV-<ticket-id>`
9+**Stack:** React 19 + Vite + TypeScript · Radix UI · Tailwind CSS · shadcn/ui · TanStack Query · React Router · motion/react · port 4201
910  
10−- When creating a pull requests from any run, verify that there is a linear ticket associated with the pr (From branch name or other), if not, create the linear ticket before creating the PR and attach the linear ticket id in title (fixes NV-XXX)
11−- Examples: `feat(dashboard): add workflow trigger button fixes NOV-123`, `fix(api-service): handle null subscriber case fixes NOV-456`
11+**Run:** Do not build or start the dashboard — the user already has it running on port 4201. Check types via Cursor diagnostics.
1212  
13+**Tests/lint:** see testing.mdc
1314  
14−**Scopes**: `dashboard`, `api-service`, `worker`, `shared`, `js`, `react`, `react-native`, `nextjs`, `providers`, `root`, `docs`
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+```
1523  
16−**Description**: Summarize what changed and why. List breaking changes. Add screenshots for UI changes. For non-trivial logic or architecture changes, include a concise Mermaid diagram (flow, sequence, or component) so reviewers can grasp the change at a glance.
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.
1725  
18−**Enterprise packages**: When changes touch `enterprise/`, also open a matching PR in `novuhq/packages-enterprise` on a branch from `next`, and cross-link the two PR bodies (monorepo ↔ enterprise). The Validate Submodule Sync test will fail; this is expected when pointing to the `.source` submodule in the novuhq/novu repository. Do not fix it.
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
1950  
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