DEV Community

fkom13
fkom13

Posted on

GenCodeDoc : Le Time Machine pour votre code, sans la lourdeur de Git

Vous avez déjà rêvé de pouvoir sauvegarder l'état de votre projet à un instant T, sans pour autant créer un commit Git juste pour "un test" ? Ou de générer une documentation complète de votre code en une seule commande ?

C'est précisément pour cela que nous avons créé GenCodeDoc, un outil de versioning intelligent et de documentation automatique, open-source et maintenant disponible sur PyPI (pip install gencodedoc).

Le Problème : Le "Micro-Versioning" et la Documentation Manuelle

Git est parfait pour le versioning majeur, mais il est souvent trop lourd pour le suivi de l'exploration et du développement au quotidien. On se retrouve souvent à faire des commit -m "WIP" ou à dupliquer des dossiers (project_v2, project_v2_final), ce qui est inefficace. De plus, maintenir une documentation à jour est une tâche que l'on repousse constamment.

La Solution : Snapshots Intelligents et Docs Automatisées

GenCodeDoc aborde ces deux problèmes avec une approche moderne :

1. Des "Snapshots" plutôt que des Commits

Avec GenCodeDoc, vous prenez des "photographies" (snapshots) de votre projet quand vous le voulez.

# Après avoir installé l'outil (pip install gencodedoc)
# et l'avoir initialisé dans votre projet (gencodedoc init)

# Prenez un snapshot avant un refactoring majeur
gencodedoc snapshot create --message "Avant refactoring de l'API" --tag pre-refactor

# ... vous cassez tout ...

# Pas de panique, revenez en arrière en une seconde
gencodedoc snapshot restore pre-refactor
Enter fullscreen mode Exit fullscreen mode

La magie opère en coulisses :

  • Déduplication : Seuls les fichiers modifiés sont réellement stockés. Un fichier identique sur 100 snapshots n'est sauvegardé qu'une seule fois. Résultat : ~70% d'économie d'espace.
  • Compression : Tout est compressé avec zstd pour une efficacité maximale.
  • Autosave : Activez un gardien qui sauvegarde votre travail automatiquement en fonction du temps ou du pourcentage de changements.

2. Une Documentation qui s'écrit toute seule

Oubliez la corvée de la documentation.

gencodedoc doc generate --output DOCS.md
Enter fullscreen mode Exit fullscreen mode

Cette commande analyse votre projet et génère un fichier Markdown complet incluant :

  • L'arborescence complète du projet.
  • Le contenu de chaque fichier, avec coloration syntaxique.
  • Des statistiques sur le projet (nombre de lignes, de fichiers, etc.).

Triple Interface : CLI, API REST, et MCP pour l'IA

GenCodeDoc est conçu pour la flexibilité :

  • CLI : Une interface en ligne de commande complète pour un usage manuel.
  • API REST : Intégrez GenCodeDoc dans vos propres applications.
  • MCP (Model-Context-Protocol) : La fonctionnalité la plus unique. Exposez les 17 outils de GenCodeDoc à un agent IA (comme Gemini ou Claude) pour piloter le versioning et la documentation en langage naturel.

"Hey Gemini, crée un snapshot de mon projet avec le tag 'v2.1-beta' et génère la doc."

Pour commencer

Le projet est open-source et disponible sur PyPI.

  1. Installation :

    pip install gencodedoc
    
  2. Initialisation dans votre projet :

    gencodedoc init --preset python
    
  3. Explorez !

    gencodedoc --help
    

Nous pensons que GenCodeDoc peut changer la manière dont les développeurs et les IA collaborent sur le code au quotidien.

N'hésitez pas à l'essayer et à nous faire vos retours sur GitHub !

Top comments (0)