RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/novuhq-novu-cursor-rules-clickhouse ↔ novuhq-novu-agents

Comparison

A · Cursor rules · novuhq/novuB · AGENTS.md · novuhq/novu
What each file covers, counted
DimensionSharedOnly in AOnly in BOverlap
Sections0190%
Commands0020%
Section tags0130%

What each file covers

Sections

0 shared · 1 only in A · 9 only in B
  • − ClickHouse Conventions
  • + AGENTS.md
  • + Cursor Cloud specific instructions
  • + Build
  • + AI Boundaries
  • + Always
  • + Ask First
  • + Never
  • + Developer-local agent config
  • + Novu Distribution

Commands

0 shared · 0 only in A · 2 only in B
  • + pnpm setup:agent
  • + pnpm build

Section tags

0 shared · 1 only in A · 3 only in B
  • − code-style
  • + build
  • + do-not
  • + agent-behaviour

Line diff

+38 added−22 removed6 unchanged13.6% identical
novuhq/novu · .cursor/rules/clickhouse.mdc
@@ −1 @@
1---
2description: Rules for working with ClickHouse analytics and trace logging
3globs:
4 - "**/analytic-logs/**"
5 - "**/clickhouse-migrations/**"
6alwaysApply: false
7---
8 
9### ClickHouse Conventions
10 
11**Service layer**
12- Use `ClickHouseService` for single queries/inserts and `ClickHouseBatchService` for high-throughput writes.
13- Both are registered as custom providers (`clickHouseService`, `clickHouseBatchService`) in each app's `shared.module.ts`.
14- Never instantiate ClickHouse clients directly — always inject the providers.
15 
16**Repositories**
17- All ClickHouse repositories extend `LogRepository` in `libs/application-generic/src/services/analytic-logs/`.
18- Each repository has a corresponding schema file defining the table columns and types.
19- Always include `_environmentId` and `_organizationId` in queries for tenant isolation (same pattern as MongoDB DAL).
20 
21**Migrations**
22- ClickHouse migrations are numbered `.sql` files in `apps/api/migrations/clickhouse-migrations/`.
23- Run locally with `cd apps/api && pnpm run clickhouse:migrate:local`.
24- New migrations must be additive — never alter or drop columns that existing queries depend on. Use temp tables and exchange patterns for schema refactors (see migration 4/5 for the established pattern).
25 
26**Feature flags**
27- Gate new ClickHouse-dependent behavior behind a feature flag (see `packages/shared/src/types/feature-flags.ts` for existing flags like `IS_CLICKHOUSE_BATCHING_ENABLED`).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28 
novuhq/novu · AGENTS.md
@@ +1 @@
1# AGENTS.md
 
 
 
 
 
 
2 
3## Cursor Cloud specific instructions
4 
5`pnpm setup:agent` has already been run. Do not run it again. The environment is fully configured: dependencies installed, enterprise packages linked, project built, `.env` files in place, Docker services running, and a default user/org seeded. The dashboard auto signs in the pre-seeded agent user when opened in the browser (no manual login unless auto sign-in fails).
 
 
 
6 
7## Build
 
 
 
8 
9Run `pnpm build` after changes to `packages/` or `enterprise/`. Direct changes to `apps/` do not require a rebuild.
 
 
 
