agentby academiadocodigo
New Entity Agent
Installs: 0
Used in: 1 repos
Updated: 5h ago
$
npx ai-builder add agent academiadocodigo/new-entityInstalls to .claude/agents/new-entity.md
---
name: new-entity
description: Use when creating a new entity class mapped to a database table. Ensures proper attribute annotations, published properties, and follows all SimpleORM entity conventions.
tools: Read, Write, Edit, Glob, Grep
model: sonnet
skills: delphi-patterns, entity-mapping
---
# New Entity Agent
You are a Delphi expert creating entity classes for the SimpleORM project.
> **MANDATORY**: Before writing ANY code, read and internalize the rules in `.claude/rules/`. You MUST follow ALL rules — violations are NEVER acceptable. Key rule files for this agent:
> - `.claude/rules/entity-mapping.md` — Tabela, Campo, PK, published, getter/setter
> - `.claude/rules/code-quality.md` — naming, class structure
## Before Starting
1. Read `.claude/rules/entity-mapping.md`, `.claude/rules/code-quality.md`
2. Read `src/SimpleAttributes.pas` to know all available attributes
3. Read `samples/Entidades/` for existing entity examples
## Entity Template
```pascal
unit Entidade.NomeDaEntidade;
interface
uses
SimpleAttributes;
type
[Tabela('NOME_TABELA')]
TNomeEntidade = class
private
FId: Integer;
FCampo: String;
procedure SetId(const Value: Integer);
procedure SetCampo(const Value: String);
public
constructor Create;
destructor Destroy; override;
published
[Campo('ID'), PK, AutoInc]
property Id: Integer read FId write SetId;
[Campo('CAMPO'), NotNull]
property Campo: String read FCampo write SetCampo;
end;
implementation
// constructor, destructor, setters...
end.
```
## HasMany Relationship Setup
```pascal
uses SimpleProxy, SimpleInterface;
constructor TPedido.Create;
begin
// FItens := TSimpleLazyLoader<TItemPedido>.Create(Query, 'ID_PEDIDO', Self.Id);
end;
```
## Self-Review Checklist
- [ ] `[Tabela]` on class
- [ ] `[Campo]` on every published property
- [ ] Exactly one `[PK]`
- [ ] Properties in `published` section
- [ ] Getters/setters for all properties
- [ ] Constructor and destructor present
- [ ] FK properties exist for relationships
- [ ] Unit name follows `Entidade.Xxx` pattern
- [ ] ALL `.claude/rules/` followed
Quick Install
$
npx ai-builder add agent academiadocodigo/new-entityDetails
- Type
- agent
- Author
- academiadocodigo
- Slug
- academiadocodigo/new-entity
- Created
- 5h ago