Ajouter le suivi des erreurs PostHog
Utilisez cette skill pour ajouter le suivi des erreurs PostHog qui capture et surveille les exceptions dans votre application. Utilisez-la après l'implémentation de fonctionnalités ou l'examen de PRs pour garantir que les erreurs sont suivies avec des stack traces complètes et des source maps. Si PostHog n'est pas encore installé, cette skill couvre également la configuration initiale du SDK. Supporte n'importe quelle plateforme ou langue.
Plateformes supportées : React, Next.js, Web (JavaScript), Node.js, Python, Ruby, Ruby on Rails, Go, Angular, Svelte, Nuxt, React Native, Flutter, Android, et Hono.
Instructions
Suivez ces étapes DANS L'ORDRE :
ÉTAPE 1 : Analyser la base de code et détecter la plateforme.
- Cherchez les fichiers de dépendances (package.json, requirements.txt, go.mod, Gemfile, composer.json, etc.) pour déterminer le langage et le framework.
- Cherchez les fichiers de verrouillage (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lockb) pour déterminer le gestionnaire de paquets.
- Vérifiez la présence d'une configuration PostHog existante (initialisation du SDK, variables d'env, etc.). Si PostHog est déjà installé et initialisé, passez à l'ÉTAPE 4.
ÉTAPE 2 : Rechercher l'instrumentation. (Ignorez si PostHog est déjà configuré.) 2.1. Trouvez 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, la capture automatique d'exceptions et les modèles de suivi des erreurs spécifiques au framework. Lisez-le maintenant. 2.2. Si aucune référence ne correspond, appuyez-vous sur vos connaissances générales et recherche web. Utilisez posthog.com/docs comme source de recherche principale.
ÉTAPE 3 : Installer et initialiser le SDK PostHog. (Ignorez si PostHog est déjà configuré.)
- Ajoutez le package SDK PostHog pour la plateforme détectée. Ne modifiez pas manuellement package.json — utilisez la commande d'installation du gestionnaire de paquets.
- Installez toujours les paquets comme tâche de fond. N'attendez pas la fin ; poursuivez immédiatement après le démarrage de l'installation.
- Suivez la référence du framework pour déterminer où et comment initialiser.
ÉTAPE 4 : Activer la capture automatique d'exceptions.
- Suivez la référence de la plateforme pour activer la capture automatique d'exceptions. Cela capture automatiquement les exceptions non gérées sans code supplémentaire.
ÉTAPE 5 : Ajouter des captures d'erreurs manuelles.
- Identifiez les limites d'erreur, les blocs catch et les flux utilisateur critiques où les erreurs doivent être explicitement capturées.
- Ajoutez
posthog.captureException()ou l'équivalent de la plateforme à ces endroits. - Ne modifiez pas l'architecture fondamentale de la gestion d'erreurs existante. Rendez les ajouts minimes et ciblés.
- Vous devez lire un fichier immédiatement avant de tenter de l'écrire.
ÉTAPE 6 : Télécharger les source maps (frontend/mobile uniquement).
- Configurez le téléchargement des source maps afin que les stack traces se résolvent vers le code source original, et non vers les bundles minifiés.
- Suivez la référence spécifique à la plateforme pour la configuration du téléchargement (plugins de build, scripts CI, etc.).
ÉTAPE 7 : Configurer les variables d'environnement.
- Si un serveur MCP env-file-tools est connecté, utilisez check_env_keys pour voir quelles clés existent déjà, puis utilisez set_env_values pour créer ou mettre à jour la clé API PostHog et l'hôte.
- Référencez ces variables d'environnement dans le code au lieu de les coder en dur.
ÉTAPE 8 : Vérifier et nettoyer.
- Vérifiez le projet pour les erreurs. Cherchez les scripts de vérification de type ou de build dans package.json.
- Assurez-vous que tous les composants créés ont réellement été utilisés.
- Exécutez les scripts linter ou prettier trouvés dans package.json.
Fichiers de référence
references/react.md- Installation du suivi d'erreurs React - docsreferences/web.md- Installation du suivi d'erreurs Web - docsreferences/nextjs.md- Installation du suivi d'erreurs Next.js - docsreferences/node.md- Installation du suivi d'erreurs Node.js - docsreferences/python.md- Installation du suivi d'erreurs Python - docsreferences/ruby.md- Installation du suivi d'erreurs Ruby - docsreferences/ruby-on-rails.md- Installation du suivi d'erreurs Ruby on Rails - docsreferences/go.md- Installation du suivi d'erreurs Go - docsreferences/angular.md- Installation du suivi d'erreurs Angular - docsreferences/svelte.md- Installation du suivi d'erreurs SvelteKit - docsreferences/nuxt.md- Installation du suivi d'erreurs Nuxt (v3.7 et au-dessus) - docsreferences/react-native.md- Installation du suivi d'erreurs React Native - docsreferences/flutter.md- Installation du suivi d'erreurs Flutter - docsreferences/android.md- Installation du suivi d'erreurs Android - docsreferences/hono.md- Installation du suivi d'erreurs Hono - docsreferences/fingerprints.md- Fingerprints - docsreferences/alerts.md- Envoyer des alertes de suivi d'erreurs - docsreferences/monitoring.md- Surveiller et rechercher des problèmes - docsreferences/assigning-issues.md- Assigner des problèmes aux coéquipiers - docsreferences/upload-source-maps.md- Télécharger les source maps - docs
Chaque référence de plateforme contient des modèles d'installation et de capture manuelle spécifiques au SDK. Trouvez celle qui correspond à votre stack.
Principes clés
- Variables d'environnement : Utilisez toujours les variables d'environnement pour les clés PostHog. Ne les codez jamais en dur.
- Changements minimes : Ajoutez le suivi d'erreurs à côté de la gestion d'erreurs existante. Ne remplacez pas ou ne restructurez pas le code existant.
- Capture automatique en premier : Activez la capture automatique d'exceptions avant d'ajouter des captures manuelles.
- Source maps : Téléchargez les source maps afin que les stack traces se résolvent vers le code source original, et non vers les bundles minifiés.
- Capture manuelle pour les limites : Utilisez
captureException()aux limites d'erreur et dans les blocs catch pour les erreurs qui ne se propagent pas vers le gestionnaire global.