« Dans toutes les fictions, chaque fois qu'un homme est mis en présence de plusieurs alternatives, il opte pour une et élimine les autres. Dans la fiction de Ts'ui Pên, il les choisit toutes simultanément. » — Jorge Luis Borges, Le jardin aux sentiers qui bifurquent
Un système agentique d'écriture de roman, où l'auteur joue son propre livre dont il est le héros — pendant que les agents en garantissent la qualité littéraire.
🇫🇷 Français | 🇬🇧 English
Les outils d'écriture agentique existants (InkOS, Claude Book, LibriScribe, CreAgentive) font écrire un roman à des agents pendant que l'humain valide en bout de chaîne. Tu acceptes ou tu rejettes. La vraie agency narrative — celle de choisir une direction parmi plusieurs possibles — reste hors du process.
À l'inverse, les générateurs de gamebooks IA (NovelistAI, Talefy, AI Dungeon) produisent un objet ludique pour un lecteur final. Le résultat n'est pas un roman, c'est un jouet textuel.
Sentiers réconcilie les deux.
Pendant l'écriture, l'auteur vit son texte comme un livre dont il est le héros : à chaque chapitre, plusieurs branches narratives s'ouvrent, l'auteur en choisit une, les agents l'exécutent avec exigence. Le snapshot d'état permet de revenir en arrière, d'explorer une autre branche, de comparer.
Le process est gamifié. Le produit est un roman linéaire.
C'est la seule distinction qui compte, et personne ne la fait.
C'est ce que l'auteur voit, à chaque chapitre :
─────────────────────────────────────────────────
Chapitre 12 — Le retour de Lucien
Tension narrative : ▓▓▓▓▓▓▓░░░ 72/100 (montée)
Promesses ouvertes : 4 · Cartes en main : 2
─────────────────────────────────────────────────
Trois sentiers s'ouvrent :
[A] Confrontation immédiate
Lucien révèle savoir le secret de Marie.
Registre Despentes, scène brutale, dialogue tendu.
→ Accélère l'arc principal de 2 chapitres.
⚠ Risque : grille le slow-burn construit depuis C5.
[B] Faux-semblants
Lucien feint l'ignorance, propose un dîner.
Scène mondaine codée à l'Echenoz, ironie sourde.
→ Repousse la révélation à C15.
⚠ Risque : peut paraître étiré.
[C] Marie absente
Refocalise sur Lucien seul, monologue intérieur.
Réintroduit le motif du jardin (préfigurations C2, C7).
→ Permet d'honorer la promesse #2 (jardin/mémoire).
⚠ Risque : casse le rythme attendu du lecteur.
[✎] Personnaliser — écris ta propre direction.
[↶] Revenir au C11 et explorer une autre branche.
Ton choix › _
L'auteur clique. Le chapter-writer exécute. Les reviewers (style, continuité, personnages) repassent. Le chapitre s'écrit. Et l'arbre narratif se construit, branche après branche.
Sentiers est un fork de Claude Book. On garde son ossature solide (bible permanente, état versionné par chapitre, agents reviewers, snapshots) et on ajoute trois couches :
┌──────────────────────────────────────────┐
│ COUCHE 1 — CHOICE ENGINE │
│ branch-master · l'auteur choisit │
└────────────────┬─────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ COUCHE 0 — CLAUDE BOOK (hérité) │
│ planner · writer · linters · state │
└────────────────┬─────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ COUCHE 2 — GAME LAYER │
│ cartes · jauge · achievements · rewind │
└────────────────┬─────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ COUCHE 3 — UI WEB (Next.js) │
│ arbre narratif · cards · jauge live │
└──────────────────────────────────────────┘
chapter-planner(Claude Book) — produit les beats du chapitre depuis la bible et l'état courantbranch-master⭐ (nouveau) — propose 3-4 directions narratives avec registre, conséquences, risques- HUMAIN — choisit, personnalise ou rewind
chapter-writer(Claude Book) — exécute la branche choisie en suivantbible/style.mdstyle-linter·character-reviewer·continuity-reviewer(parallèle) — gates de qualitétension-tracker⭐ (nouveau) — annote la tension narrative 0-100- Loop si gates KO (max 3 itérations)
state-updater— archivestate/chapter-NN/, append àtimeline/, met à jourpending_hooks.md
| Agent | Origine | Rôle |
|---|---|---|
chapter-planner |
Claude Book | Beats narratifs depuis synopsis + bible |
branch-master |
Sentiers ⭐ | Génère 3-4 sentiers possibles + risques |
chapter-writer |
Claude Book | Rédige la branche choisie, registre bible/style.md |
style-linter |
Claude Book | Vérifie conformité au style guide |
character-reviewer |
Claude Book | Cohérence des personnages et de leur voix |
continuity-reviewer |
Claude Book | Logique temporelle et spatiale |
tension-tracker |
Sentiers ⭐ | Mesure la tension narrative chapitre par chapitre |
card-dealer |
Sentiers ⭐ | Pioche les cartes twist disponibles à l'auteur |
achievement-watcher |
Sentiers ⭐ | Détecte les exploits littéraires accomplis |
state-updater |
Claude Book | Archive l'état, met à jour timeline |
À chaque chapitre, 3 cartes sont piochées aléatoirement parmi un deck éditable. L'auteur en garde une et doit la jouer dans les deux prochains chapitres.
deck/
├── revelation.md # "Une vérité longtemps cachée surgit."
├── ellipse-temporelle.md # "Saute trois mois en avant."
├── point-de-vue.md # "Bascule vers un personnage secondaire."
├── tchekhov.md # "Plante un objet qui devra tirer en C+5."
├── ironie-tragique.md # "Le lecteur sait, le personnage non."
├── motif-recurrent.md # "Réintroduis un motif déjà planté."
├── prolepse.md # "Insère un flash sur le futur."
└── monologue.md # "Donne 800 mots de monologue intérieur."
Le deck est forkable. Chaque école littéraire pourrait avoir le sien (Oulipo, Nouveau Roman, Roman noir, Romance régence…).
Un agent tension-tracker annote chaque chapitre sur 100, et l'auteur voit en temps réel sa courbe narrative — utile pour repérer les ventres mous, les pics non préparés, les fins de chapitre qui retombent. Inspiré de Larry Brooks (Story Engineering) et Dan Harmon (Story Circle) sans imposer de structure.
Détectés automatiquement par achievement-watcher :
- 🎯 Tchekhov accompli — un objet planté il y a 5+ chapitres a tiré
- 🌀 Promesse honorée — un hook ouvert depuis 3+ chapitres résolu
- 🧊 Slow burn — 7 chapitres de tension croissante sans pic prématuré
- 🪞 Inversion réussie — un personnage agit contre son trait dominant et c'est justifié
- 🔇 Anti-deus ex machina — 10 chapitres consécutifs sans intervention scénaristique forcée
- 📜 Holorime placé (spécial FR) — un calembour phonétique sophistiqué intégré sans casser la diégèse
Pour les jours où l'auteur veut être surpris : il choisit juste un mood card (mélancolie, accélération, silence, fracture, tendresse) sans voir les options détaillées. branch-master choisit pour lui.
Hérité de Claude Book (state/chapter-NN/). À tout moment, retour à un chapitre passé pour explorer une autre branche. L'arbre narratif se construit en arrière-plan ; au moment de l'export final, l'auteur choisit la branche canonique.
Prérequis : Claude Code installé et logué,
git,pandoc(pour l'export ebook). OS : macOS, Linux. Windows via WSL.
# Clone le seed
git clone https://github.com/wabab/sentiers.git
cd sentiers
code . # ou cursor . / open .
# Lance Claude Code dans le dossier — CLAUDE.md (orchestrateur) se charge automatiquement- Édite
bible/style.md— investis 80% de ton temps ici. Met de vrais extraits annotés. - Crée tes personnages :
cp bible/characters/_template.md bible/characters/lucien.md - Écris
story/synopsis.mdetstory/plan.md - Initialise
state/template/et le symlinkstate/current/ - Dans Claude Code :
Lance le chapitre 1
L'orchestrateur va :
- Faire planifier les beats
- Te proposer 3-4 sentiers
- Attendre ton choix
- Écrire et faire reviewer
- Sauvegarder l'état et te proposer le chapitre suivant
cd ui
pnpm install
pnpm dev
# → http://localhost:3000L'UI lit directement le repo et te montre l'arbre narratif, la jauge de tension, les cartes en main, les achievements.
sentiers/
├── CLAUDE.md # Orchestrateur — entrée principale
├── .claude/
│ ├── agents/ # Définitions des 10 agents (md + frontmatter YAML)
│ │ ├── branch-master.md ⭐ Génère les sentiers
│ │ ├── chapter-writer.md
│ │ ├── tension-tracker.md ⭐
│ │ ├── card-dealer.md ⭐
│ │ └── achievement-watcher.md ⭐
│ └── skills/ # Skills réutilisables hérités de Claude Book
├── bible/ # PERMANENT — ne change pas en cours d'écriture
│ ├── style.md # ← le fichier qui détermine 80% de la qualité
│ ├── structure.md
│ ├── characters/
│ └── universe/
├── state/ # TRANSIENT — versionné par chapitre
│ ├── current/ # symlink → dernier état
│ └── chapter-NN/ # snapshots
├── story/
│ ├── synopsis.md
│ ├── plan.md
│ ├── chapters/ # Le roman canonique (branche choisie)
│ └── alternates/ # Les sentiers explorés mais non retenus
├── tree/ # Arbre narratif sérialisé (JSON)
│ └── narrative-tree.json
├── deck/ # Decks de cartes twist (forkables)
│ ├── default/
│ ├── oulipo/
│ ├── nouveau-roman/
│ └── romance-regence/
├── achievements/ # Définitions et détections
├── timeline/ # Append-only event log
├── ebook/ # Export EPUB/MOBI
└── ui/ # Web UI Next.js (v0.2+)
├── app/
└── lib/
| Sentiers | Claude Book / InkOS | NovelistAI / Talefy | AI Dungeon | |
|---|---|---|---|---|
| Multi-agent qualité | ✅ | ✅ | ❌ | ❌ |
| HITL via choix narratifs | ✅ | ⚠ binaire | ❌ | ⚠ free-form |
| Output = roman linéaire | ✅ | ✅ | ❌ gamebook | ❌ jeu |
| Mécaniques ludiques | ✅ | ❌ | ⚠ pour lecteur | ⚠ |
| Rewind d'état | ✅ | ✅ | ❌ | ❌ |
| Decks éditoriaux | ✅ | ❌ | ❌ | ❌ |
| Open source MIT | ✅ | ✅ | ❌ | ❌ |
| Focus prosodie française | ✅ | ⚠ | ❌ | ❌ |
- Fork Claude Book
- Agent
branch-masteropérationnel - Insertion dans l'orchestrateur (CLAUDE.md)
- CLI fonctionnel : 3-4 sentiers proposés à chaque chapitre
- Test de bout en bout sur un mini-roman de 5 chapitres (bloque sur l'auteur)
- Agent
tension-tracker - Sérialisation de l'arbre narratif (
tree/narrative-tree.json) - Web UI minimale (Next.js) : arbre + cards de choix + jauge
- Mode rewind exposé en UI
- Cartes twist (deck
default, 8 cartes) - Mode blind branch (spec dans branch-master + CLAUDE.md)
- Achievements de base (7 achievements)
- Decks alternatifs :
oulipo,nouveau-roman,romance-regence
- Export final qui linéarise la branche canonique en EPUB/PDF
- Documentation complète (
docs/)
- 🎴 Marketplace de decks (Roman noir, SF, polar, autofiction)
- 🌐 Mode collaboratif (deux auteurs, deux sentiers, fusion finale)
- 🔬 Cross-model verification (un autre modèle audite chaque branche)
- 🎙️ Mode dictée vocale du choix
- 🧠 Persona-readers : un panel de lecteurs synthétiques évalue le chapitre avant de proposer le suivant (passerelle vers le projet
lectorat) - 📚 Anti-plagiat externe (similarity check sur Google Books)
- Runtime : Claude Code (orchestration des agents)
- Modèle : Claude Opus 4.7 pour le writer, Haiku 4.5 pour les linters
- Base : fork de Claude Book (MIT)
- UI (v0.2+) : Next.js 15, Tailwind, shadcn/ui, D3 pour l'arbre, responsive mobile first, anti pattern AI slop
- Export : Pandoc (EPUB), Calibre (MOBI/AZW3)
- Anti-slop (optionnel) : passerelle vers un perplexity check (à brancher)
Avec prompt caching activé et routing par agent :
| Profil | Coût par chapitre | Roman 30 chapitres |
|---|---|---|
| Tout Opus | ~2,00 € | ~60 € |
| Routing Sonnet/Haiku | ~0,50 € | ~15 € |
| Routing + batch API | ~0,30 € | ~9 € |
Pour comparaison : éditeur de manuscrit humain = 800-2000 € par roman.
- Claude Book par Thomas Houssin — l'ossature, le multi-agent, la bible, l'état versionné
- InkOS par Narcooo — les trois fichiers de vérité, le tracker de promesses, l'idée de gates auto-correctifs
- Jorge Luis Borges — Le jardin aux sentiers qui bifurquent (1941)
- Choose Your Own Adventure (Edward Packard, 1979) et Fighting Fantasy (Jackson & Livingstone, 1982) — la mécanique gamebook
- Magic: The Gathering — les decks éditoriaux, la pioche, le mulligan, le scoring
- Oulipo — la contrainte comme libération
- Larry Brooks Story Engineering et Dan Harmon Story Circle — la jauge de tension
- Tchekhov — « Si dans le premier acte vous accrochez un fusil au mur, alors dans le suivant il faudra qu'il soit tiré. »
Les contributions sont bienvenues, particulièrement :
- 🃏 Nouveaux decks de cartes twist (école littéraire, genre, registre)
- 🎯 Nouvelles définitions d'achievements
- 🤖 Nouveaux agents reviewers (rythme, dialogue, sensorialité, point de vue)
- 📝 Améliorations de
bible/style.mdannotées (Houellebecq, Modiano, Ernaux, Despentes, NDiaye…) - 🐛 Bugs et améliorations de l'orchestrateur
# Setup dev
git clone https://github.com/wabab/sentiers.git
cd sentiers
# Tout est en markdown + JSON — pas de build pour la partie agents
# Pour la web UI :
cd ui && pnpm install && pnpm devVoir CONTRIBUTING.md.
MIT — fais-en ce que tu veux, attribue, c'est tout.
Baptiste Hédiard (@wabab) — Fork de (Claude-Book par ThomasHoussin), codé avec Claude Code.
Si Sentiers t'aide à écrire un roman, j'aimerais le lire. Ouvre une issue ou écris-moi baptiste@hediard.pm
« Cette trame de temps qui s'approchent, bifurquent, se coupent ou s'ignorent pendant des siècles, embrasse toutes les possibilités. » — Borges, encore.