EugenEistrach tanstack-boilerplate .cursorrules file for TypeScript (stars: 7)

## Project Context

A comprehensive boilerplate project to jumpstart new React applications with
modern tooling and best practices.

- Type-safe full-stack development with TanStack
- Modern authentication with GitHub/Discord SSO
- Hybrid database approach:
  - Local: Direct SQLite for development
  - Production: Turso for global distribution
- Component library with shadcn/ui
- Comprehensive testing setup

## Tech Stack

- React 19
- TanStack (Router, Query, Start)
- TypeScript
- SQLite (local) / Turso (production) with Drizzle ORM
- Better-auth with GitHub/Discord SSO
- TailwindCSS with shadcn/ui
- trigger.dev for background jobs
- Fly.io for deployment and hosting
- vitest for testing
- valibot for type-safe validation

## Code Style and Structure

- Write concise, technical TypeScript code with accurate examples
- Use functional and declarative programming patterns; avoid classes
- Prefer duplicating code over premature abstraction (Write Everything Twice
  principle)
- Use descriptive variable names with auxiliary verbs (e.g., isLoading,
  hasError)
- Structure repository files as follows:

```
src/
├── components/     # Shared UI components
├── data/          # Data layer utilities
├── drizzle/       # Database schemas and migrations
├── features/      # Feature-specific code
│   └── feature-name/
│       ├── ui/         # UI components
│       ├── api/        # Server functions + React Query
│       ├── domain/     # Business logic + DB operations
│       └── templates/  # Templates
├── hooks/         # Shared React hooks
├── lib/           # Shared utilities
├── routes/        # Route components
├── styles/        # Global styles
├── tasks/         # Background tasks
└── tests/         # Test utilities and mocks
```

## Naming Conventions

- Use lowercase with dashes for directories (e.g., components/form-wizard)
- Favor named exports for components and utilities
- Component files: component-name.tsx
- Server/API files:
  - Server logic: module-name.server.ts
  - API layer: module-name.api.ts

## Additional Documentation

Detailed guidelines for specific areas can be found in the following files:

- `docs/api.md` - API development and integration
- `docs/client.md` - Client-side and UI development
- `docs/commit-conventions.md` - Git commit message standards
- `docs/deployments.md` - Deployment procedures
- `docs/i18n.md` - Internationalization
- `docs/logging.md` - Logging standards
- `docs/routing.md` - Route creation and navigation
- `docs/server.md` - Server-side development
- `docs/unit-testing.md` - Testing guidelines
- `docs/validation.md` - Data validation patterns
- `docs/workflow.md` - Development workflows

## Initial Workflow Analysis

IMPORTANT: At the start of EVERY new conversation:

1. Read `docs/workflow.md` FIRST
2. CREATE a plan that:
   - Lists relevant workflow sections for this task
   - Explains which parts can be skipped
   - Lists implementation steps
3. Get user confirmation before proceeding

If unsure about anything, ask for clarification.
css
dockerfile
drizzle-orm
javascript
react
shadcn/ui
sqlite
tailwindcss
+3 more

First Time Repository

TypeScript

Languages:

CSS: 7.5KB
Dockerfile: 1.3KB
JavaScript: 22.6KB
TypeScript: 199.6KB
Created: 9/28/2024
Updated: 1/22/2025

All Repositories (1)