Files
fvtt-ecryme/AGENTS.md
T
uberwald 6ae99aadb0
Release Creation / build (release) Successful in 45s
Fix v14 migration issues
2026-05-25 23:08:58 +02:00

4.0 KiB

Agents pour le système JDR Ecryme (FoundryVTT)

Ce fichier documente les commandes et workflows pour les agents (automatisations, scripts, outils externes) utilisés dans le développement et la maintenance du système Ecryme pour FoundryVTT.

Commandes de développement

Linting et validation

# Vérification du code TypeScript
npm run lint

# Vérification des types
npm run typecheck

# Construction du projet
npm run build

Tests

# Exécution des tests unitaires
npm test

# Exécution des tests avec couverture
npm run test:coverage

Déploiement

# Construction pour la production
npm run build:prod

# Génération du package pour FoundryVTT
npm run package

Workflows recommandés

Avant de soumettre une PR

  1. Exécuter les tests unitaires
  2. Vérifier le linting (npm run lint)
  3. Vérifier les types (npm run typecheck)
  4. Construire le projet (npm run build)
  5. Tester manuellement dans FoundryVTT avec les scénarios de test fournis dans /test-scenarios/

Pour ajouter une nouvelle fonctionnalité

  1. Créer une branche feature/<nom-de-la-fonctionnalité>
  2. Ajouter les tests dans /tests/
  3. Implémenter la fonctionnalité
  4. Mettre à jour la documentation dans /docs/ si nécessaire
  5. Soumettre une PR avec une description claire des changements

Structure du projet

/
├── src/                # Code source principal
│   ├── module/         # Définition du module FoundryVTT
│   ├── systems/        # Systèmes de règles spécifiques à Ecryme
│   ├── actors/         # Logique des acteurs (PJs, PNJs, créatures)
│   ├── items/          # Logique des objets (armes, sorts, équipements)
│   └── utils/          # Utilitaires partagés
├── tests/              # Tests unitaires et d'intégration
├── docs/               # Documentation technique et utilisateur
├── templates/          # Templates Handlebar pour les feuilles de personnage
└── test-scenarios/      # Scénarios de test pour FoundryVTT

Conventions de codage

  • TypeScript strict : Toujours utiliser les types les plus précis possibles
  • Noms de fichiers :
    • PascalCase pour les classes (CharacterSheet.ts)
    • kebab-case pour les templates (character-sheet.hbs)
    • camelCase pour les utilitaires (diceRoller.ts)
  • Tests :
    • Un fichier de test par fichier source (characterSheet.test.ts)
    • Couverture minimale de 80% requise pour les PR

Outils spécifiques à FoundryVTT

Génération des templates

# Recompiler les templates Handlebar après modification
npm run build:templates

Validation des données

# Valider la structure des données contre le schéma
npm run validate:schema

Déploiement pour test local

# Lier le module en développement à FoundryVTT (nécessite le module "Module Developer")
npx foundryvtt-link

Dépannage

Problèmes courants

  1. Les changements ne s'affichent pas dans Foundry :

    • Vérifier que le module est bien lié (npm run link)
    • Redémarrer FoundryVTT
    • Vider le cache du navigateur (Ctrl+F5)
  2. Erreurs de type dans les templates :

    • Exécuter npm run validate:templates
    • Vérifier les annotations JSDoc dans les fichiers .ts
  3. Problèmes de performance :

    • Utiliser le profiler de Foundry (F12 > Performance)
    • Vérifier les boucles dans les templates Handlebar

Ressources utiles

Contribution

Les contributions sont les bienvenues ! Veuillez :

  1. Ouvrir une issue pour discuter des changements majeurs
  2. Suivre les conventions de codage ci-dessus
  3. Inclure des tests pour les nouvelles fonctionnalités
  4. Mettre à jour la documentation si nécessaire