Que fait grimoire ?
Installez et utilisez Grimoire, rédigez des fichiers .spell avec une couverture syntaxique complète (y compris la logique de décision consultative), et exécutez en toute sécurité les commandes compile/validate/simulate/cast. Utilisez cette compétence lorsque les utilisateurs demandent à créer, modifier, déboguer, valider, simuler, exécuter ou expliquer des stratégies Grimoire.
Installation
Assurez-vous d'avoir Node.js installé (version 16 ou ultérieure). Installez Grimoire globalement via npm :
npm install -g @franalgaba/grimoire
Vérifiez l'installation :
grimoire --version
Utilisation
Créer un fichier .spell
Les fichiers .spell définissent une stratégie. Voici un exemple simple avec la logique de décision consultative :
# strategy.spell
name: "Stratégie d'approbation"
version: 1.0
advisory: true
decisions:
- if: user.role == 'admin'
then: approve
- if: user.risk_score < 50
then: approve_with_review
- else: reject
Valider un fichier .spell
grimoire validate strategy.spell
Compiler un fichier .spell
grimoire compile strategy.spell
Simuler l'exécution
grimoire simulate strategy.spell --input "data.json"
Exécuter (caster) en production
grimoire cast strategy.spell --input "data.json" --mode production
Syntaxe complète du fichier .spell
| Élément | Description |
|---|---|
name | Nom de la stratégie (chaîne) |
version | Numéro de version (flottant) |
advisory | Booléen (true/false) activant la logique consultative |
decisions | Tableau de règles conditionnelles (if ... then ... else ...) |
variables | Définitions de variables réutilisables (optionnel) |
meta | Métadonnées personnalisées (optionnel) |
Logique de décision consultative
Lorsque advisory: true, la stratégie ne s'exécute pas en mode bloquant ; elle retourne des recommandations. Chaque décision peut être marquée avec un niveau d'importance :
decisions:
- if: transaction.amount > 10000
then: flag_for_review
advisory_priority: high
- if: transaction.amount < 100
then: auto_approve
advisory_priority: low
Dépannage
- Erreur de syntaxe : Vérifiez l'indentation YAML et les guillemets autour des chaînes.
- Dépendances manquantes : Réexécutez
npm install -g @franalgaba/grimoire. - Version obsolète : Mettez à jour avec
npm update -g @franalgaba/grimoire.
Sécurité
- Ne castez jamais une stratégie non validée.
- Utilisez
validateetsimulateavantcast. - Les variables d'environnement dans les fichiers
.spell(par exemple${API_KEY}) doivent être définies en toute sécurité.