Ajouter des feature flags PostHog
Utilise cette skill pour ajouter des feature flags PostHog qui contrôlent les fonctionnalités nouvelles ou modifiées. Utilise-la après la mise en œuvre de fonctionnalités ou la révision de PRs pour garantir des déploiements sécurisés avec contrôle par feature flags. Si PostHog n'est pas encore installé, cette skill couvre également la configuration initiale du SDK. Compatible avec n'importe quelle plateforme ou langage.
Plateformes supportées : React, Next.js, React Native, Web (JavaScript), Node.js, Python, PHP, Ruby, Go, Java, Rust, .NET, Elixir, Android, iOS, Flutter, et REST API.
Instructions
Suis ces étapes DANS L'ORDRE :
ÉTAPE 1 : Analyse la base de code et détecte la plateforme.
- Recherche les fichiers de dépendances (package.json, requirements.txt, go.mod, Gemfile, composer.json, etc.) pour déterminer le langage et le framework.
- Recherche les fichiers verrouillés (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lockb) pour déterminer le gestionnaire de paquets.
- Vérifie la configuration PostHog existante (initialisation du SDK, variables d'env, etc.). Si PostHog est déjà installé et initialisé, passe à l'ÉTAPE 3.
ÉTAPE 2 : Recherche l'instrumentation. (Ignore cette étape si PostHog est déjà configuré.) 2.1. Trouve le fichier de référence ci-dessous qui correspond à la plateforme détectée — c'est la source de vérité pour l'initialisation du SDK, les méthodes d'évaluation des flags, et les motifs spécifiques au framework. Lis-le maintenant. 2.2. Si aucune référence ne correspond, reviens à tes connaissances générales et recherche web. Utilise posthog.com/docs comme source de recherche principale.
ÉTAPE 3 : Crée ou trouve le feature flag.
- Vérifie si un serveur MCP PostHog est connecté. S'il est disponible, utilise ses outils pour rechercher un feature flag existant que l'utilisateur veut instrumenter, ou en créer un nouveau.
- Si aucun serveur MCP n'est disponible, demande à l'utilisateur de créer le flag dans le tableau de bord PostHog.
ÉTAPE 4 : Planifie les conditions de déploiement.
- Détermine la stratégie de déploiement (déploiement en pourcentage, ciblage d'utilisateurs, ciblage de groupes, etc.).
- Planifie comment le feature flag contrôlera la nouvelle fonctionnalité dans le code.
ÉTAPE 5 : Instrumente la fonctionnalité.
- Ajoute le code du feature flag en suivant les motifs de référence spécifiques à la plateforme.
- Utilise l'évaluation côté serveur quand possible pour éviter le scintillement de l'interface.
- Ne modifie pas l'architecture fondamentale des fichiers existants. Rends les ajouts minimaux et ciblés.
- Tu dois lire un fichier immédiatement avant de tenter de l'écrire.
ÉTAPE 6 : Configure les variables d'environnement.
- Vérifie si le projet a déjà des variables d'environnement PostHog configurées (par ex. dans
.env,.env.local, ou les fichiers d'env spécifiques au framework). Si des valeurs valides existent déjà, ignore cette étape. - Si la clé API PostHog est manquante, utilise l'outil
projects-getdu serveur MCP PostHog pour récupérer leapi_tokendu projet. Si plusieurs projets sont retournés, demande à l'utilisateur quel projet utiliser. Si le serveur MCP n'est pas connecté ou pas authentifié, demande plutôt à l'utilisateur sa clé API PostHog. - Pour l'URL du host PostHog, utilise
https://us.i.posthog.compour US Cloud ouhttps://eu.i.posthog.compour EU Cloud. - Écris ces valeurs dans le fichier d'env approprié en utilisant la convention de nommage du framework.
- Référence ces variables d'environnement dans le code au lieu de les hardcoder.
Fichiers de référence
references/react.md- Installation des feature flags React - docsreferences/react-native.md- Installation des feature flags React Native - docsreferences/web.md- Installation des feature flags Web - docsreferences/nodejs.md- Installation des feature flags Node.js - docsreferences/python.md- Installation des feature flags Python - docsreferences/php.md- Installation des feature flags Php - docsreferences/ruby.md- Installation des feature flags Ruby - docsreferences/go.md- Installation des feature flags Go - docsreferences/java.md- Installation des feature flags Java - docsreferences/rust.md- Installation des feature flags Rust - docsreferences/dotnet.md- Installation des feature flags .net - docsreferences/elixir.md- Installation des feature flags Elixir - docsreferences/android.md- Installation des feature flags Android - docsreferences/ios.md- Installation des feature flags Ios - docsreferences/flutter.md- Installation des feature flags Flutter - docsreferences/api.md- Installation des feature flags API - docsreferences/next-js.md- Next.js - docsreferences/adding-feature-flag-code.md- Ajouter du code de feature flag - docsreferences/best-practices.md- Bonnes pratiques pour les flags prêts pour la production - docs
Chaque référence de plateforme contient l'installation spécifique au SDK, l'évaluation des flags, et des exemples de code. Trouve celle qui correspond à la stack de l'utilisateur. Si non répertoriée, utilise la référence API comme solution de secours.
Principes clés
- Variables d'environnement : Utilise toujours des variables d'environnement pour les clés PostHog. Ne les hardcode jamais.
- Changements minimaux : Ajoute le code du feature flag à côté de la logique existante. Ne remplace pas ou restructure pas le code existant.
- Flags booléens d'abord : Définis par défaut des vérifications de flags booléens sauf si l'utilisateur demande spécifiquement des flags multivariés.
- Côté serveur quand possible : Privilégie l'évaluation des flags côté serveur pour éviter le scintillement de l'interface.