Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

typeorm-entities

verified

TypeORM entity definition patterns

View on GitHub

Marketplace

alphaagent-team

the-answerai/alphaagent-team

Plugin

aai-stack-typeorm

stack

Repository

the-answerai/alphaagent-team

plugins/aai-stack-typeorm/skills/typeorm-entities/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
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-entities

Installation paths:

Claude
.claude/skills/typeorm-entities/
Powered by add-skill CLI

Instructions

# 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

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
5641 chars