Vibe Prospecting
Professional prospecting inside the chat you already use. 50+ B2B data sources to build lead lists, research accounts, and find decision makers.
Le Mot du Chef rédige avec vous des réponses posées et professionnelles à vos avis Google. Ne laissez plus un avis injuste parler à votre place.
Translation pending
MarketingTypeScript · HTMLGitHub @zefparisOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Réponses intelligentes aux avis Google pour restaurateurs indépendants.
Front statique sur lemotduchef.fr (Vercel), API sur api.lemotduchef.fr
(serveur X3 derrière un tunnel Cloudflare).
public/ — frontend statique (HTML/CSS/JS sans framework, build build.mjs).server/ — API Fastify : Better Auth (sessions serveur en base, révocables),
isolation par restaurant via memberships, protection CSRF (en-tête
x-lemotduchef-client + contrôle d'origine), rate-limit, quotas côté serveur.# PostgreSQL de dev (port 5445 pour ne pas entrer en conflit)
docker run -d --name lmc-pg -e POSTGRES_USER=lemotduchef \
-e POSTGRES_PASSWORD=lemotduchef -e POSTGRES_DB=lemotduchef \
-p 127.0.0.1:5445:5432 postgres:17-alpine
cd server && npm install
cp .env.example .env # ou exporter les variables
npm run dev # http://127.0.0.1:3500 — sert aussi public/
npm test # 35 tests d'intégration (LLM mocké, SMTP=log)
En dev, LLM_PROVIDER=mock (défaut hors production) produit trois variantes
plausibles sans clé API, et SMTP_HOST=log journalise les emails au lieu de
les envoyer. Le mode mock est refusé en production.
Répondre à un avis. Le restaurateur colle l'avis (texte, note 1–5, prénom
affiché, date de visite), précise le contexte pour les notes ≤ 3 (jamais venu,
salle complète, attente annoncée au client à son arrivée, plat conforme,
problème réel, prix affichés, allergie/santé, autre). Le serveur génère 3 variantes via un LLM
(Anthropic, LLM_PROVIDER/ANTHROPIC_API_KEY/LLM_MODEL, timeout, tokens
journalisés) sous un prompt système versionné (server/src/llm/prompt.ts) :
réponse adressée aux futurs lecteurs, toujours courtoise, jamais d'accusation
ni de menace ni de donnée personnelle, sujets santé traités sans reconnaissance
de responsabilité, un point fort rappelé, signature du profil, 50–120 mots
(30–70 pour un avis positif), formulations distinctes des 10 dernières
réponses. Chaque variante est validée avant d'être renvoyée ; l'utilisateur
peut l'éditer, la copier, ouvrir sa fiche Google et cocher « publiée ».
Avis suspect. Indicateurs calculés côté serveur (1 étoile sans texte, hors sujet, autre établissement cité, propos injurieux) → badge + guide de signalement honnête : motif Google conseillé, texte prêt à copier, lien d'aide, et rappel que Google ne retire que les avis contraires à ses règles.
Collecte d'avis. À partir du lien « laisser un avis » de la fiche Google : chevalet de table et encart d'addition en PDF avec QR code (pdf-lib + qrcode), texte personnalisable. Le QR mène tous les clients à Google : aucun filtre de satisfaction, aucune contrepartie — affirmé dans l'interface.
Profil restaurant (onboarding après inscription) : nom, ville, type de cuisine, points forts, infos pratiques, URL Google Maps validée, email et téléphone de contact réclamations — plus le réglage « Mon style » appliqué à chaque génération : ton (sobre / chaleureux / direct), vouvoiement ou tutoiement du client, signature (« Marc, chef et propriétaire », réponse au « je » si un prénom est signé) et expressions à éviter.
Offres. Gratuit : FREE_MONTHLY_REPLIES générations/mois (défaut 5, sans
carte), historique FREE_HISTORY_DAYS jours. Pro : générations illimitées,
chevalets/encarts, historique complet. Prix relus depuis l'API Stripe
(STRIPE_PRICE_PRO_MONTHLY/_YEARLY), aucun montant en dur, quota appliqué
côté serveur, webhooks signés et idempotents comme source de vérité.
RGPD. Texte de l'avis, prénom d'auteur et variantes purgés après
REVIEW_RETENTION_MONTHS mois (défaut 12) — seules la note, le contexte et la
réponse publiée sont conservés. Le restaurateur est responsable de traitement,
le service sous-traitant (clause art. 28 dans les CGV/confidentialité). Export
compte complet et suppression en cascade avec révocation des sessions.
Back-office exploitant sur /admin : réservé aux emails de ADMIN_EMAILS
(vérifiés côté serveur à chaque requête). Statistiques (comptes, utilisateurs,
inscriptions 7/30 j, avis, générations du mois, abonnés payants et MRR), listes
de comptes et d'utilisateurs (métadonnées uniquement — jamais le contenu des
avis ni des réponses), suspension/réactivation avec révocation des sessions,
suppression de compte, interrupteur d'inscription stocké en base, création de
compte par invitation, journal d'audit.
V2 préparée, non codée : server/src/sources/index.ts définit
ReviewSource (manual | google) pour brancher plus tard l'API Google
Business Profile (OAuth, lecture des avis, publication des réponses).
Voir DEPLOIEMENT-X3.md. En résumé : docker compose build && up -d sur X3
(API sur 127.0.0.1:3500, tunnel Cloudflare api.lemotduchef.fr), front sur
Vercel (build npm run build, output dist, env VITE_API_URL + LEGAL_*).
cd server && npm run typecheck && npm run build && npm test
cd .. && npm run build # dist/ frontend
node --check public/app.js