Communitygithub.com

Feature Flags (Drapeaux de Fonctionnalité)

Modèles pour LaunchDarkly/Flagsmith/Vercel, déploiements progressifs, répartitions en pourcentage, interrupteurs A/B.

Qu'est-ce que Feature Flags (Drapeaux de Fonctionnalité) ?

Ce skill fournit un guide complet pour utiliser les drapeaux de fonctionnalité (feature flags) dans vos projets de développement. Il couvre les cas d'utilisation principaux comme les déploiements progressifs (gradual rollouts), les répartitions en pourcentage et les tests A/B. Il explique comment implémenter ces modèles avec des plateformes majeures comme LaunchDarkly (pour les entreprises), Flagsmith (open-source), et l'intégration native `@vercel/flags` pour Next.js. En suivant les règles et patterns définis, vous pouvez livrer des fonctionnalités en toute sécurité, les activer progressivement et les nettoyer une fois le déploiement terminé, réduisant ainsi la dette technique. Des exemples de code concrets en TypeScript montrent l'évaluation des drapeaux côté serveur, garantissant que la logique de ciblage reste sécurisée.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/feature-flags

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Feature Flags (Drapeaux de Fonctionnalité) ?

Règles

  • Utilisez les drapeaux de fonctionnalité pour les déploiements progressifs — livrez le code derrière un drapeau, activez-le progressivement
  • Types de drapeaux : booléen (activé/désactivé), pourcentage (10% des utilisateurs), ciblage utilisateur (IDs/segments spécifiques)
  • LaunchDarkly pour les entreprises, Flagsmith pour l'open-source, Vercel Flags ou @vercel/flags pour Next.js
  • Évaluez les drapeaux côté serveur par défaut — transmettez uniquement les valeurs des drapeaux au client, jamais la logique d'évaluation
  • Conventions de nommage des drapeaux : enable-new-checkout, show-pricing-v2 — descriptif, en kebab-case
  • Nettoyez les drapeaux après un déploiement complet — les drapeaux obsolètes sont une dette technique ; fixez des dates d'expiration
  • Déploiements en pourcentage : hachez l'ID utilisateur pour un regroupement cohérent — le même utilisateur voit toujours la même variante
  • Par défaut, désactivez le drapeau pour les nouvelles fonctionnalités — sécurité en cas d'indisponibilité du service de drapeaux
  • Utilisez les drapeaux pour les tests A/B : définissez des variantes, suivez les événements de conversion, mesurez la signification statistique
  • Stockez les surcharges de drapeaux dans les variables d'environnement pour le développement local

Patterns

// Pattern Vercel Flags / Next.js
import { flag } from "@vercel/flags/next";

export const showNewCheckout = flag({
  key: "show-new-checkout",
  decide: () => false, // désactivé par défaut
});

// Dans un composant serveur
const enabled = await showNewCheckout();
// Pattern LaunchDarkly
import * as ld from "@launchdarkly/node-server-sdk";
const client = ld.init(process.env.LAUNCHDARKLY_SDK_KEY!);

const showFeature = await client.variation("new-checkout", user, false);

À éviter

  • Livrer des fonctionnalités sans drapeau — chaque nouvelle fonctionnalité doit pouvoir être activée/désactivée
  • Dépendances imbriquées de drapeaux — gardez la logique des drapeaux plate et indépendante
  • Laisser des drapeaux dans le code après un déploiement à 100% — planifiez le nettoyage dans les 2 semaines
  • Évaluation côté client exposant les règles de ciblage — évaluez sur le serveur, envoyez le résultat

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

Skills associés