# Create it touch CLAUDE.md COMMAND_BLOCK: # Create it touch CLAUDE.md COMMAND_BLOCK: # Create it touch CLAUDE.md COMMAND_BLOCK: # Project: PaymentService Node.js microservice handling Stripe webhooks and subscription state. Part of a larger monorepo. This -weight: 500;">service owns the `payments` database schema. Do NOT modify anything outside /src/payments/. COMMAND_BLOCK: # Project: PaymentService Node.js microservice handling Stripe webhooks and subscription state. Part of a larger monorepo. This -weight: 500;">service owns the `payments` database schema. Do NOT modify anything outside /src/payments/. COMMAND_BLOCK: # Project: PaymentService Node.js microservice handling Stripe webhooks and subscription state. Part of a larger monorepo. This -weight: 500;">service owns the `payments` database schema. Do NOT modify anything outside /src/payments/. COMMAND_BLOCK:
Stack - Node.js 20.x (NOT 18.x) - TypeScript 5.4 with strict mode - Prisma 5.x for database (NOT raw SQL) - Jest for testing (NOT Vitest) - pnpm (NOT -weight: 500;">npm or yarn) COMMAND_BLOCK:
Stack - Node.js 20.x (NOT 18.x) - TypeScript 5.4 with strict mode - Prisma 5.x for database (NOT raw SQL) - Jest for testing (NOT Vitest) - pnpm (NOT -weight: 500;">npm or yarn) COMMAND_BLOCK:
Stack - Node.js 20.x (NOT 18.x) - TypeScript 5.4 with strict mode - Prisma 5.x for database (NOT raw SQL) - Jest for testing (NOT Vitest) - pnpm (NOT -weight: 500;">npm or yarn) COMMAND_BLOCK:
Conventions - Always use async/await, never .then() chains - Error handling: always use Result<T, E> pattern, never throw - All database calls go through /src/db/client.ts - never import Prisma directly - Functions max 30 lines. If longer, break into helpers. - No comments that explain WHAT the code does. Comments explain WHY. COMMAND_BLOCK:
Conventions - Always use async/await, never .then() chains - Error handling: always use Result<T, E> pattern, never throw - All database calls go through /src/db/client.ts - never import Prisma directly - Functions max 30 lines. If longer, break into helpers. - No comments that explain WHAT the code does. Comments explain WHY. COMMAND_BLOCK:
Conventions - Always use async/await, never .then() chains - Error handling: always use Result<T, E> pattern, never throw - All database calls go through /src/db/client.ts - never import Prisma directly - Functions max 30 lines. If longer, break into helpers. - No comments that explain WHAT the code does. Comments explain WHY. COMMAND_BLOCK:
Do NOT - Do NOT add console.log for debugging (use the logger utility) - Do NOT modify /src/legacy/ - this is frozen code - Do NOT -weight: 500;">install new packages without asking first - Do NOT use `any` type in TypeScript - Do NOT add TODO comments - if it needs doing, do it now or create a GitHub issue COMMAND_BLOCK:
Do NOT - Do NOT add console.log for debugging (use the logger utility) - Do NOT modify /src/legacy/ - this is frozen code - Do NOT -weight: 500;">install new packages without asking first - Do NOT use `any` type in TypeScript - Do NOT add TODO comments - if it needs doing, do it now or create a GitHub issue COMMAND_BLOCK:
Do NOT - Do NOT add console.log for debugging (use the logger utility) - Do NOT modify /src/legacy/ - this is frozen code - Do NOT -weight: 500;">install new packages without asking first - Do NOT use `any` type in TypeScript - Do NOT add TODO comments - if it needs doing, do it now or create a GitHub issue COMMAND_BLOCK:
Current focus Migrating from Stripe v2 webhooks to v3. Reference: /docs/stripe-v3-migration.md Known issue: webhook deduplication is broken in production. Fix is in PR #447. Do NOT touch the deduplication code until PR #447 is merged. COMMAND_BLOCK:
Current focus Migrating from Stripe v2 webhooks to v3. Reference: /docs/stripe-v3-migration.md Known issue: webhook deduplication is broken in production. Fix is in PR #447. Do NOT touch the deduplication code until PR #447 is merged. COMMAND_BLOCK:
Current focus Migrating from Stripe v2 webhooks to v3. Reference: /docs/stripe-v3-migration.md Known issue: webhook deduplication is broken in production. Fix is in PR #447. Do NOT touch the deduplication code until PR #447 is merged. COMMAND_BLOCK: your-project/ ├── CLAUDE.md # Global project rules ├── src/ │ ├── payments/ │ │ └── CLAUDE.md # Payment-specific rules │ └── auth/ │ └── CLAUDE.md # Auth-specific rules COMMAND_BLOCK: your-project/ ├── CLAUDE.md # Global project rules ├── src/ │ ├── payments/ │ │ └── CLAUDE.md # Payment-specific rules │ └── auth/ │ └── CLAUDE.md # Auth-specific rules COMMAND_BLOCK: your-project/ ├── CLAUDE.md # Global project rules ├── src/ │ ├── payments/ │ │ └── CLAUDE.md # Payment-specific rules │ └── auth/ │ └── CLAUDE.md # Auth-specific rules COMMAND_BLOCK:
Architecture See /docs/architecture.md for the full system diagram. Key constraint: all external API calls go through /src/gateway/ — never directly. COMMAND_BLOCK:
Architecture See /docs/architecture.md for the full system diagram. Key constraint: all external API calls go through /src/gateway/ — never directly. COMMAND_BLOCK:
Architecture See /docs/architecture.md for the full system diagram. Key constraint: all external API calls go through /src/gateway/ — never directly. COMMAND_BLOCK: # Project: [NAME] [2-3 sentence description of what this does and what it owns]
Stack - [Runtime + version] - [Language + version] - [Key frameworks + versions] - [Test framework] - [Package manager]
Conventions - [Async pattern] - [Error handling pattern] - [File organization rule] - [Naming conventions]
Do NOT - [Most common mistake #1] - [Most common mistake #2] - [Frozen files/directories]
Current focus [What's happening this week. Update every Monday.] [Active PRs that Claude should know about] [Known issues Claude should avoid touching] COMMAND_BLOCK: # Project: [NAME] [2-3 sentence description of what this does and what it owns]
Stack - [Runtime + version] - [Language + version] - [Key frameworks + versions] - [Test framework] - [Package manager]
Conventions - [Async pattern] - [Error handling pattern] - [File organization rule] - [Naming conventions]
Do NOT - [Most common mistake #1] - [Most common mistake #2] - [Frozen files/directories]
Current focus [What's happening this week. Update every Monday.] [Active PRs that Claude should know about] [Known issues Claude should avoid touching] COMMAND_BLOCK: # Project: [NAME] [2-3 sentence description of what this does and what it owns]
Stack - [Runtime + version] - [Language + version] - [Key frameworks + versions] - [Test framework] - [Package manager]
Conventions - [Async pattern] - [Error handling pattern] - [File organization rule] - [Naming conventions]
Do NOT - [Most common mistake #1] - [Most common mistake #2] - [Frozen files/directories]
Current focus [What's happening this week. Update every Monday.] [Active PRs that Claude should know about] [Known issues Claude should avoid touching]