Suivi CLI
Suivez comment les développeurs utilisent votre outil CLI. Voyez quelles commandes sont populaires, combien de temps elles prennent et quelles erreurs surviennent -- sans collecter de données personnelles.
npm install @bettermeter/nodeimport { BetterMeter } from "@bettermeter/node";
import { Command } from "commander";
const bm = new BetterMeter({
siteId: "my-cli-tool",
apiKey: "bm_...",
});
const program = new Command();
// Wraps all commands — tracks name, flags, exit code
bm.wrapCommander(program, { version: "1.0.0" });
program.command("deploy").action(() => { /* ... */ });
program.parse();
// Flush on exit
process.on("SIGTERM", () => bm.shutdown());bm.trackCommand({
command: "deploy",
subcommand: "preview",
flags: ["--prod", "--verbose"],
version: "2.1.0",
durationMs: 4500,
exitCode: 0,
isCi: !!process.env.CI,
});Ce qui est suivi
Uniquement les noms de commandes et de drapeaux. Les valeurs des drapeaux, les arguments et les chemins de fichiers ne sont jamais envoyés. Le SDK capture le système d'exploitation et l'architecture pour les analyses d'environnement.
Référence CLI
Le CLI BetterMeter vous permet d'interroger les analyses depuis le terminal avec un affichage visuel élégant. Toutes les commandes acceptent -s/--site, -r/--range, -l/--limit et --json.
npm install -g bettermeter
bettermeter login -t <apiKey> -u https://bettermeter.comFormats de sortie
Par défaut, le CLI affiche un rendu visuel riche avec des graphiques ASCII, du texte coloré, des sparklines et des cartes de statistiques. Toute la sortie utilise des caractères Unicode compatibles avec tous les terminaux modernes. Les couleurs détectent automatiquement les capacités du terminal et respectent la variable d'environnement NO_COLOR.
Par défaut (visuel)Graphiques linéaires, barres horizontales, sparklines, tableaux stylisés avec couleurs--jsonDonnées JSON brutes -- idéal pour le scripting, le piping vers jq ou l'utilisation programmatiqueLa sortie visuelle inclut :
- Graphiques linéaires pour les données temporelles (visiteurs quotidiens, invocations)
- Barres horizontales pour les listes classées (pages, sources, pays)
- Sparklines intégrées aux statistiques d'ensemble pour une visualisation rapide des tendances
- Cartes de statistiques avec indicateurs de variation colorés pour les vues d'ensemble
- Tableaux stylisés avec bordures pour les données détaillées
# Visual output (default)
bettermeter stats -s example.com
# JSON output for scripting
bettermeter stats -s example.com --json | jq '.visitors'Authentification
login -t <key> -u <url>S'authentifier avec une clé API et l'URL du tableau de bordlogoutSupprimer les identifiants enregistréswhoamiAfficher l'utilisateur actuellement authentifiéTemps réel
live -s <siteId> [--activity] [--cursor <cursor>] [--json]Nombre de visiteurs en direct; ajoutez --activity pour le fil récent d’événements humains et --cursor pour l’interrogation incrémentielle (--json pour la sortie brute)live:screen -s <siteId> [--json]Affiche l’URL authentifiée Grand écran pour la visualisation rembobinable des visiteurs et sa chronologie d’activité de 30 minutes (--json pour une sortie structurée)Analytique web
Les commandes de trafic humain excluent par défaut les robots connus, l’automatisation sans navigateur et les cohortes de scrapers détectées avec une forte confiance. Ajoutez --include-bots à stats, pages, sources, timeseries, ai-traffic, countries, devices, browsers ou channels pour les inclure.
statsAperçu : visiteurs, pages vues, sessions + % de variation, ou nouvel état de référence si la période précédente est videpagesPages les plus visitées par nombre de visiteurssourcesSources de trafic (--filter all|ai|traditional)ai-trafficRépartition des référencements IA par plateformebotsTrafic robots/crawlers (--category all|ai-crawler|search|monitoring|scraper)timeseriesTendance quotidienne visiteurs/pages vuescountriesVisiteurs par paysdevicesRépartition par appareilbrowsersRépartition par navigateurvisitorsPersonnes avec première source, campagne, visites répétées et cycle de vievisitor <visitorId>Profil d'une personne, première interaction, sessions et chronologievisitor:update <visitorId>Définir un identifiant opaque, un nom d'affichage ou le statut visiteur/clientvisitor:properties <visitorId>Lister les propriétés clé/valeur stockées sur un visiteurvisitor:tag <visitorId>Définir ou supprimer des propriétés clé/valeur arbitraires sur un visiteureventsÉvénements personnalisés avec compteurscampaignsAttribution automatique des URL de campagne (UTM + identifiants de clic)campaign <name>Rapport détaillé de campagne (qualité, variantes, répartitions)campaign:visitors <name>Toutes les personnes amenées par une campagne : qui a cliqué, la page d'arrivée, la variante, l'appareil, le pays et ce qu'elles ont fait ensuitekeywordsMots-clés générant du trafic (utm_term, avec qualité des visites)marketingRapport marketing complet : campagnes, pages d’atterrissage, mix de canauxscreenshot <path>Capturer une page d’atterrissage et l’enregistrer comme image (--site, --output facultatif)channelsRépartition par canal (Direct, Recherche payante, Organique, etc.)exportRapport complet (--format json|csv|md)Analytique CLI
cli-overviewInvocations, appelants, taux de succès, durée moyennecli-commandsCommandes les plus utilisées par nombre d'invocationscli-timeseriesActivité CLI quotidienneAnalytique MCP
mcp-overviewInvocations, appelants, taux de succès, durée moyennemcp-toolsOutils MCP les plus utilisés par nombre d'invocationsmcp-clientsRépartition par client (Claude, Cursor, etc.)mcp-timeseriesActivité MCP quotidienneAnalytique API
api-overviewInvocations, appelants, taux d'erreur, durée moyenneapi-endpointsEndpoints les plus sollicités par nombre d'invocationsapi-timeseriesActivité API quotidienneBuilder
dashboardsLister les mises en page de dashboards enregistrées affichées dans la navigation latéraledashboard:createCréer un dashboard personnalisé, y compris le widget Meta paidPerformance réservé aux Éditeurs et Administrateursdashboard:deleteSupprimer une mise en page de dashboard personnaliséereportsLister les modèles de rapport enregistrésreport:createCréer un modèle de rapport, y compris la section paidMedia réservée aux Éditeurs et Administrateursreport:previewPrévisualiser un rapport avec la diffusion Meta en direct lorsque paidMedia est activéreport:deleteSupprimer un modèle de rapportPulse AI
pulse askPosez toute question à Pulse, y compris les parcours liés aux visiteurs derrière les conversions récentespulse threadsLister vos discussions Pulse enregistrées pour un siteadsDépenses et clics de lien Meta comparés au trafic de campagne compatible suiviads:syncRécupérer maintenant les dépenses des comptes publicitaires connectésconversionsFiches CRM portant l'un de nos identifiants de clic, avec les compteurs associés, non associés et en attente d'envoi (--won pour les conclues seulement)crmCRM connectés à un site et état de leur synchronisationcrm:syncRécupérer les conversions CRM maintenant plutôt qu'à la prochaine synchronisation planifiée (--full pour tout relire)pulse threadRejouer une discussion Pulse sous forme de transcriptionpulse thread-deleteSupprimer une discussion Pulsepulse insightsAnomalies, tendances, jalons et variations de campagnes, canaux, géographie, conversions et engagementpulse healthScore de santé produit (0-100, note A-F)pulse briefingBriefing quotidien/hebdomadaire (-p/--period daily|weekly)pulse forecastPrévision de trafic (-m/--metric, -d/--days)pulse compareComparer deux périodes (-r/--range, --from2, --to2)pulse alertsLister les règles d'alerte de surveillancepulse alerts:createCréer une alerte (-t/--type, -n/--name, -c/--condition)pulse alerts:deleteSupprimer une alerte (-i/--id)pulse notificationsNotifications récentes (--unread pour les non lues uniquement)Classements de recherche et visibilité IA
brand-report <domain>Générer un rapport de classements de recherche (-q/--queries)brand-config <domain>Voir/mettre à jour la configuration de surveillance de marquebrand-compare <domain>Comparer les classements avec les concurrents (-q, -c)brand-alerts <domain>Gérer les alertes de classement (-a list|create|delete)ai-mentions <domain>Mentions de marque par chatbots IA (-q/--queries, -p/--providers)backlinks <domain>Profil de backlinks : rang du domaine, domaines référentsLes scans externes payants acceptent 1 à 10 requêtes par demande. La comparaison concurrentielle accepte jusqu'à 10 concurrents.
Conversion Goals
goals -s <siteId> [--include-bots]List human conversion goals, stable converters, rates, and momentumgoal:show -s <siteId> -g <goalId> [--include-bots]Compare current/prior evolution, first-touch acquisition, exposed-visitor efficiency, and momentumgoal:create -s <siteId> -n <name>Create a conversion goal (pageview URL, custom event, outbound link, or download)goal:delete -s <siteId> -g <goalId>Delete a conversion goalgoals:suggest -s <siteId> [--include-bots]Analyze human traffic and suggest high-value conversion targets with rationalesGestion des sites
sites listLister tous les sitessites add <domain>Ajouter un nouveau site (-n/--name pour le nom d'affichage)sites remove <siteId>Supprimer un sitesites info <siteId>Afficher les détails du site et le code de suivisites update <siteId> --currency <code>Définir la devise d’affichage (code ISO 4217, CAD par défaut)install <siteId>Obtenir le code de suivi pour un siteGestion de l'équipe
members list -s <siteId>Lister les membres du sitemembers add <email>Ajouter un membre (-s, -r viewer|editor|admin, --all-sites)members remove <id>Supprimer un membre (-s)members update-role <id>Mettre à jour le rôle d'un membre (-s, -r)Facturation
billingAfficher le forfait actuel, l'utilisation et les informations de facturation (--json)Options
-s, --siterequis-r, --range-l, --limit--json