Base44 Coder
Costruisci app sulla piattaforma Base44 usando l’SDK JavaScript di Base44.⚡ AZIONE IMMEDIATA RICHIESTA - Leggi prima questo
Questa skill si attiva su QUALSIASI menzione di “base44” o quando esiste una cartellabase44/. NON leggere file di documentazione né cercare sul web prima di agire.
La tua prima azione DEVE essere:
- Controllare se
base44/config.jsoncesiste nella directory corrente - Se SÌ (scenario progetto esistente):
- Questa skill (base44-sdk) gestisce la richiesta
- Implementa le funzionalità usando l’SDK di Base44
- NON usare base44-cli a meno che l’utente non richieda esplicitamente comandi CLI
- Se NO (scenario nuovo progetto):
- Passa alla skill base44-cli per l’inizializzazione del progetto
- Questa skill non può aiutare finché il progetto non è inizializzato
Quando usare questa skill vs base44-cli
Usa base44-sdk quando:- Costruisci funzionalità in un progetto Base44 ESISTENTE
base44/config.jsoncesiste già nel progetto- Sono presenti import dell’SDK Base44 (
@base44/sdk) - Scrivi codice JavaScript/TypeScript usando i moduli SDK di Base44
- Implementi funzionalità, componenti o feature
- L’utente menziona: “implementa”, “costruisci una feature”, “aggiungi funzionalità”, “scrivi codice per”
- L’utente dice “crea un’app [tipo]” e un progetto Base44 esiste già
- ❌ Inizializzare nuovi progetti Base44 (usa
base44-cliinvece) - ❌ Directory vuote senza configurazione Base44
- ❌ Quando l’utente dice “crea un nuovo progetto/app/sito Base44” e non esiste alcun progetto
- ❌ Comandi CLI come
npx base44 create,npx base44 deploy,npx base44 login(usabase44-cli)
base44-sdkpresuppone che un progetto Base44 sia già inizializzatobase44-cliè un prerequisito perbase44-sdknei nuovi progetti- Se l’utente vuole “creare un’app” e non esiste alcun progetto Base44, usa prima
base44-cli
- SE (l’utente menziona “crea/costruisci app” OPPURE “crea un progetto”):
- SE (la directory è vuota OPPURE non esiste
base44/config.jsonc): → Usa base44-cli (serve inizializzazione del progetto) - ALTRIMENTI: → Usa base44-sdk (progetto esistente, costruisci feature)
- SE (la directory è vuota OPPURE non esiste
Avvio rapido
⚠️ CRITICO: non inventare API
Prima di scrivere QUALSIASI codice Base44, verifica i nomi dei metodi rispetto a questa tabella o a QUICK_REFERENCE.md. L’SDK di Base44 ha nomi di metodo unici. NON assumere pattern da Firebase, Supabase o altri SDK.Autenticazione - SBAGLIATO vs CORRETTO
Funzioni - SBAGLIATO vs CORRETTO
Integrazioni - SBAGLIATO vs CORRETTO
Entità - SBAGLIATO vs CORRETTO
Moduli SDK
Per la configurazione del client e le modalità di autenticazione, consulta client.md.
TypeScript e registri di tipo
Ogni file di riferimento include una sezione “Type Definitions” con interfacce e tipi TypeScript per i metodi, i parametri e i valori di ritorno del modulo. Ottenere entità, funzioni e agenti tipizzati: la CLI di Base44 genera i tipi dalle risorse del tuo progetto (entità, funzioni, agenti), incluse le estensioni aEntityTypeRegistry, FunctionNameRegistry e AgentNameRegistry, e li collega al tuo progetto in modo da ottenere autocompletamento e controllo dei tipi senza configurazione manuale. Per come generare i tipi, usa la skill base44-cli.
Estensione manuale: puoi invece estendere i registri da solo in un file .d.ts; consulta le sezioni Type Definitions in entities.md, functions.md e base44-agents.md.
Installazione
Installa l’SDK di Base44:@base44/sdk. Installa sempre senza specificatore di versione per ottenere l’ultima versione.
Creazione di un client (app esterne)
Quando crei un client in app esterne, usa SEMPREappId come nome del parametro:
appId (stringa) - L’ID dell’applicazione Base44
Parametri opzionali:
token(stringa) - Token utente pre-autenticatooptions(oggetto) - Opzioni di configurazioneoptions.onError(funzione) - Gestore di errori globale
Selezione del modulo
Lavori con i dati dell’app?- Crea/leggi/aggiorna/elimina record →
entities - Importa dati da file →
entities.importEntities() - Aggiornamenti in tempo reale →
entities.EntityName.subscribe()
- Login/registrazione/logout →
auth - Ottieni l’utente corrente →
auth.me() - Aggiorna il profilo utente →
auth.updateMe() - Invita utenti →
users.inviteUser()
- Chatta con agenti IA →
agents(richiede un utente loggato) - Crea una nuova conversazione →
agents.createConversation() - Gestisci conversazioni →
agents.getConversations() - Genera testo/JSON con l’IA →
integrations.Core.InvokeLLM() - Genera immagini →
integrations.Core.GenerateImage()
- Esegui codice lato server →
functions.invoke() - Serve accesso admin →
base44.asServiceRole.functions.invoke()
- Invia email →
integrations.Core.SendEmail() - Carica file →
integrations.Core.UploadFile() - API personalizzate →
integrations.custom.call() - OAuth con scope dell’app (account del costruttore dell’app) →
asServiceRole.connectors.getConnection()(solo backend)
- Traccia eventi personalizzati →
analytics.track() - Registra visualizzazioni di pagina/attività →
appLogs.logUserInApp()
Pattern comuni
Filtra e ordina i dati
Route protette (verifica autenticazione)
Chiamata a funzione backend
Accesso con ruolo di servizio
UsaasServiceRole nelle funzioni backend per operazioni di livello admin:
Frontend vs Backend
Le funzioni backend usano
Deno.serve() e createClientFromRequest(req) per ottenere un client correttamente autenticato.
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.