Skip to main content

Stack

OutilUsage
BunRuntime, package manager, scripts
TypeScript 5.9Strict mode, ES2022 target
Biome 2.xFormatter + linter (remplace ESLint + Prettier)
TurboOrchestration des builds monorepo

Conventions

  • Modules : ES modules uniquement ("type": "module")
  • Formatage : tabs, double quotes — via Biome
  • Imports packages : protocole workspace:*
  • API JSX : hono/jsx comme jsxImportSource

Commandes qualité

bun run check        # Lint Biome (erreurs)
bun run format       # Format Biome (auto-fix)
bun run typecheck    # tsc --noEmit sur tout le workspace

Structure d’un package

packages/mon-package/
  src/
    index.ts         # Point d'entrée
  package.json       # "type": "module", scripts build/dev
  tsconfig.json      # Étend @wrappy/configs/tsconfig

API (Hono.js)

Architecture en couches :
apps/api/src/
  controllers/     → handlers de requêtes
  routes/          → définition des endpoints
  services/        → logique métier
  repositories/    → accès données (Drizzle)
  middlewares/     → CORS, timeout, logging, erreurs
  lib/             → utilitaires, client DB

Base de données (Drizzle + Neon)

bun run db:generate  # Générer les migrations
bun run db:push      # Appliquer les migrations
bun run db:studio    # Ouvrir Drizzle Studio
Les schémas sont dans packages/db/src/schema/.

Créer un nouveau package

bun run cp <nom>     # Scaffold depuis le template