dif.sh
Une plateforme de feature flagging et de tests A/B native à Git qui utilise des fichiers Markdown et une interface CLI pour gérer les expériences directement dans le code source.
Une plateforme de feature flagging et de tests A/B native à Git qui utilise des fichiers Markdown et une interface CLI pour gérer les expériences directement dans le code source.
Fonction du produit et positionnement officiel
dif.sh est une plateforme d'expérimentation axée sur les développeurs qui stocke les feature flags, les tests A/B et les déploiements sous forme de fichiers Markdown dans le dépôt d'un projet. Cette approche permet aux équipes de gérer l'intégralité du cycle de vie d'un flag en utilisant les outils de contrôle de version standard.
Le système s'intègre aux flux de travail Git existants, permettant l'utilisation de pull requests pour les approbations d'expériences et le maintien d'un historique versionné permanent de tous les changements. Il comprend une CLI qui automatise la création, la validation et la conclusion des tests tout en générant un client typé pour la production.
En utilisant un processus de build local, l'outil détecte les collisions potentielles d'expériences avant qu'elles n'atteignent la production. Il génère également des fichiers de contexte spécifiquement conçus pour aider les agents de codage IA à comprendre l'état expérimental actuel de la base de code.
Cas d’usage étayés par les sources officielles
Les équipes peuvent définir des variantes, des hypothèses et des métriques dans des fichiers Markdown pour exécuter et suivre des expériences parallèlement à leur code.
Fournir aux agents de codage un fichier de contexte généré afin qu'ils comprennent les expériences actives et les apprentissages antérieurs pendant le développement.
Le parcours documenté, lorsqu’il est disponible
Exécutez la commande init pour configurer la structure des dossiers locaux, y compris les répertoires d'expériences et de surfaces au sein du dépôt.
Utilisez la CLI pour rédiger un nouveau test, ce qui récupère automatiquement le contexte historique du journal de surface pertinent pour éclairer la nouvelle hypothèse.
Exécutez des vérifications de validation pour vous assurer que les configurations sont correctes et utilisez la commande QA pour prévisualiser des variantes spécifiques localement.
Exécutez la commande de build pour générer un client typé et résoudre les conflits de groupes d'exclusion avant d'envoyer le code en production.
Terminez un test en archivant le fichier, en rédigeant un bloc de décision et en mettant à jour le journal d'apprentissage de la surface pour référence future.
La plateforme traite les feature flags et les expériences comme des artefacts de code, utilisant des fichiers Markdown pour la configuration et Git pour le contrôle de version. Cette approche est conçue pour que le journal d'audit et le processus d'approbation restent dans les flux de travail existants des développeurs, comme les pull requests, éliminant ainsi le besoin d'une base de données séparée ou d'un tableau de bord externe pour la gestion de la configuration.
Pendant le processus de build, l'outil résout le graphe d'exclusion pour s'assurer qu'aucun utilisateur n'est affecté simultanément à deux expériences conflictuelles. Si un conflit est détecté, le build échoue dans l'environnement d'intégration continue, aidant ainsi à empêcher les conflits logiques d'atteindre l'application de production.
Vérifications à effectuer avec vos contenus et votre flux de travail
Sources vérifiées et date de la vérification
Réponses fondées sur la fiche produit dont les sources ont été vérifiées
Le système utilise des groupes d'exclusion définis dans le frontmatter des fichiers et vérifie les collisions lors de l'étape de build, faisant échouer le build si un utilisateur devait être affecté à deux tests conflictuels.
Les données clients ne sont pas stockées ni soumises au dépôt ; au lieu de cela, les attributs d'audience sont déclarés dans la configuration et les valeurs sont fournies au moment de l'exécution à partir du contexte utilisateur de l'application.
Les surfaces agissent comme un répertoire de mémoire institutionnelle, contenant des fichiers Markdown qui consignent les apprentissages antérieurs et les pièges pour des écrans ou fonctionnalités spécifiques afin d'éclairer les futures expériences.
Chaque build régénère un fichier de contexte contenant les flags actifs et les apprentissages récents, que les agents de codage peuvent lire au début d'une session pour comprendre l'état expérimental actuel.
Non, la fonctionnalité de base opère via la CLI et des fichiers locaux, bien qu'une couche cloud optionnelle soit disponible pour les équipes souhaitant des analyses centralisées et des visualisations d'intervalles de confiance.