---
description: Documents type-safe API architecture and procedure definitions using tRPC for lab management system
globs: packages/api/**/*.ts,apps/web/src/client/trpc.ts,apps/web/src/components/providers/trpc-provider.tsx
alwaysApply: false
---


# trpc-architecture

## Core Router Structure
The tRPC architecture implements domain-specific routers for laboratory management:

### Consultation Router
- **File Path:** `packages/api/src/routers/consultations.ts`
- **Importance Score:** 85
- Handles sequencing consultation workflows including:
  - Multi-step consultation wizards
  - AI-driven recommendations
  - Sample analysis queuing

### User Management Router
- **File Path:** `packages/api/src/routers/user.ts`
- **Importance Score:** 75
- Manages laboratory user permissions and roles
- Tracks user experiment history and analysis quotas

## Client Integration
- **File Path:** `apps/web/src/client/trpc.ts`
- **Importance Score:** 80
- Implements laboratory-specific type inference
- Handles experiment state synchronization
- Manages real-time analysis updates

## Domain-Specific Middleware
- **File Path:** `packages/api/src/context.ts`
- **Importance Score:** 90
- Validates laboratory credentials
- Enforces sample analysis quotas
- Tracks experiment audit trails

## Type-Safe Procedures
- **File Path:** `packages/api/src/actions/**/*`
- **Importance Score:** 95
- Implements procedures for:
  - CRISPR guide RNA design
  - Sequence analysis workflows
  - Batch experiment processing
  - Result validation and verification

$END$

 If you're using this file in context, clearly say in italics in one small line that "Context added by Giga trpc-architecture".