Aller au contenu

lore init

Initialiser un dépôt de documentation Lore dans votre projet.

Synopsis

lore init [flags]

Qu'est-ce que ça fait ?

lore init prépare votre projet à documenter le "pourquoi" derrière vos changements de code. La commande crée le dossier .lore/ et installe le hook Git qui déclenche le flux de questions après chaque commit.

Scénario concret

Vous venez de créer un nouveau projet Go. Vous avez lancé git init, écrit vos premiers fichiers, fait votre premier commit. Vous voulez que chaque futur commit porte son "pourquoi". Une seule commande :

lore init

Désormais, chaque git commit déclenche 3 questions essentielles (plus 2 optionnelles pour les commits à plus fort enjeu). Votre projet a une mémoire.

lore init

Prérequis

  • Vous devez être dans un dépôt Git (un dossier où vous avez lancé git init)
  • C'est tout ! Pas de compte, pas de clé API, pas de connexion internet

Ce qui se passe quand vous lancez

cd mon-projet
lore init

Lore fait 5 choses :

  1. Crée le dossier .lore/ — C'est là que vit toute votre documentation
.lore/
├── docs/          # Vos fichiers de documentation
├── pending/       # Commits en attente de documentation
├── templates/     # Templates personnalisés (optionnel, avancé)
├── store.db       # Index intelligent (auto-géré, ignorez-le)
└── README.md      # Explique Lore à quiconque clone votre repo
  1. Crée .lorerc — Fichier de config partagé (committé dans git, visible par l'équipe)
  2. Crée .lorerc.local — Fichier de config personnel (gitignore, pour les clés API)
  3. Installe le hook Git — Un petit script qui déclenche Lore après chaque commit
  4. Propose une démo — Vous montre comment Lore fonctionne en ~45 secondes

Analogie : Le hook Git agit comme un rappel automatique après chaque commit — plus besoin de penser à documenter.

Flags

Flag Type Défaut Description
--no-demo bool false Sauter le prompt de démo après l'initialisation
--language string en Définir la langue de l'interface (en ou fr)
--quiet bool false Pas de sortie sauf erreurs
--verbose bool false Afficher les détails
--no-color bool false Désactiver la sortie colorée

Exemples

Configuration de base (le plus courant)

cd mon-projet
lore init
# → ✓ Dossier .lore/ créé
# → ✓ Hook post-commit installé
# → ✓ .lore/README.md généré
# → Voulez-vous voir une démo ? [O/n]

Configuration silencieuse (CI/Scripts)

lore init --no-demo --quiet
# → Pas de sortie, tout est configuré

Déjà initialisé ?

lore init
# → Déjà initialisé (ne fait rien, pas d'erreur)
# Sûr de relancer plusieurs fois !

Questions fréquentes

"C'est quoi un hook Git ?"

Un hook Git est un script qui s'exécute automatiquement à certains moments de votre workflow Git. Lore utilise un hook post-commit — il s'exécute juste après git commit. Pas besoin de comprendre les hooks pour utiliser Lore ; il gère tout pour vous.

"Ça va casser mes hooks existants ?"

Non. Lore utilise des marqueurs spéciaux (# LORE-START / # LORE-END) dans le fichier hook. Si vous avez déjà des hooks (comme Husky ou pre-commit), Lore ajoute sa section sans toucher les vôtres.

"Et si je ne suis pas dans un dépôt Git ?"

lore init
# → Erreur : pas un dépôt Git
# Correction : lancez "git init" d'abord, puis "lore init"

"Puis-je annuler ?"

Oui. Supprimez le dossier .lore/ : rm -rf .lore — votre code et historique Git sont complètement intacts.

Que se passe-t-il ensuite ?

Après lore init, la prochaine fois que vous lancez git commit, Lore posera automatiquement 3 questions essentielles :

  1. Type — Quel genre de changement ? (feature, bugfix, decision, refactor, note)
  2. Quoi — Pré-rempli depuis votre message de commit. Appuyez sur Entrée.
  3. Pourquoi — La question importante ! Pourquoi ce choix ?

Pour les commits à plus fort enjeu, 2 questions optionnelles suivent :

  1. Alternatives — Qu'avez-vous envisagé puis écarté ?
  2. Impact — Qu'est-ce qui change en aval à cause de ce choix ?

La paire optionnelle s'auto-skippe quand vous répondez aux trois premières en moins de ~3 secondes (mode express). Prenez plus de temps sur un changement important et elles restent. Le "pourquoi" est capturé en quelques secondes et conservé durablement avec votre code.

Tips & Tricks

  • Sûr de relancer : lore init est idempotent — le lancer deux fois ne fait rien.
  • Après un clone : Les membres de l'équipe devraient lancer lore init après clonage pour installer leur hook local.
  • Setup CI : lore init --no-demo --quiet dans les pipelines.
  • Monorepo : Lancez à la racine du repo. Les documents capturent les chemins complets.

Codes de sortie

Code Signification
0 Succès (ou déjà initialisé)
1 Pas un dépôt Git

Voir aussi