entitylisted
Install: claude install-skill ch4570/vulpora
# entity — JPA entity scaffold
Generate a JPA entity that matches the project's domain conventions. The generator's job is to bake the
hard constraints in so a new entity cannot drift from the house style.
> **Authority**: the project conventions (e.g. `AGENTS.md`) are binding. This skill **scaffolds**; review
> with a Kotlin/Spring reviewer, tests with your test-authoring flow.
## reference
원칙: `reference/principles.md`, 지식: `reference/kb/INDEX.md`.
## Where it goes
- The domain module (`<domain-module>`), package `<base-package>.<domain>.entity` (e.g. `com.example.order.entity`).
- Follow the module's API visibility convention (e.g. no `public` keyword when the module runs `explicitApi = Disabled`).
- Class name `<Name>Entity`. Composite-key id class `<Name>EntityId`.
## Skeleton
```kotlin
@Entity
@Table(schema = "<schema>", name = "<table>")
class OrderEntity(
@Id
@Column(name = "order_id", length = 126, nullable = false, updatable = false)
val id: String,
@Enumerated(EnumType.STRING)
@Column(name = "status", length = 50, nullable = false)
val status: OrderStatus,
@Column(name = "created_at", nullable = false, updatable = false)
val createdAt: Instant = Instant.now(),
@Column(name = "updated_at", nullable = false)
val updatedAt: Instant = Instant.now(),
)
```
## Rules (MUST)
- `@Table` MUST set **both** `schema` and `name`. Enums persist via `@Enumerated(EnumType.STRING)`.
- Fields are `val`; only auditing fields are `var`. D