10 
11## AI Boundaries
12 
13### Always
14- Work within: `apps/api`, `apps/dashboard`, `apps/worker`, `apps/ws`
15- Use shared packages: `packages/shared`, `packages/framework`, `packages/js`, `packages/react`
16- Follow `libs/dal` for data access, `libs/application-generic` for business logic
17 
18### Ask First
19- Before creating new UI components not in `apps/dashboard/src/components/`
20- Before adding npm dependencies
21- Before modifying MongoDB models, ClickHouse table definitions, or anything in `enterprise/` or `packages/providers/`
22 
23### Never
24- Inactive apps — do not touch, unless monorepo wide refactor: `apps/webhook`
25- Auto-generated — never edit: `libs/internal-sdk`
26- UI: reuse existing Radix/shadcn components only; do not copy patterns from `playground/` into production code
27- If doing a monorepo wide refactor, you can touch the read only, but only when necessary.
28 
29 
30## Developer-local agent config
31 
32If a **`.agents-local/`** directory exists in your working copy, read **`.agents-local/README.md`** first for personal, git-ignored agent configuration, skills and rules. Absence of the directory is normal.
33 
34## Novu Distribution
35Novu is distributed in 3 modes, Community Edition, Enterprise Cloud Edition, and On-Prem Enterprise Edition.
36 
37When making changes targeted to the Enterprise distribution, we need to make sure that the changes are not breaking the Community edition, and are properly gated behind a flag, or the novu enterpise env variables. Similarly when some changes are only targeting the Cloud, self-hosted on prem should not be affected.
38 
39<!-- Infrastructure & services: see .cursor/rules/infrastructure.mdc -->
40<!-- Dependency graph: see .cursor/rules/dependency-graph.mdc -->
41<!-- Testing: see .cursor/rules/testing.mdc -->
42<!-- PR format: see .cursor/rules/pullrequest.mdc -->
43<!-- Enterprise submodule: see .cursor/skills/enterprise-submodule/SKILL.md -->
44 
@@ −1 +1 @@
1−---
2−description: Rules for working with ClickHouse analytics and trace logging
3−globs:
4− - "**/analytic-logs/**"
5− - "**/clickhouse-migrations/**"
6−alwaysApply: false
7−---
1+# AGENTS.md
82  
9−### ClickHouse Conventions
3+## Cursor Cloud specific instructions
104  
11−**Service layer**
12−- Use `ClickHouseService` for single queries/inserts and `ClickHouseBatchService` for high-throughput writes.
13−- Both are registered as custom providers (`clickHouseService`, `clickHouseBatchService`) in each app's `shared.module.ts`.
14−- Never instantiate ClickHouse clients directly — always inject the providers.
5+`pnpm setup:agent` has already been run. Do not run it again. The environment is fully configured: dependencies installed, enterprise packages linked, project built, `.env` files in place, Docker services running, and a default user/org seeded. The dashboard auto signs in the pre-seeded agent user when opened in the browser (no manual login unless auto sign-in fails).
156  
16−**Repositories**
17−- All ClickHouse repositories extend `LogRepository` in `libs/application-generic/src/services/analytic-logs/`.
18−- Each repository has a corresponding schema file defining the table columns and types.
19−- Always include `_environmentId` and `_organizationId` in queries for tenant isolation (same pattern as MongoDB DAL).
7+## Build
208  
21−**Migrations**
22−- ClickHouse migrations are numbered `.sql` files in `apps/api/migrations/clickhouse-migrations/`.
23−- Run locally with `cd apps/api && pnpm run clickhouse:migrate:local`.
24−- New migrations must be additive — never alter or drop columns that existing queries depend on. Use temp tables and exchange patterns for schema refactors (see migration 4/5 for the established pattern).
9+Run `pnpm build` after changes to `packages/` or `enterprise/`. Direct changes to `apps/` do not require a rebuild.
2510  
26−**Feature flags**
27−- Gate new ClickHouse-dependent behavior behind a feature flag (see `packages/shared/src/types/feature-flags.ts` for existing flags like `IS_CLICKHOUSE_BATCHING_ENABLED`).
11+## AI Boundaries
12+ 
13+### Always
14+- Work within: `apps/api`, `apps/dashboard`, `apps/worker`, `apps/ws`
15+- Use shared packages: `packages/shared`, `packages/framework`, `packages/js`, `packages/react`
16+- Follow `libs/dal` for data access, `libs/application-generic` for business logic
17+ 
18+### Ask First
19+- Before creating new UI components not in `apps/dashboard/src/components/`
20+- Before adding npm dependencies
21+- Before modifying MongoDB models, ClickHouse table definitions, or anything in `enterprise/` or `packages/providers/`
22+ 
23+### Never
24+- Inactive apps — do not touch, unless monorepo wide refactor: `apps/webhook`
25+- Auto-generated — never edit: `libs/internal-sdk`
26+- UI: reuse existing Radix/shadcn components only; do not copy patterns from `playground/` into production code
27+- If doing a monorepo wide refactor, you can touch the read only, but only when necessary.
28+ 
29+ 
30+## Developer-local agent config
31+ 
32+If a **`.agents-local/`** directory exists in your working copy, read **`.agents-local/README.md`** first for personal, git-ignored agent configuration, skills and rules. Absence of the directory is normal.
33+ 
34+## Novu Distribution
35+Novu is distributed in 3 modes, Community Edition, Enterprise Cloud Edition, and On-Prem Enterprise Edition.
36+ 
37+When making changes targeted to the Enterprise distribution, we need to make sure that the changes are not breaking the Community edition, and are properly gated behind a flag, or the novu enterpise env variables. Similarly when some changes are only targeting the Cloud, self-hosted on prem should not be affected.
38+ 
39+<!-- Infrastructure & services: see .cursor/rules/infrastructure.mdc -->
40+<!-- Dependency graph: see .cursor/rules/dependency-graph.mdc -->
41+<!-- Testing: see .cursor/rules/testing.mdc -->
42+<!-- PR format: see .cursor/rules/pullrequest.mdc -->
43+<!-- Enterprise submodule: see .cursor/skills/enterprise-submodule/SKILL.md -->
2844  
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