22
33This file provides guidance to coding agents when working with code in this repository.
44
5+ ## Prerequisites
6+
7+ - ** Node.js** : 22.16.0 (managed via Volta)
8+ - ** Package Manager** : pnpm 9.14.4
9+
510## Essential Commands
611
712** Development:**
8- - ` pnpm run dev ` - Start API server with hot reload on port 5000
13+ - ` pnpm run dev ` - Start API server with hot reload on port 3000
914- ` pnpm run dev:background ` - Start background processor
1015- ` pnpm run dev:temporal-worker ` - Start Temporal worker
1116- ` pnpm run dev:temporal-server ` - Start Temporal server for local development
@@ -35,15 +40,17 @@ This file provides guidance to coding agents when working with code in this repo
3540- ** Mercurius** - GraphQL server with caching, upload support, and subscriptions
3641- ** TypeORM** - Database ORM with entity-based modeling and migrations
3742- ** PostgreSQL** - Primary database with master/slave replication setup. Favor read replica when you're ok with eventually consistent data.
38- - ** Redis** - Caching and pub/sub via ioRedisPool
43+ - ** Redis** - Caching and pub/sub via ` @dailydotdev/ts-ioredis-pool `
3944- ** Temporal** - Workflow orchestration for background jobs
4045- ** ClickHouse** - Analytics and metrics storage
4146
4247** Application Entry Points:**
4348- ` src/index.ts ` - Main Fastify server setup with GraphQL, auth, and middleware
44- - ` bin/cli.ts ` - CLI dispatcher supporting api, background, temporal, cron modes
49+ - ` bin/cli.ts ` - CLI dispatcher supporting api, background, temporal, cron, personalized-digest modes
4550- ` src/background.ts ` - Pub/Sub message handlers and background processing
4651- ` src/cron.ts ` - Scheduled task execution
52+ - ` src/temporal/ ` - Temporal workflow definitions and workers
53+ - ` src/commands/ ` - Standalone command implementations (e.g., personalized digest)
4754
4855** GraphQL Schema Organization:**
4956- ` src/graphql.ts ` - Combines all schema modules with transformers and directives
@@ -71,11 +78,12 @@ This file provides guidance to coding agents when working with code in this repo
7178
7279** Business Domains:**
7380- ** Content** : Posts, comments, bookmarks, feeds, sources
74- - ** Users** : Authentication, preferences, profiles, user experience
75- - ** Organizations** : Squad management, member roles, campaigns
81+ - ** Users** : Authentication, preferences, profiles, user experience, streaks
82+ - ** Squads** : Squad management, member roles, public requests
83+ - ** Organizations** : Organization management, campaigns
7684- ** Notifications** : Push notifications, email digests, alerts
77- - ** Monetization** : Paddle subscription management, premium features
78- - ** Squads ** : Squad management, member roles, campaigns
85+ - ** Monetization** : Paddle subscription management, premium features, cores/transactions
86+ - ** Opportunities ** : Job matching, recruiter features, candidate profiles
7987
8088** Testing Strategy:**
8189- Jest with supertest for integration testing
@@ -88,4 +96,10 @@ This file provides guidance to coding agents when working with code in this repo
8896- GrowthBook for feature flags and A/B testing
8997- OneSignal for push notifications
9098- Temporal workflows for async job processing
91- - Rate limiting and caching at multiple layers
99+ - Rate limiting and caching at multiple layers
100+
101+ ** Infrastructure as Code:**
102+ - ` .infra/ ` - Pulumi configuration for deployment
103+ - ` .infra/crons.ts ` - Cron job schedules and resource limits
104+ - ` .infra/common.ts ` - Worker subscription definitions
105+ - ` .infra/index.ts ` - Main Pulumi deployment configuration
0 commit comments