Saltar para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.aiparlance.org/llms.txt

Use this file to discover all available pages before exploring further.

Sintaxe

Referência dos blocos Core e Infra (estável em v0.1). Gramática: Especificação. CRM: crm-reference.aip. Blocos Security e Behavior: Segurança, Workflows.

Convenções

  • Campos declarados dentro de entity (nome: tipo modificadores).
  • Ordem: required | optionaluniquedefault(valor).
  • Identificadores: PascalCase para entidades e eventos; snake_case para campos.

app

app CRM @0.1 {
  database postgres
  auth jwt
}
MembroValores iniciais
databasepostgres, mysql
authjwt, session, api_key, oauth
auth em app é o padrão; api { } pode sobrescrever detalhes HTTP. Toda spec v0.1 exige um bloco app.

entity

entity User {
  name: string required
  email: email required unique
  role: enum(admin, manager, seller) default(seller)
  active: bool default(true)
}
Campos implícitos: specification#implicit-fields.
entity User {
  timestamps   // marcador opcional; created_at/updated_at sempre injetados
  soft_delete  // adiciona deleted_at
}

Tipos

string | text | int | float | bool
datetime | date | uuid | email | phone | json
status: enum(new, assigned, won, lost) default(new)

relation

entity Lead {
  seller: belongs_to User optional
}
Relação (inline, v0.1)Uso
belongs_toFK para outra entidade
has_one1:1 inversa (roadmap)
has_many1:N (roadmap)
many_to_manyN:N (roadmap)
optional marca FK nullable.

crud

crud Lead
Rotas típicas:
POST   /leads
GET    /leads
GET    /leads/:id
PUT    /leads/:id
DELETE /leads/:id
Artefatos: matriz de transpiladores.

Validação

Prefira modificadores inline:
entity User {
  name: string required
  email: email required unique
}
Bloco validation (equivalente, para muitas regras):
validation User {
  name required
  email required unique
}

index

index Lead {
  status
  created_at
}
unique no campo já cria constraint; use index para buscas compostas ou não únicas.

api

api {
  prefix "/v1"
  format json
}
Auth HTTP herda de app.auth salvo override. Rate limit e CORS: Segurança.

Tabela resumo (Core + Infra)

BlocoNívelFunção
appCoreAplicação e defaults
entityCoreModelo de dados
enum(…) inlineCoreTipos enumerados
belongs_to inlineCoreRelações (v0.1)
crudCoreOperações REST
inline / validationCoreRegras de campo
indexInfraÍndices
apiInfraHTTP
seedInfraDados iniciais — Banco

Blocos em outros capítulos

BlocoCapítulo
policy, authSegurança
workflow, event, lifecycle, job, queueWorkflows
ai_contextAgentes

Exemplo Core

app Shop @0.1 {
  database postgres
  auth jwt
}

entity Product {
  name: string required
  price: float required
  sku: string required unique
}

crud Product

api {
  prefix "/v1"
  format json
}
CRM completo: crm-reference.aip.