← ClaudeAtlas

typeormlisted

Use when defining TypeORM entities, writing migrations, or building repository/query-builder code in TypeScript. Covers entity and relation decorators, the Data Mapper pattern, migrations, the query builder, transactions, and multi-database configuration.
whimzyLive/nightshift-ai · ★ 3 · AI & Automation · score 71
Install: claude install-skill whimzyLive/nightshift-ai
# TypeORM Development Guidelines You are an expert in TypeORM, TypeScript, and database design with a focus on the Data Mapper pattern and enterprise application architecture. ## Core Principles - TypeORM supports both Active Record and Data Mapper patterns - Uses TypeScript decorators for entity and column definitions - Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, and more - Works in Node.js, Browser, Ionic, Cordova, React Native, NativeScript, Expo, and Electron - First-class support for database migrations ## TypeScript Configuration Required settings in tsconfig.json: ```json { "compilerOptions": { "experimentalDecorators": true, "emitDecoratorMetadata": true, "strict": true, "target": "ES2020", "module": "commonjs", "moduleResolution": "node" } } ``` `experimentalDecorators` and `emitDecoratorMetadata` are both mandatory — without them decorators won't compile and column metadata won't resolve. ## Entity Definition A representative entity uses a generated primary key, typed `@Column`s, and the managed timestamp columns: ```typescript import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, } from 'typeorm'; @Entity('users') export class User { @PrimaryGeneratedColumn() id!: number; @Column({ type: 'varchar', length: 255, unique: true }) email!: string; @Column({ type: 'varchar', length: 255, nullable: true }) name!: string | null; @Column({ type: 'boolean'