Gram

Codez vos recettes.

Un DSL déclaratif open-source pour la cuisine. Conçu pour la logique culinaire, Gram compile vos instructions en texte brut en données structurées, calculées et relationnelles.

cremeux-citron.gram
## Crémeux Citron

[Mélanger] Fouetter le @jus de citron{100 g}<@citrons{3}, les @œufs{2}, et le @sucre{120% @&jus de citron} dans une #casserole{}. ->&base

[Cuire] Chauffer la &base à ^{82C} sur feu moyen pendant ~{5m}.

[Emulsionner] Retirer du feu et incorporer le @beurre{120 g}. Réserver au frais pendant ~_frigo{2h}.

Philosophie

Pensé pour être fluide à écrire, intuitif à versionner et rapide à analyser.

Fichiers texte & Git

Aucun verrouillage propriétaire. Vos recettes sont de simples fichiers texte, faciles à versionner avec Git, à partager et à éditer dans l'éditeur de votre choix.

En savoir plus: Fichiers texte & Git

Calculs automatiques

Ajustez les portions sans calculs mentaux. Gram gère nativement l'arithmétique, les variables et la conversion d'unités.

En savoir plus: Calculs automatiques

Recettes modulaires (@use)

Ne dupliquez plus vos pâtes, bouillons ou sauces. Découpez vos préparations de base dans des fichiers dédiés et importez-les dans n'importe quelle recette en une seule ligne.

En savoir plus: Recettes modulaires (@use)

Support IDE dédié

Grâce à son serveur de langage (LSP) dédié, profitez de l'autocomplétion, de la coloration sémantique et des diagnostics en temps réel, directement dans votre éditeur favori.

En savoir plus: Support IDE dédié

Export universel

Gram compile vos recettes en un arbre syntaxique (AST) complet. Générez du JSON ou du Markdown pour alimenter le générateur de site statique de votre choix et créer le carnet de recettes ultime.

En savoir plus: Export universel

CLI puissante

Pilotez votre espace de travail directement depuis le terminal. La CLI officielle permet d'initialiser un projet, de formater et de compiler vos recettes en une seule commande.

En savoir plus: CLI puissante

Gram en pratique

Découvrez comment le compilateur transforme vos instructions texte en données typées et exploitables.

Base de données & nutrition

Standardisez vos mesures et calculez vos macros grâce à une base de données locale auto-générée à partir de vos fichiers.En savoir plus: Base de données & nutrition

input.gram
---
portions: 4
---

## Crème Chantilly

[Fouetter] La @crème liquide{1 tasse} et le @sucre glace{2 c.à.s} jusqu'à obtenir des pics souples.

[Incorporer] Ajouter délicatement l'@extrait de vanille{1 c.à.c}.
  1. FouetterLa crème liquide (240g) et le sucre glace (25g) jusqu'à obtenir des pics souples.
  2. IncorporerAjouter délicatement l'extrait de vanille (4g).
NutritionEstimation
Par portionPour 100 gRecette entière
Calories231 kcal
Matières grasses22 g
Glucides6.5 g
  • dont sucres6.3 g
Fibres0 g
Protéines1.5 g
Sodium11 mg

Planification intelligente (ALAP)

Visualisez votre rétroplanning. Gram détecte vos minuteries et planifie les tâches passives « As Late As Possible » (aussi tard que possible) pour réduire les temps morts en cuisine.En savoir plus: Planification intelligente (ALAP)

input.gram
## Pâtes Tomate Basilic

[Bouillir] Les @pâtes{200g} dans de l'eau salée pendant ~_ebullition{10min}. ->&pâtes cuites{}

[Sauter] Les @tomates cerises{200g} et l'@ail{2 gousses} dans de l'@huile d'olive{} pendant ~{5min}. ->&sauce

[Mélanger] Les &pâtes cuites{} dans la &sauce chaude avec du @basilic frais{1 poignée}.
Rétro-planning : Temps total 17 minutes, temps actif 7 minutes. Déroulé : 0 à 5m : Mise en place ; 5 à 15m : Ébullition ; 10 à 15m : Sauter ; 15 à 17m : Mélanger.

Recettes modulaires (@use)

Importez vos préparations de base avec @use. Gram résout les dépendances, imbrique les étapes dans la recette et adapte automatiquement les quantités au besoin.En savoir plus: Recettes modulaires (@use)

input.gram
@use "./bases/pate-sablee.gram" as &pâte

## Tarte Citron

[Foncer] Le #cercle à tarte{} avec la &pâte{250g}.

[Cuire à blanc] Cuire au four pendant ~_four{18min} à ^{175°C}.

[Garnir] Verser le @crémeux citron{300g}.

Pâte Sablée

📦 bases/pate-sablee.gram → pâte (×0.5)
  1. SablerLa farine (125g), le beurre (62.5g), le sucre glace (45g) et l'eau (17.5g).

Tarte Citron

  1. FoncerLe cercle à tarte avec la pâte (250g).
  2. CuireAu four pendant 18min à 175°C.
  3. GarnirVerser le crémeux citron (300g).

Le pourcentage du boulanger

Gérez nativement le pourcentage du boulanger. Liez vos ingrédients à une masse de référence pour recalculer n'importe quelle recette en un instant.En savoir plus: Le pourcentage du boulanger

input.gram
## Pain de Campagne

[Mélanger] La @*farine T65{400g}, la @farine complète{100g}, l'@eau{75% @&farine T65}, le @sel{2% @&farine T65}, et le @levain{20% @&farine T65}.
Pourcentages du boulanger pour la recette
Ingrédient et poidsPourcentage
Farine T65 - 400g100%
Farine Complète - 100g25%
Eau - 375g75%
Levain - 100g20%
Sel - 10g2%

Rejoindre le projet

Découvrir le langage

Le guide de référence pour tout comprendre de Gram : sa syntaxe, son outillage et son moteur. Le point d'entrée idéal pour démarrer ou approfondir les concepts avancés.

Lire la documentation: Découvrir le langage

Contribuer

Gram est un projet open-source et collaboratif. N'hésitez pas à explorer le code, signaler des anomalies ou proposer une contribution (PR) sur le compilateur ou la documentation.

Voir sur le dépôt officiel: Contribuer

Créer un projet

Initialisez votre espace de travail en quelques secondes. La CLI génère tout le nécessaire pour que vous puissiez rédiger votre première recette.

npx @gram-lang/cli init