Skip to main content
Esta página faz parte de uma habilidade de agente de código IA e é escrita para agentes, não para humanos. Para a documentação legível por humanos da Base44, veja a documentação para desenvolvedores.

Base44 Coder

Construa aplicativos na plataforma Base44 usando o SDK JavaScript da Base44.

⚡ AÇÃO IMEDIATA NECESSÁRIA - Leia isto primeiro

Esta habilidade é ativada em QUALQUER menção a “base44” ou quando uma pasta base44/ existe. NÃO leia arquivos de documentação ou pesquise na web antes de agir. Sua primeira ação DEVE ser:
  1. Verifique se base44/config.jsonc existe no diretório atual
  2. Se SIM (cenário de projeto existente):
    • Esta habilidade (base44-sdk) lida com a solicitação
    • Implemente recursos usando o SDK Base44
    • NÃO use base44-cli a menos que o usuário solicite explicitamente comandos CLI
  3. Se NÃO (cenário de novo projeto):
    • Transfira para a habilidade base44-cli para inicialização do projeto
    • Esta habilidade não pode ajudar até que o projeto seja inicializado

Quando usar esta habilidade vs base44-cli

Use base44-sdk quando:
  • Construindo recursos em um projeto Base44 EXISTENTE
  • base44/config.jsonc já existe no projeto
  • Importações do SDK Base44 estão presentes (@base44/sdk)
  • Escrevendo código JavaScript/TypeScript usando módulos do SDK Base44
  • Implementando funcionalidade, componentes ou recursos
  • O usuário menciona: “implement”, “build a feature”, “add functionality”, “write code for”
  • O usuário diz “create a [type] app” e um projeto Base44 já existe
NÃO USE base44-sdk para:
  • ❌ Inicializar novos projetos Base44 (use base44-cli em vez disso)
  • ❌ Diretórios vazios sem configuração Base44
  • ❌ Quando o usuário diz “create a new Base44 project/app/site” e nenhum projeto existe
  • ❌ Comandos CLI como npx base44 create, npx base44 deploy, npx base44 login (use base44-cli)
Dependências de habilidade:
  • base44-sdk assume que um projeto Base44 já está inicializado
  • base44-cli é um pré-requisito para base44-sdk em novos projetos
  • Se o usuário quer “create an app” e nenhum projeto Base44 existe, use base44-cli primeiro
Lógica de verificação de estado: Antes de selecionar esta habilidade, verifique:
  • SE (usuário menciona “create/build app” OU “make a project”):
    • SE (diretório está vazio OU nenhum base44/config.jsonc existe): → Use base44-cli (inicialização de projeto necessária)
    • SENÃO: → Use base44-sdk (projeto existe, construa recursos)

Início rápido

⚠️ CRÍTICO: Não Alucine APIs

Antes de escrever QUALQUER código Base44, verifique os nomes dos métodos contra esta tabela ou QUICK_REFERENCE.md. O SDK Base44 tem nomes de método únicos. NÃO assuma padrões do Firebase, Supabase ou outros SDKs.

Autenticação - ERRADO vs CORRETO

Funções - ERRADO vs CORRETO

Integrações - ERRADO vs CORRETO

Entidades - ERRADO vs CORRETO

Módulos do SDK

Para configuração do cliente e modos de autenticação, veja client.md.

TypeScript e registros de tipo

Cada arquivo de referência inclui uma seção “Type Definitions” com interfaces e tipos TypeScript para os métodos, parâmetros e valores de retorno do módulo. Obter entidades, funções e agentes tipados: A CLI Base44 gera tipos dos recursos do seu projeto (entidades, funções, agentes), incluindo aumentos para EntityTypeRegistry, FunctionNameRegistry e AgentNameRegistry, e os conecta ao seu projeto para que você obtenha autocomplete e verificação de tipos sem configuração manual. Para saber como gerar tipos, use a habilidade base44-cli. Aumento manual: Você pode aumentar os registros por conta própria em um arquivo .d.ts; veja as seções Type Definitions em entities.md, functions.md e base44-agents.md.

Instalação

Instale o SDK Base44:
Importante: Nunca assuma ou hardcode a versão do pacote @base44/sdk. Sempre instale sem um especificador de versão para obter a versão mais recente.

Criando um cliente (aplicativos externos)

Ao criar um cliente em aplicativos externos, SEMPRE use appId como o nome do parâmetro:
Parâmetro obrigatório: appId (string) - Seu ID de aplicativo Base44 Parâmetros opcionais:
  • token (string) - Token de usuário pré-autenticado
  • options (object) - Opções de configuração
    • options.onError (function) - Manipulador global de erros
Exemplo com manipulador de erros:

Seleção de módulo

Trabalhando com dados do aplicativo?
  • Criar/ler/atualizar/excluir registros → entities
  • Importar dados de arquivo → entities.importEntities()
  • Atualizações em tempo real → entities.EntityName.subscribe()
Gerenciamento de usuários?
  • Login/registro/logout → auth
  • Obter usuário atual → auth.me()
  • Atualizar perfil de usuário → auth.updateMe()
  • Convidar usuários → users.inviteUser()
Recursos de IA?
  • Conversar com agentes de IA → agents (requer usuário logado)
  • Criar nova conversa → agents.createConversation()
  • Gerenciar conversas → agents.getConversations()
  • Gerar texto/JSON com IA → integrations.Core.InvokeLLM()
  • Gerar imagens → integrations.Core.GenerateImage()
Lógica de backend personalizada?
  • Executar código do lado do servidor → functions.invoke()
  • Necessário acesso de administrador → base44.asServiceRole.functions.invoke()
Serviços externos?
  • Enviar e-mails → integrations.Core.SendEmail()
  • Fazer upload de arquivos → integrations.Core.UploadFile()
  • APIs personalizadas → integrations.custom.call()
  • OAuth com escopo de aplicativo (conta do construtor do aplicativo) → asServiceRole.connectors.getConnection() (apenas backend)
Rastreamento e análise?
  • Rastrear eventos personalizados → analytics.track()
  • Registrar visualizações de página/atividade → appLogs.logUserInApp()

Padrões comuns

Filtrar e ordenar dados

Rotas protegidas (verificar autenticação)

Chamada de função de backend

Acesso Service Role

Use asServiceRole em funções de backend para operações em nível de administrador:

Frontend vs Backend

Funções de backend usam Deno.serve() e createClientFromRequest(req) para obter um cliente adequadamente autenticado.
Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a versão em inglês.