# Fóir: il backend su cui costruiscono i tuoi agenti

Fóir dà a un'applicazione tutto il suo backend a partire da un unico file di configurazione: un'API GraphQL, una console per il tuo team, login e ruoli, e l'isolamento tra i dati dei tuoi clienti. Un agente di programmazione può scrivere la configurazione e gestire il progetto tramite un server MCP, così l'app che costruisce è pronta per clienti reali.

Questa è la versione semplice di foir.io, per gli agenti e per chi preferisce leggere anziché guardare.

Crea un progetto: [https://platform.foir.io/signup](https://platform.foir.io/signup)

## Inizia con un agente

Collega il server MCP e leggi il contratto da lì. Elenca gli strumenti consentiti dal tuo ruolo e cerca nella documentazione.

```
foir mcp
```

- Configurazione MCP: [https://docs.foir.dev/ai/mcp](https://docs.foir.dev/ai/mcp)
- Indice della documentazione per gli agenti: [https://docs.foir.dev/llms.txt](https://docs.foir.dev/llms.txt)
- Documentazione completa in un unico file: [https://docs.foir.dev/llms-full.txt](https://docs.foir.dev/llms-full.txt)

## Perché i team lo scelgono

- Un unico file di configurazione ti dà il backend che altrimenti metteresti insieme da servizi separati: regole del database, login, un editor di contenuti, distribuzione dei media, notifiche e fatturazione.
- L'isolamento tra clienti è applicato nel database. Le regole di accesso vengono compilate in row-level security, quindi un controllo dimenticato non può far trapelare una riga.
- L'API viene generata dai tuoi modelli, quindi non c'è nessun endpoint scritto a mano da sbagliare.
- I contenuti vengono risolti a ogni richiesta. Una nuova lingua o un nuovo pubblico è un campo che imposti, e non si ricompila nulla.
- È completamente gestito. Non c'è nulla da ospitare, aggiornare o scalare.
- Il controllo resta a te. Il tuo codice gira sul tuo hosting, i pagamenti vanno direttamente al tuo account Stripe e ogni record si esporta in un database Postgres di tua proprietà.
- Gli agenti ci lavorano in sicurezza. Le scritture arrivano come bozze, i token portano solo i permessi che hai approvato e una persona dà il via libera a ciò che va online.
- Il suo motore di autorizzazione, Demesne, è open source: [https://foir.io/demesne](https://foir.io/demesne)

## A chi si rivolge

- Un prodotto venduto a molti clienti. Ogni cliente è un'organizzazione con i propri dati, membri e login, su modelli condivisi.
- Un'app costruita con un agente di programmazione, pronta per login, ruoli e isolamento dei dati reali.
- Un'agenzia che gestisce molti progetti di clienti su un'unica piattaforma.
- Un sito o un'app basati sui contenuti che vogliono bozze, campagne pianificate e personalizzazione.

## Cosa ottieni

| Capability | Cosa fa |
| --- | --- |
| API generata | Un'API GraphQL costruita a partire dai tuoi modelli. |
| Console | Un editor per ogni modello, con versioni, modifica collaborativa in tempo reale e anteprima come un pubblico specifico. |
| Ask Fóir | Un assistente nella console che risponde a domande sui tuoi dati e apporta modifiche come bozze, entro il tuo ruolo. |
| Login | Un unico login ospitato: passkey, verifica in due passaggi e Google, Apple, Shopify o qualsiasi provider OIDC. |
| Utenti e ruoli | Un unico insieme di utenti organizzato in pool, con appartenenze e ruoli costruiti a partire da un solo elenco di permessi. |
| Organizzazioni | Trasforma un'app in un SaaS: ognuno dei tuoi clienti ottiene un confine applicato tramite row-level security. |
| Chiavi | Chiavi pubblicabili, di server e di amministrazione. Lo schema di una chiave contiene solo ciò che le è stato concesso. |
| Record | I record possono essere privati per l'utente che li possiede. Gli aggiornamenti accettano una chiave di idempotenza, quindi un retry è sicuro. |
| Pubblicazione | Le scritture arrivano come bozze. La pubblicazione non richiede una nuova build. I rollout distribuiscono una campagna in blocco e se ne può fare il rollback. |
| Personalizzazione | Varianti scelte sul server in base a posizione, segmenti e dimensioni definite da te. Una variante può sostituire un record o un singolo campo. |
| Operazioni | Il tuo codice, chiamato tramite l'API con un token firmato e con scope limitato. Ogni esecuzione viene registrata. |
| Secret | Un vault. Funzioni e agenti conservano un riferimento, mai la chiave. |
| Hook | Gli eventi di record e di operazioni eseguono operazioni, con consegne che puoi inviare di nuovo. |
| Paywall | Una quota per utente o organizzazione su qualsiasi operazione, aumentata da una subscription acquistata tramite Stripe o un app store. |
| Notifiche ed email | Notifiche push e nella inbox con preferenze per persona. Template email compilati con i record al momento dell'invio. |
| Media, ricerca, posizione | Immagini servite in WebP e AVIF alla dimensione di ogni schermo. Ricerca per significato. Query per distanza. |
| Lavoro | Le note lasciate su una pagina live diventano attività. Gli agenti preparano le bozze e le persone approvano. |
| Agenti | Un agente a lunga esecuzione mantiene aggiornati i contenuti tramite MCP, con una chiave che delimita ciò che può modificare. |
| App | Le pagine di amministrazione della tua app all'interno della console, e integrazioni che mantengono allineati i record di un altro sistema. |
| Esportazione | Ogni record si esporta in un database Postgres di tua proprietà. |

Ognuno di questi casi ha una pagina nella documentazione: [https://docs.foir.dev](https://docs.foir.dev)

## Come inizia un progetto

1. Una persona crea un account su [https://platform.foir.io/signup](https://platform.foir.io/signup). Questo passaggio richiede un browser.
2. `foir workspaces create --name acme --select`
3. Scrivi `foir.config.ts` con i tuoi modelli, poi esegui `foir push`.
4. Esegui `foir mcp` in modo che un agente possa lavorare nel progetto come la persona autenticata.

## Buono a sapersi

- Posizione, stato del login e segmenti vengono determinati sul server, quindi la personalizzazione non può essere falsificata modificando una richiesta.
- Una risposta che contiene una variante risolta viene contrassegnata come privata, quindi una cache condivisa non serve mai la versione di un visitatore a un altro.
- Come si confronta Fóir con Supabase, Firebase, Sanity, Payload e altri: [https://foir.io/compare](https://foir.io/compare)
- Prezzi: [https://foir.io/pricing](https://foir.io/pricing)
