Files
Rohit Ghumare 79573df7cb Initial release: 100-file Claude Code toolkit
20 specialized agents, 10 skills, 17 slash commands, 6 plugins,
12 hooks with scripts, 8 rule sets, 3 CLAUDE.md templates,
14 MCP server configs, and interactive setup installer.
2026-02-04 18:55:28 +00:00

130 lines
5.2 KiB
Markdown

# Project Name
One-line description.
## Stack
- **Language**: TypeScript 5.x
- **Framework**: Next.js 15 (App Router)
- **Database**: PostgreSQL 16 with Prisma ORM
- **Cache**: Redis 7 for sessions and query caching
- **Queue**: BullMQ for background jobs
- **Testing**: Vitest (unit), Playwright (e2e)
- **CI/CD**: GitHub Actions
- **Deployment**: Docker on AWS ECS
- **Package Manager**: pnpm
## Commands
- `pnpm install` - Install all dependencies
- `pnpm dev` - Start dev server (localhost:3000)
- `pnpm build` - Production build
- `pnpm start` - Start production server
- `pnpm test` - Unit tests
- `pnpm test:e2e` - End-to-end tests
- `pnpm test:coverage` - Coverage report
- `pnpm lint` - ESLint check
- `pnpm typecheck` - TypeScript compiler check
- `pnpm db:migrate` - Apply pending migrations
- `pnpm db:seed` - Seed database with test data
- `pnpm db:studio` - Open Prisma Studio
- `pnpm docker:build` - Build Docker image
- `pnpm docker:run` - Run Docker container locally
## Project Structure
```
src/
app/ - Next.js pages, layouts, API routes
components/
ui/ - Primitive UI components (Button, Input, Modal)
features/ - Feature-specific composed components
lib/
auth/ - Authentication logic and middleware
db/ - Database client, repositories, queries
cache/ - Redis client and caching utilities
queue/ - Background job definitions and processors
utils/ - Pure utility functions
server/
api/ - API route handlers
middleware/ - Express-style middleware (auth, rate-limit, validation)
services/ - Business logic layer (orchestrates repositories)
types/ - Shared TypeScript interfaces and enums
prisma/
schema.prisma - Database schema
migrations/ - Migration files
tests/
unit/ - Unit tests mirroring src/ structure
e2e/ - Playwright test specs
fixtures/ - Shared test data and factories
scripts/ - Build, deploy, and maintenance scripts
```
## Architecture
- **Layered architecture**: Handler -> Service -> Repository -> Database
- **Dependency injection** via constructor parameters, no DI container
- **Repository pattern** for all data access (no raw Prisma calls in services)
- **Result type** for error handling in services (no thrown exceptions in business logic)
- **Event-driven** background processing via BullMQ for emails, notifications, reports
## Conventions
### Code Style
- No `any` types. Use `unknown` + type guards or generics.
- Maximum 40 lines per function. Extract helpers with descriptive names.
- Maximum 3 parameters per function. Use options object for more.
- No magic numbers. Extract named constants.
- No nested ternaries. Use if/else or early returns.
- Import order: stdlib, external, internal absolute, relative, types.
### API Design
- RESTful: plural nouns, standard HTTP methods and status codes.
- Response shape: `{ data, error, meta }` for all endpoints.
- Cursor-based pagination: `?cursor=abc&limit=20`.
- Rate limiting: 100 req/min for public, 1000 req/min for authenticated.
- All inputs validated with Zod at the handler level.
### Database
- All queries go through repositories. Services never import Prisma directly.
- Migrations are forward-only and reversible.
- Indexes on all foreign keys and columns used in WHERE/ORDER BY.
- Soft delete (`deletedAt` timestamp) for user-facing entities.
### Testing
- 80% line coverage, 75% branch coverage minimum.
- Unit tests for services and utilities.
- Integration tests for repositories (against test database).
- E2E tests for critical user flows (auth, core CRUD, payment).
- No skipped tests in CI. Fix or remove.
### Git
- Conventional commits: `type(scope): subject`.
- Feature branches from main. Squash merge PRs.
- No force push to main. No direct commits to main.
- All PRs require one approval and passing CI.
## Environment Variables
- `DATABASE_URL` - PostgreSQL connection string
- `REDIS_URL` - Redis connection string
- `NEXTAUTH_SECRET` - Auth encryption key
- `NEXTAUTH_URL` - Base URL for auth
- `AWS_REGION` - AWS region for services
- `S3_BUCKET` - File upload bucket
- `SMTP_HOST` / `SMTP_PORT` / `SMTP_USER` / `SMTP_PASS` - Email config
- `SENTRY_DSN` - Error tracking
## Subagent Instructions
- **Security audit**: Focus on OWASP Top 10, check auth middleware, input validation, SQL injection.
- **Performance review**: Check N+1 queries, missing indexes, unbounded queries, large payloads.
- **Test generation**: Follow existing patterns in tests/ directory, use factories from fixtures/.
- **Documentation**: Update this file when architecture or conventions change.
## Memory Bank
- Track decisions made during the session in a `## Session Notes` section.
- Before compaction, save the current task state and any pending items.
- On session start, check `## Session Notes` for context from previous sessions.
## Key Decisions Log
| Date | Decision | Rationale |
|------|----------|-----------|
| YYYY-MM-DD | Chose Prisma over Drizzle | Team familiarity, migration tooling |
| YYYY-MM-DD | Cursor pagination over offset | Performance at scale, no skipped rows |
| YYYY-MM-DD | BullMQ over Temporal | Simpler for current scale, lower ops overhead |