| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 5 | 8 | 0% |
| Commands | 0 | 0 | 0 | — |
| Section tags | 1 | 0 | 2 | 33% |
What each file covers
Sections
0 shared · 5 only in A · 8 only in B- − NOWCRM Architecture
- − Tech Stack
- − app Structure
- − library Structure
- − Key Principles
- + File Structure Guidelines
- + Directory Organization
- + File Naming
- + Index Files & Barrel Exports
- + File Size Guidelines
- + Configuration Files
- + Project Configuration
- + Build Configuration
Commands
neither file has anySection tags
1 shared · 0 only in A · 2 only in B- + build
- + code-style
- architecture
Line diff
nowtec/nowCRM · .cursor/rules/architecture.mdc
@@ −1 @@
1---
2description: NOWCRM architecture overview - monorepo structure, tech stack, and development principles
3globs: []
4alwaysApply: true
5---
6
7# NOWCRM Architecture
8
9## Tech Stack
10- **Frontend**: React 19, TypeScript, NextJs 15, ShadCN components
11- **Backend**: Nodejs, PostgreSQL, Redis, Rabbitmq
12- **Monorepo**: pnpm workspace with docker composer
13
14## app Structure
15```
16./
17├── nowcrm/ # Nextjs front app
18├── dal/ # Orchestrates heavy asynchronous or bulk operations using BullMQ.
19├── composer/ # Handles content generation, channel dispatch, and AWS SES event ingestion. |
20├── journeys/ # Manages automated multi-step marketing journeys.
21└── strapi/ # Headless CMS used as the universal data backend, authentication layer, and admin panel.
22```
23
24## library Structure
25```
26./
27├── services/ # Handle types, services which talks withs strapi and common functions
28```
29
30## Key Principles
31- **Functional components only** (no classes)
32- **Named exports only** (no default exports)
33- **Types over interfaces** (except for extending third-party)
34- **String literals over enums**
35- **No 'any' type allowed**
36- **Event handlers over useEffect** for state updates
nowtec/nowCRM · .cursor/rules/file-structure.mdc
@@ +1 @@
1---
2description: File structure guidelines for NOWCRM
3globs: []
4alwaysApply: true
5---
6# File Structure Guidelines
7
8## Directory Organization
9```
10apps/nowcrm/
11├── components/ # Reusable UI components
12├── app/ # Route components
13├── i18n/ # I18N configuration
14├── lib/ # Handling server actions and different utils
15├── hooks/ # Custom hooks
16├── types/ # Type definitions
17└── messages/ # I18N jsons for each language
18
19apps/composer/src/
20├── api/ # Api routes
21├── api-docs/ # Handling api routes setup
22├── common/ # Common and reused utils
23├── lib/ # Functions, types and workers
24└── scheduler/ # Scheduler which are integrated with composer calendar
25
26apps/journeys/src/
27├── api/ # Handling webhooks api routes for journeys
28├── common/ # Common and reused utils
29├── consumers/ # All journeys consumers setup
30├── cron/ # Cron jobs which acts as a producer to create new jobs
31├── jobs/ # All job configuration
32├── lib/ # Functions, types and workers
33└── rabbitmq/ # Rabbitmq setup
34```
35
36## File Naming
37- **kebab-case** for all files and directories
38- **Descriptive suffixes** for clarity
39```
40// ✅ Correct naming
41user.tsx
42user.component.tsx
43user.service.ts
44user.test.tsx
45```
46
47## Index Files & Barrel Exports
48```typescript
49// ✅ Clean barrel exports in index.ts
50export { UserCard } from './user-card.component';
51export { UserList } from './user-list.component';
52export type { UserCardProps, UserListProps } from './types';
53
54// ✅ Usage - clean imports
55import { UserCard, UserList } from '@/components/user';
56```
57
58## File Size Guidelines
59- **Components**: Under 300 lines if possible
60- **Services**: Under 500 lines if possible
61- **Extract logic** into hooks/utilities when files grow large
62- **Use composition** over large monolithic components
63
64## Configuration Files
65
66### Project Configuration
67```
68.vscode/ # VSCode settings
69├── settings.json
70├── extensions.json
71└── launch.json
72
73.github/ # GitHub workflows
74├── workflows/
75└── templates/
76
77.cursor/ # Cursor rules
78├── rules/
79└── environment.json
80```
81
82### Build Configuration
83- Keep build configs in root or package directories
84- Use consistent naming for config files
85- Comment complex configurations
86- Version control all configuration files
@@ −1 +1 @@
11 ---
2−description: NOWCRM architecture overview - monorepo structure, tech stack, and development principles
2+description: File structure guidelines for NOWCRM
33 globs: []
44 alwaysApply: true
55 ---
6+# File Structure Guidelines
67
7−# NOWCRM Architecture
8+## Directory Organization
9+```
10+apps/nowcrm/
11+├── components/ # Reusable UI components
12+├── app/ # Route components
13+├── i18n/ # I18N configuration
14+├── lib/ # Handling server actions and different utils
15+├── hooks/ # Custom hooks
16+├── types/ # Type definitions
17+└── messages/ # I18N jsons for each language
818
9−## Tech Stack
10−- **Frontend**: React 19, TypeScript, NextJs 15, ShadCN components
11−- **Backend**: Nodejs, PostgreSQL, Redis, Rabbitmq
12−- **Monorepo**: pnpm workspace with docker composer
19+apps/composer/src/
20+├── api/ # Api routes
21+├── api-docs/ # Handling api routes setup
22+├── common/ # Common and reused utils
23+├── lib/ # Functions, types and workers
24+└── scheduler/ # Scheduler which are integrated with composer calendar
1325
14−## app Structure
26+apps/journeys/src/
27+├── api/ # Handling webhooks api routes for journeys
28+├── common/ # Common and reused utils
29+├── consumers/ # All journeys consumers setup
30+├── cron/ # Cron jobs which acts as a producer to create new jobs
31+├── jobs/ # All job configuration
32+├── lib/ # Functions, types and workers
33+└── rabbitmq/ # Rabbitmq setup
1534 ```
16−./
17−├── nowcrm/ # Nextjs front app
18−├── dal/ # Orchestrates heavy asynchronous or bulk operations using BullMQ.
19−├── composer/ # Handles content generation, channel dispatch, and AWS SES event ingestion. |
20−├── journeys/ # Manages automated multi-step marketing journeys.
21−└── strapi/ # Headless CMS used as the universal data backend, authentication layer, and admin panel.
35+
36+## File Naming
37+- **kebab-case** for all files and directories
38+- **Descriptive suffixes** for clarity
2239 ```
40+// ✅ Correct naming
41+user.tsx
42+user.component.tsx
43+user.service.ts
44+user.test.tsx
45+```
2346
24−## library Structure
47+## Index Files & Barrel Exports
48+```typescript
49+// ✅ Clean barrel exports in index.ts
50+export { UserCard } from './user-card.component';
51+export { UserList } from './user-list.component';
52+export type { UserCardProps, UserListProps } from './types';
53+
54+// ✅ Usage - clean imports
55+import { UserCard, UserList } from '@/components/user';
2556 ```
26−./
27−├── services/ # Handle types, services which talks withs strapi and common functions
57+
58+## File Size Guidelines
59+- **Components**: Under 300 lines if possible
60+- **Services**: Under 500 lines if possible
61+- **Extract logic** into hooks/utilities when files grow large
62+- **Use composition** over large monolithic components
63+
64+## Configuration Files
65+
66+### Project Configuration
2867 ```
68+.vscode/ # VSCode settings
69+├── settings.json
70+├── extensions.json
71+└── launch.json
2972
30−## Key Principles
31−- **Functional components only** (no classes)
32−- **Named exports only** (no default exports)
33−- **Types over interfaces** (except for extending third-party)
34−- **String literals over enums**
35−- **No 'any' type allowed**
36−- **Event handlers over useEffect** for state updates
73+.github/ # GitHub workflows
74+├── workflows/
75+└── templates/
76+
77+.cursor/ # Cursor rules
78+├── rules/
79+└── environment.json
80+```
81+
82+### Build Configuration
83+- Keep build configs in root or package directories
84+- Use consistent naming for config files
85+- Comment complex configurations
86+- Version control all configuration files
