Skip to content

shug0/jdr-assistant

Repository files navigation

Combien couste ? 🎲

« Combien couste ? » — combien ça coûte, en moyen français : le « s » de couste est celui que l'accent circonflexe de « coûte » a remplacé.

Assistant de jeu de rôle médiéval-fantastique : un catalogue d'objets aux prix réalistes et un générateur de PNJ ancré dans la même économie. Les objets (armes, armures, bétail…) ont un prix et un poids calculés dynamiquement selon le matériau choisi, objet décomposé en composants physiques (lame, garde, poignée…), le tout en lecture seule et bilingue (FR/EN).

✨ Fonctionnalités

  • Catalogue d'objets : vue liste (table + cartes) avec recherche, filtres et tri ; vue détail par objet.
  • Calcul de prix réaliste : coût de revient à 2 termes (matière + travail) × qualité, matière et poids sommés sur les composants ; la cohérence est vérifiée contre des prix historiques sourcés (cf. docs/ECONOMIC-MODEL.md).
  • Sélecteur de matériau : le prix et le poids se recalculent en changeant le matériau de la partie principale (lame, plaques…), en ne proposant que les matériaux disponibles à l'ère courante.
  • Conversion de devises hiérarchique (po / pa / pc).
  • Générateur de PNJ : fiche générée par tables conditionnées (milieu → métier → économie, âge → passé), reroll par champ avec cascade visible, module optionnel « magie », grimoire persistant ; revenus sourcés historiquement et étal pricé par le vrai catalogue (cf. docs/NPC-GENERATOR.md).
  • i18n FR/EN via next-intl.

🛠️ Stack

  • Framework : Next.js 15 (App Router), React 19, TypeScript (strict, sans any)
  • UI : shadcn/ui, Tailwind CSS
  • État : Zustand (état local ciblé)
  • Validation : Zod (schémas d'objets et de matériaux)
  • i18n : next-intl
  • Tests : Vitest
  • Lint/format : Biome

🚀 Démarrage

pnpm install
pnpm dev

Ouvrir http://localhost:3000.

Scripts utiles

pnpm dev        # serveur de développement
pnpm build      # build de production
pnpm typecheck  # vérification TypeScript
pnpm lint       # Biome
pnpm test:run   # tests Vitest

📁 Organisation

Le code suit une organisation feature-first sous src/features/. Voir docs/ARCHITECTURE.md pour la structure détaillée (vues list/detail, modules métier, schémas).

Le dossier .claude/ (agents, hooks) est de l'outillage de développement privé et ne fait pas partie de l'application livrée.

Releases

No releases published

Packages

 
 
 

Contributors

Languages