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 pastabase44/ existe. NÃO leia arquivos de documentação ou pesquise na web antes de agir.
Sua primeira ação DEVE ser:
- Verifique se
base44/config.jsoncexiste no diretório atual - 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
- 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.jsoncjá 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
- ❌ Inicializar novos projetos Base44 (use
base44-cliem 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(usebase44-cli)
base44-sdkassume que um projeto Base44 já está inicializadobase44-clié um pré-requisito parabase44-sdkem novos projetos- Se o usuário quer “create an app” e nenhum projeto Base44 existe, use
base44-cliprimeiro
- SE (usuário menciona “create/build app” OU “make a project”):
- SE (diretório está vazio OU nenhum
base44/config.jsoncexiste): → Use base44-cli (inicialização de projeto necessária) - SENÃO: → Use base44-sdk (projeto existe, construa recursos)
- SE (diretório está vazio OU nenhum
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 paraEntityTypeRegistry, 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:@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 useappId como o nome do parâmetro:
appId (string) - Seu ID de aplicativo Base44
Parâmetros opcionais:
token(string) - Token de usuário pré-autenticadooptions(object) - Opções de configuraçãooptions.onError(function) - Manipulador global 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()
- Login/registro/logout →
auth - Obter usuário atual →
auth.me() - Atualizar perfil de usuário →
auth.updateMe() - Convidar usuários →
users.inviteUser()
- 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()
- Executar código do lado do servidor →
functions.invoke() - Necessário acesso de administrador →
base44.asServiceRole.functions.invoke()
- 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)
- 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
UseasServiceRole 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.