create-entity
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.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
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
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!