plugins/aai-stack-typeorm/skills/typeorm-entities/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/the-answerai/alphaagent-team/blob/main/plugins/aai-stack-typeorm/skills/typeorm-entities/SKILL.md -a claude-code --skill typeorm-entitiesInstallation paths:
.claude/skills/typeorm-entities/# TypeORM Entities Skill
Patterns for defining TypeORM entities.
## Basic Entities
### Simple Entity
```typescript
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
} from 'typeorm'
@Entity('users')
export class User {
@PrimaryGeneratedColumn('uuid')
id: string
@Column({ unique: true })
email: string
@Column({ nullable: true })
name: string
@Column({ default: true })
active: boolean
@CreateDateColumn()
createdAt: Date
@UpdateDateColumn()
updatedAt: Date
}
```
### Column Types
```typescript
@Entity()
export class Example {
@PrimaryGeneratedColumn('uuid')
id: string
// Strings
@Column()
name: string
@Column({ length: 500 })
description: string
@Column('text')
longText: string
// Numbers
@Column('int')
count: number
@Column('decimal', { precision: 10, scale: 2 })
price: number
@Column('bigint')
largeNumber: string // bigint stored as string
// Boolean
@Column('boolean', { default: false })
isActive: boolean
// Dates
@Column('timestamp')
eventDate: Date
@Column('date')
birthDate: Date
// JSON
@Column('jsonb')
metadata: Record<string, any>
// Arrays (PostgreSQL)
@Column('text', { array: true })
tags: string[]
// Enum
@Column({
type: 'enum',
enum: UserRole,
default: UserRole.USER,
})
role: UserRole
}
enum UserRole {
ADMIN = 'admin',
USER = 'user',
GUEST = 'guest',
}
```
### Primary Keys
```typescript
// UUID (recommended)
@PrimaryGeneratedColumn('uuid')
id: string
// Auto-increment
@PrimaryGeneratedColumn()
id: number
// Identity (PostgreSQL)
@PrimaryGeneratedColumn('identity')
id: number
// Custom primary key
@PrimaryColumn()
id: string
// Composite primary key
@Entity()
export class OrderItem {
@PrimaryColumn()
orderId: string
@PrimaryColumn()
productId: string
@Column()
quantity: number
}
```
## Relations
### One-to-One
```typescript
@Entity()
export class User {
@Pr