Git pour les bases de données
GFS est un système open source de contrôle de version pour bases de données. Committez, branchez, voyagez dans le temps et diffez vos bases PostgreSQL et MySQL. Livré avec un serveur MCP intégré pour les agents IA.
# Install GFS
curl -fsSL https://gfs.guepard.run/install | bash
# Initialize a new database repository
gfs init --database-provider postgres --database-version 17
# Start working
gfs query "CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);"
gfs commit -m "Add users table"
gfs logVersionnez votre base de données comme vous versionnez votre code
Commit, branche, checkout, diff. Le workflow que vous connaissez déjà. Tourne en local avec Docker. Aucun compte cloud requis.
Démarrage rapide
De l'installation au premier commit en 2 minutes
Une commande curl pour installer. Une commande pour init. GFS tourne en local via Docker. Vos données ne quittent jamais votre machine. Branchez pour expérimenter, annulez les erreurs, diffez les schémas entre commits.
# Install GFS
curl -fsSL https://gfs.guepard.run/install | bash
# Initialize a PostgreSQL 17 repository
gfs init --database-provider postgres --database-version 17
# Create a table and insert data
gfs query "CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT NOT NULL);"
gfs query "INSERT INTO users (name) VALUES ('Alice'), ('Bob');"
# Commit your changes
gfs commit -m "Add users table"
# View history
gfs log
# Branch for a risky migration
gfs checkout -b experiment
gfs query "ALTER TABLE users ADD COLUMN email TEXT;"
gfs commit -m "Add email column"
# Something went wrong? Go back to main
gfs checkout mainRéférence CLI
Toutes les commandes qu'il vous faut
Interface façon Git. Zéro courbe d'apprentissage.
gfs init
Initialiser un nouveau dépôt de base de données
gfs commit
Snapshoter l'état actuel de votre base
gfs log
Voir l'historique complet des commits avec leurs hash
gfs checkout
Restaurer vers n'importe quel commit ou branche
gfs checkout -b
Créer une branche pour travailler isolément
gfs query
Lancer du SQL ou ouvrir le terminal interactif
gfs schema diff
Differ les schémas entre deux commits
gfs schema show
Afficher le schéma à un commit donné
gfs export
Exporter les données en SQL, custom ou CSV
gfs import
Importer depuis des fichiers .sql, .dump ou .csv
gfs providers
Lister les moteurs supportés et leurs versions
gfs compute
Démarrer, arrêter et gérer le cycle de vie du compute
Références de révision façon Git
HEADCommit courantHEAD~1Parent de HEADHEAD~55e ancêtremainTête de la branche mainmain~33 commits avant mainabc123...Hash complet de 64 caractèresFonctionnalités
Tout ce qu'on attend d'un contrôle de version
Branching
Créez des branches isolées pour expérimenter sans toucher la base principale. Travaillez vos migrations risquées dans une branche. Mergez ou jetez à la fin.
Time Travel
Chaque commit est un checkpoint. Restaurez votre base à n'importe quel état antérieur avec gfs checkout HEAD~1. Annulez une mauvaise migration en une commande.
Sûr pour les agents IA
Le serveur MCP intégré permet aux agents de committer avant un changement risqué, brancher pour expérimenter et rollback en cas d'erreur. Sans wrapper shell. Sans gaspiller de tokens.
Diff de schéma
Comparez les schémas entre deux commits avec gfs schema diff. Attrapez les changements involontaires avant la production. Sortie lisible ou JSON.
Import & Export
Importez depuis .sql, .dump ou .csv. Exportez en SQL brut, binaire PostgreSQL ou CSV. Faites entrer et sortir la donnée sans gonfler le contexte de votre agent.
Requêtes interactives
Lancez du SQL ad hoc avec gfs query "SELECT ..." ou ouvrez un terminal interactif avec gfs query. Inspectez les données à n'importe quel commit ou branche.
Les agents IA obtiennent des super-pouvoirs base de données
GFS embarque un serveur MCP natif. Les agents committent, branchent, requêtent et rollbackent sans wrapper shell. Moins de tokens, moins d'erreurs.
claude mcp add gfs -- gfs mcp --path /path/to/your/repo{
"mcpServers": {
"gfs": {
"command": "gfs",
"args": ["mcp", "--path", "/path/to/your/repo"]
}
}
}gfs mcp --path /path/to/your/repoModes du serveur MCP
stdio · Par défaut, pipe directhttp · gfs mcp web, daemon HTTPbackground · gfs mcp start/stop# Agent commits before making changes
gfs commit -m "checkpoint before migration"
# Agent branches for safety
gfs checkout -b agent-migration
# Agent runs the migration
gfs query "ALTER TABLE orders ADD COLUMN status TEXT DEFAULT 'pending';"
# Agent verifies the schema
gfs schema diff main agent-migration
# If good → merge. If bad → rollback
gfs checkout main
gfs checkout HEAD~1 # instant rollbackFonctionne avec tout agent compatible MCP
Pourquoi GFS
Le problème que GFS résout
Les agents cassent des bases
Une mauvaise migration ou une table supprimée détruit vos données. Avec GFS, chaque changement est un commit. Revenez à n'importe quel point en une commande.
Les branches sont gratuites
Créez une branche pour chaque expérimentation. L'agent échoue ? Jetez la branche. Il réussit ? Mergez. Zéro risque pour votre base principale.
MCP élimine le gaspillage de tokens
Les outils MCP natifs évitent aux agents les wrappers shell et les gros dumps SQL en contexte. Des opérations directes, moins de tokens, moins d'erreurs.
Installez GFS en 30 secondes.
Branching open source pour Postgres et MySQL. Reliez-le à vos agents via MCP : branche, commit, rollback depuis n'importe quelle boucle d'outils.
Licence MIT · Docker local · Postgres 13–18