| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 8 | 5 | 0% |
| Commands | 0 | 0 | 0 | — |
| Section tags | 1 | 2 | 0 | 33% |
What each file covers
Sections
0 shared · 8 only in A · 5 only in B- − File Structure Guidelines
- − Directory Organization
- − File Naming
- − Index Files & Barrel Exports
- − File Size Guidelines
- − Configuration Files
- − Project Configuration
- − Build Configuration
- + NOWCRM Architecture
- + Tech Stack
- + app Structure
- + library Structure
- + Key Principles
Commands
neither file has anySection tags
1 shared · 2 only in A · 0 only in B- − build
- − code-style
- architecture
Line diff
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
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
@@ −1 +1 @@
11 ---
2−description: File structure guidelines for NOWCRM
2+description: NOWCRM architecture overview - monorepo structure, tech stack, and development principles
33 globs: []
44 alwaysApply: true
55 ---
6−# File Structure Guidelines
76
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
7+# NOWCRM Architecture
188
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
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
2513
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
14+## app Structure
3415 ```
35−
36−## File Naming
37−- **kebab-case** for all files and directories
38−- **Descriptive suffixes** for clarity
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.
3922 ```
40−// ✅ Correct naming
41−user.tsx
42−user.component.tsx
43−user.service.ts
44−user.test.tsx
45−```
4623
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';
24+## library Structure
5625 ```
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
26+./
27+├── services/ # Handle types, services which talks withs strapi and common functions
6728 ```
68−.vscode/ # VSCode settings
69−├── settings.json
70−├── extensions.json
71−└── launch.json
7229
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
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
