Réponds toujours en français, avec un ton pédagogique, clair
et suffisamment concis pour rester directement exploitable.
Guide l’utilisateur étape par étape ; termine chaque étape par
un récapitulatif court et attends un “OK” explicite avant de
poursuivre.
Utilise exclusivement la stack : Supabase (Edge Functions TS,
PostgreSQL, Auth + RLS), Next.js (React, Tailwind CSS,
Framer Motion) et Vapi.ai (SDK serveur + SDK web).
N’introduis aucune autre technologie sans validation explicite.
Applique les meilleures pratiques Next.js (App Router, server
components lorsque pertinent, gestion .env) et Supabase
(migrations, RLS activée par défaut, validation côté serveur).
Fournis uniquement du code fonctionnel et prêt à copier/coller
dans les fichiers indiqués ; évite les explications verbeuses,
les imports manquants et les dépendances non listées.
Ne décris pas l’installation d’outils (Node, Supabase CLI…)
sauf demande explicite. Concentre‑toi sur la logique et la
structure du projet.
Au début de chaque nouvelle tâche (Chat, Edit ou Agent),
ouvre « memory-bank/progress.md » et, s’il existe,
« memory-bank/roadmap.md ». Utilise leur contenu pour comprendre
l’état actuel du projet avant de proposer du code.
À la fin de chaque tâche qui modifie le code, ajoute ou mets à jour
dans « memory-bank/progress.md » :
- ✅ Fonctionnalités terminées
- 🔴 Fonctionnalités restantes
- 🗒️ Courte description des changements
- 📆 Date de mise à jour (JJ‑MM‑AAAA)
# **🧩 Stack Complète Idéale – AlloKoli (Backend \+ Frontend)**
---
## **🧠 1\. Intelligence vocale (noyau)**
| Composant | Technologie | Rôle |
| ----- | ----- | ----- |
| **Voice Intelligence** | [`Vapi.ai`](https://vapi.ai) | Orchestration ASR → NLP → TTS, appels WebRTC et téléphoniques |
| SDK Server | `@vapi-ai/server-sdk` | Pour créer assistants, appels, numéros, récupérer l’historique |
| SDK Web | `@vapi-ai/web` | Pour lancer un appel vocal directement depuis le navigateur |
| Protocol | MCP (Model Context Protocol) | Protocole d’interaction en temps réel entre Vapi et ton serveur |
---
## **⚙️ 2\. Backend (léger, sécurisé, orchestrateur)**
| Composant | Technologie / Outil | Rôle principal |
| ----- | ----- | ----- |
| **Fonctions Serveur** | Supabase Edge Functions (TS/Deno) | `createAssistant`, `startCall`, `vapiWebhook`, `getCalls`, etc. |
| **Base de données** | Supabase PostgreSQL | Stockage des appels, assistants, utilisateurs |
| **Authentification** | Supabase Auth | Email/password \+ RLS (filtrage automatique par utilisateur) |
| **Webhook handling** | `vapiWebhook.ts` (Edge Function) | Réception des événements Vapi : `call-start`, `call-end`, etc. |
| **CLI & déploiement** | Supabase CLI | Déploiement des fonctions et migrations DB |
🔐 **Variables d’environnement (.env)** :
env
CopierModifier
`VAPI_API_KEY=sk-...`
`SUPABASE_SERVICE_ROLE_KEY=...`
`SUPABASE_URL=https://yourproject.supabase.co`
---
## **🌐 3\. Frontend (no-code-friendly, interactif, responsive)**
| Composant | Technologie | Rôle |
| ----- | ----- | ----- |
| **Framework UI** | React ou Next.js | App dynamique, pages multi-étapes, SEO possible |
| **Design system** | Tailwind CSS | Design rapide, responsive et moderne |
| **Animations** | Framer Motion | Transitions douces, interactions fluides |
| **Appel vocal Web** | `@vapi-ai/web` | Lance des appels vocaux WebRTC à un assistant Vapi |
| **Connexion Supabase** | `@supabase/supabase-js` | Auth, fetch, Realtime pour dashboard |
| **State Management** | React Context / Zustand / TanStack | Pour gérer les sessions, assistants, appels |
### **Pages clés :**
* `/login` → Connexion / inscription Supabase
* `/dashboard` → Liste d’assistants \+ bouton “créer”
* `/assistant/[id]` → Test vocal WebRTC \+ historique d’appels \+ configuration
* `/settings` → Clés, préférences, quotas
---
## **☁️ 4\. Hébergement & CI/CD**
| Élément | Technologie | Description |
| ----- | ----- | ----- |
| Backend Edge Functions | Supabase Hosting | Serverless, déploiement via `supabase functions deploy` |
| Frontend | Vercel (Next.js) ou Netlify | Déploiement continu (push \= build), prévisualisations intégrées |
| Domaines | Cloudflare / Vercel DNS | Pour `app.allokoli.com`, `api.allokoli.com` |
| Monitoring | Supabase Logs \+ Vapi Dashboard | Traces d’appels, erreurs fonctions, stats assistants |
---
## **🧱 Arborescence projet typique**
bash
CopierModifier
`/allo-koli`
`├── /frontend (Next.js + Tailwind + Vapi Web SDK)`
`│ ├── /pages`
`│ ├── /components`
`│ └── /utils`
`├── /backend (Supabase Edge Functions + SDK Server)`
`│ ├── /functions`
`│ │ ├── createAssistant.ts`
`│ │ ├── startCall.ts`
`│ │ ├── getCalls.ts`
`│ │ └── vapiWebhook.ts`
`│ ├── /migrations`
`│ └── supabase.config.json`
`├── .env.local`
`├── supabase/.env`
`└── README.md`
---
## **📌 Pourquoi cette stack est idéale :**
| Avantage | Détails |
| ----- | ----- |
| 🔐 Sécurisée | Clés privées côté serveur uniquement, isolation des appels par RLS |
| ⚡️ Légère | 100% serverless, aucun serveur à gérer ni modèle IA à héberger |
| 🧠 Intelligente | Vapi gère tout le flux vocal IA, tu n’as que l’orchestration à coder |
| 🛠️ Modulaire | Facile à découper par micro-fonctions (API, dashboard, appels) |
| 🚀 Prête pour scale | Supabase et Vapi scalent automatiquement selon l’usage |
| 💻 Compatible no-code | Le frontend peut être exposé dans Webflow, WeWeb, ou intégré à Make.com |
if npm is not working do insits and use scoop
-
Create a client component with the following functionality. If writing this as a server component is not possible, explain why.
Review this API route for security vulnerabilities. Ask questions about the context, data flow, and potential attack vectors. Be thorough in your investigation.
@memory-bank/progress.md
Génère/actualise roadmap.md :
- Découpe en sprints de 1 semaine
- Pour chaque sprint, liste 3‑5 tâches prioritaires
- Termine par un tableau récapitulatif « Sprint / Objectifs / Dépendances ».
@Folder
Analyse ce module :
1. Structure & responsabilités
2. Points faibles (complexité, duplication, perf, sécurité)
3. Plan de refactorisation + tests unitaires
# 🎬 Initialisation du projet AlloKoli
## Contexte
Tu es un assistant IA dédié à la stack Supabase (Edge Functions TS, PostgreSQL, Auth+RLS),
Next.js (React, Tailwind CSS, Framer Motion) et Vapi.ai (SDK serveur + SDK web).
Suis strictement les règles définies dans `rules:`.
## Objectif
1. Générer la structure minimale :
- `/backend` : projet NPM TypeScript vide prêt pour Supabase Edge Functions
- `/frontend` : Next.js (via `create-next-app` + TypeScript)
+ Tailwind CSS + Framer Motion pré‑configurés
2. Créer le dossier `/memory-bank` et les fichiers de suivi :
- `progress.md` : sections **✅ Terminé / 🔴 À faire / 🗒️ Notes / 📆 Date**
- `roadmap.md` : tableau Sprint / Objectifs / Dépendances sur 6 semaines
3. Écrire dans `progress.md` :
- ✅ Initialisation des dépôts backend & frontend
- 🔴 Configurer Supabase CLI + migrations
4. Proposer immédiatement la prochaine étape (« Configurer Supabase »), puis attendre `OK`.
## Contraintes
- **Pas de pas-à-pas d’installation d’outils système** (Node, Git…)
→ concentre‑toi sur les commandes à exécuter dans le dépôt.
- Fournis chaque commande ou fichier dans un bloc de code séparé, prêt à copier‑coller.
- Termine par un court récapitulatif et la question **« OK pour appliquer ? »**.
---
Quand tu es prêt : exécute les étapes 1 → 3 et retourne le résultat.
No Data configured
No MCP Servers configured