name: create-entity description: Create a new immutable domain entity following DDD patterns. Use when user needs to create a new business entity with domain logic, value objects, and behavior methods. Generates entity class with private constructor, static factory, and domain methods.
Create Entity
Generate immutable domain entity following DDD patterns.
When to Use
- New business entity
- Domain model in BC
- Aggregate root
- Entity with domain behavior
Inputs/Outputs
| Input | Example | Output |
|---|---|---|
| bc | Admin | BC/Entities/EntityName.php |
| entity | Article | - |
| fields | ['uuid' => 'ResourceUuid', 'name' => 'NameField'] | - |
| behaviors | ['rename', 'activate'] | - |
Process
| Step | Action |
|---|---|
| Create | Use template: entity.php.tpl |
| Validate | make cs-fixer && make stan |
Structure
Entity (final, private constructor, static factory):
final class EntityName {
private function __construct(
private ResourceUuid $uuid,
private NameField $name,
) {}
public static function create(string $name): self {
return new self(ResourceUuid::generate(), NameField::fromString($name));
}
public function uuid(): ResourceUuid { return $this->uuid; }
public function name(): NameField { return $this->name; }
public function rename(string $name): void {
$this->name = NameField::fromString($name);
}
}
See: docs/GLOSSARY.md#entity for detailed definition
Rules
Class Structure:
-
finalclass, private constructor - Static factory:
create(),createFrom*(),reconstitute() - No public properties, no setters
Methods:
- Getters return Value Objects:
name()(notgetName()) - Behaviors modify state:
rename(),activate(),deactivate() - Validate in behaviors, encapsulate business rules
Value Objects:
- Use existing VOs:
Shared\Entities\VO\(ResourceUuid, NameField, EmailField, PriceField) - Create new VO if needed (skill:
create-value-object)
Templates
-
entity.php.tpl
Location: .claude/templates/
References
- Entity definition:
docs/GLOSSARY.md#entity - Entity pattern:
docs/QUICK_REF.md#entity-pattern - Architecture:
docs/architecture.md#entity
Related Skills
-
create-value-object- Create new Value Object -
create-use-case- Create use case using entity -
create-repository- Create repository for entity
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
0
GitHub Forks
0
Created
Jan 2026
Last Updated
5个月前
tools
tools architecture patterns
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!