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 avoir implémenté des fonctionnalités ou examiné des PRs pour garantir des déploiements sûrs 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 l'API REST.
Instructions
Suis ces étapes DANS L'ORDRE :
ÉTAPE 1 : Analyser la base de code et détecter la plateforme.
- Cherche les fichiers de dépendances (package.json, requirements.txt, go.mod, Gemfile, composer.json, etc.) pour déterminer le langage et le framework.
- Cherche les fichiers lock (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lockb) pour déterminer le gestionnaire de paquets.
- Vérifie la présence d'une configuration PostHog existante (initialisation du SDK, variables d'environnement, etc.). Si PostHog est déjà installé et initialisé, passe à l'ÉTAPE 3.
ÉTAPE 2 : Rechercher l'instrumentation. (Saute 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 fiable pour l'initialisation du SDK, les méthodes d'évaluation de flags et les modèles spécifiques au framework. Lis-le maintenant. 2.2. Si aucune référence ne correspond, appuie-toi sur tes connaissances générales et une recherche web. Utilise posthog.com/docs comme source de recherche principale.
ÉTAPE 3 : Créer ou trouver le feature flag.
- Vérifie si un serveur MCP PostHog est connecté. S'il est disponible, utilise ses outils pour chercher un feature flag existant que l'utilisateur souhaite instrumenter, ou en créer un nouveau.
- Si aucun serveur MCP n'est disponible, indique à l'utilisateur de créer le flag dans le tableau de bord PostHog.
ÉTAPE 4 : Planifier 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 : Instrumenter la fonctionnalité.
- Ajoute le code du feature flag en suivant les modèles de référence spécifiques à la plateforme.
- Utilise l'évaluation côté serveur quand c'est possible pour éviter le scintillement de l'UI.
- Ne modifie pas l'architecture fondamentale des fichiers existants. Rends les ajouts minimes et ciblés.
- Tu dois lire un fichier immédiatement avant de tenter de l'écrire.
ÉTAPE 6 : Configurer les variables d'environnement.
- Si un serveur MCP env-file-tools est connecté, utilise check_env_keys pour voir quelles clés existent déjà, puis utilise set_env_values pour créer ou mettre à jour la clé API PostHog et l'hôte.
- Référence ces variables d'environnement dans le code au lieu de les coder en dur.
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 des feature flags - docs
Chaque référence de plateforme contient l'installation spécifique au SDK, l'évaluation de flags et des exemples de code. Trouve celle qui correspond à la stack de l'utilisateur. Si elle ne figure pas dans la liste, utilise la référence API comme solution de secours.
Principes clés
- Variables d'environnement : Utilise toujours les variables d'environnement pour les clés PostHog. Ne les code jamais en dur.
- Changements minimes : Ajoute le code du feature flag à côté de la logique existante. Ne remplace ni ne restructure le code existant.
- Flags booléens d'abord : Adopte par défaut des vérifications de flags booléens sauf si l'utilisateur demande explicitement des flags multivariés.
- Côté serveur quand c'est possible : Préfère l'évaluation de flags côté serveur pour éviter le scintillement de l'UI.