Démarrage rapide
Configurer le projet localement en quelques minutes.
Prérequis
- Bun 1.3+
- Postgres
- Git
- Un fichier
.envou.env.localconfiguré
Facultatif mais utile:
- Vercel CLI pour récupérer les variables d'environnement et garder la parité avec le déploiement
- Stripe CLI pour valider les webhooks de facturation
- Supabase CLI lors de la réinitialisation d'une base Supabase liée
- Docker Compose pour la pile portable auto-hébergée
1. Installer les dépendances
bun install2. Configurer l'environnement
cp .env.example .envPour le développement local, mettez au minimum à jour:
NEXT_PUBLIC_BASE_URLDATABASE_URLBETTER_AUTH_TRUSTED_ORIGINS
Base locale recommandée:
NODE_ENV=development
NEXT_PUBLIC_BASE_URL=http://localhost:3080
DATABASE_URL=postgresql://user:password@localhost:5432/yayaw
BETTER_AUTH_TRUSTED_ORIGINS=http://localhost:3080La production utilise https://yayaw.app comme NEXT_PUBLIC_BASE_URL
canonique. Utilisez BETTER_AUTH_TRUSTED_ORIGINS uniquement pour les origines
de preview ou locales supplémentaires; l'hôte canonique et sa variante www
sont dérivés automatiquement.
Pour la configuration propre aux fournisseurs, utilisez:
- Variables d'environnement pour la liste complète des variables
- Configuration de l'environnement de déploiement pour savoir où récupérer les valeurs de production
3. Initialiser la base de données et les seeds
bun run setupsetup exécute:
- la génération de schéma Better Auth
- les actions serveur Drizzle générées
- le push DB
- les données de seed
Relancez-le après des changements de schéma ou de seed lorsque vous avez besoin de retrouver la parité locale.
4. Démarrer le serveur de développement
bun run devL'application tourne sur http://localhost:3080.
5. Commandes locales courantes
bun run db:push
bun run seed
bun run docs:generate
bun run docs:llm:generateUtilisez bun run db:reset uniquement lorsque vous voulez intentionnellement
réinitialiser une base locale liée et la reseeder. Cette commande attend que la
CLI Supabase soit installée sur votre machine via Homebrew, Scoop ou le binaire
standalone plutôt que via les dépendances npm du projet.
Utilisez la pile Compose auto-hébergée lorsque vous voulez une parité locale avec le runtime portable plutôt qu'un fournisseur hébergé:
cp .env.self-host.example .env.self-host
perl -0777 -i -pe "s/^BETTER_AUTH_SECRET=$/BETTER_AUTH_SECRET=$(openssl rand -hex 32)/m" .env.self-host
docker compose --env-file .env.self-host -f docker-compose.self-host.yml --profile setup run --rm migrate
docker compose --env-file .env.self-host -f docker-compose.self-host.yml up --buildL'app est servie par Caddy sur http://localhost:8080, avec Postgres, MinIO/S3 et le worker DB Page AI comme services séparés.
Commandes qualité
bun run check
bun run docs:generate
bun run docs:check-links
bun run docs:check-translations
bun run docs:llm:check
bunx tsc --noEmit
bun run buildPour le travail de facturation, exécutez aussi:
bun run testWorkflow de branche
Démarrez le travail de fonctionnalité depuis un main à jour:
git checkout main
git pull --ff-only origin main
git checkout -b codex/<short-task-name>Gardez chaque tâche dans sa propre branche et sa propre pull request. Ne mélangez pas docs générées, changements de fonctionnalité et expériences locales sans rapport, sauf si la tâche l'exige explicitement.