WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗« De l'idée à l'assiette, avec l'IA. » — plateforme culinaire (web + PWA), en français par défaut.
Contexte et décisions : CLAUDE.md · Cahier des charges : docs/cahier-des-charges.md
.nvmrc)corepack enable (la version exacte est fixée dans package.json)pnpm install # installe toutes les dépendances
cp .env.example .env # puis remplir DATABASE_URL, BETTER_AUTH_SECRET, ADMIN_EMAIL
pnpm db:migrate # crée les tables
pnpm db:seed # données de référence + compte administrateur (ADMIN_EMAIL)
pnpm dev # http://localhost:3000
Sans clé Claude (ANTHROPIC_API_KEY), une IA « factice » génère une recette d'exemple :
tout le parcours fonctionne, sans coût. Avec la clé, pnpm ai:essai "votre idée" lance une
vraie génération et affiche son coût.
Sans clé Resend, les e-mails ne partent pas : le lien de connexion s'affiche dans le
terminal et est enregistré dans apps/web/.outbox/.
ADMIN_EMAIL.| Adresse | Rôle |
|---|---|
/connexion | Connexion par lien magique (15 min, usage unique) |
/invitation/[code] | Création du compte avec un code (CGU + confidentialité) |
/app | Espace connecté : solde du mois |
/app/creer | Wizard de création en 12 étapes (sauvegarde automatique) |
/app/recettes | Mes recettes, et chaque recette avec ses versions |
/app/compte/securite | Appareils connectés, déconnexion partout |
/2fa | Second facteur des administrateurs |
/admin | Tableau de bord, utilisateurs, invitations, journal |
/legal/cgu | Documents juridiques (versions provisoires) |
/design | Vitrine du système de design |
/en/... | Version anglaise de chaque page |
| Commande | Rôle |
|---|---|
pnpm dev | Serveur de développement |
pnpm build | Build de production |
pnpm lint | Analyse du code (ESLint) |
pnpm typecheck | Vérification des types (TypeScript strict) |
pnpm test | Tests unitaires et d'intégration (Vitest) |
pnpm test:e2e | Tests de bout en bout dans un navigateur (après pnpm build) |
pnpm check | Lint, types, tests et build d'un coup |
pnpm db:generate | Génère une migration après modification du schéma |
pnpm db:migrate | Applique les migrations |
pnpm db:seed | Données de référence (relançable sans doublons) |
pnpm ai:essai | Une vraie génération avec Claude (nécessite la clé) |
pnpm format | Formate le code (Prettier) |
Les tests d'intégration et de bout en bout utilisent des bases dédiées
(DATABASE_URL_TEST, DATABASE_URL_E2E), vidées à chaque lancement : leur nom doit
contenir « test ». Sans DATABASE_URL_TEST, les tests d'intégration sont ignorés.
Couverture des calculs : pnpm --filter @culinova/core test:coverage.
apps/web Next.js (App Router) : site public, /app, /admin, API
packages/core Logique pure : unités, conversions, portions, coûts, marges, listes de courses
packages/db Schéma Drizzle, migrations, seeds
packages/ai Prompts, schémas Zod, adaptateurs LLM et image
packages/jobs Tâches longues (Inngest)
packages/emails Gabarits d'e-mails (React Email)
packages/ui Système de design (thèmes clair et sombre)
Unités internes : grammes, millilitres, pièces, °C, secondes. Montants en centimes entiers.
Coûts d'IA en micro-dollars (1 $ = 1 000 000), car facturés en dollars par fractions de centime.
Prix au kilo / au litre / à la pièce stockés en numeric(12,4) exprimés en euros
(« 9.8000 » = 9,80 €/kg). Les calculs intermédiaires sont exacts (entiers) et
l'arrondi au centime n'a lieu qu'à la fin.