搜索

PythonReactSEOPDF
GitHub Skill

add-feature-flag

Add PostHog feature flags for gradual rollouts, A/B tests, or beta features. Use when implementing feature toggles, experiments, or canary releases.

tech-with-seth☆ 1 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Add Feature Flag

When to Use

  • Gradual feature rollouts (canary releases)
  • A/B testing and experiments
  • Beta feature gating
  • Quick feature kill switches

Server vs Client

Use Server-Side When Use Client-Side When
SEO-critical content UI-only changes
No flicker required Flicker acceptable
Performance critical Simpler implementation

Server-Side (Flicker-Free)

import type { Route } from './+types/product-page';
import { isFeatureEnabled } from '~/lib/posthog.server';

export async function loader({ request }: Route.LoaderArgs) {
    const showNewLayout = await isFeatureEnabled('new-product-layout', request);

    return {
        featureFlags: { showNewLayout },
    };
}
export default function ProductPage({ loaderData }: Route.ComponentProps) {
    const { featureFlags } = loaderData;

    return featureFlags.showNewLayout ? <NewLayout /> : <LegacyLayout />;
}

Client-Side (Simpler)

import { usePostHog } from 'posthog-js/react';
import { useEffect, useState } from 'react';

export default function FeatureComponent() {
    const posthog = usePostHog();
    const [showFeature, setShowFeature] = useState(false);

    useEffect(() => {
        if (posthog) {
            setShowFeature(posthog.isFeatureEnabled('new-feature') ?? false);
        }
    }, [posthog]);

    return showFeature ? <NewFeature /> : <LegacyFeature />;
}

Naming

// Good
'new-checkout-flow'
'ai-assistant-beta'

// Bad
'flag-123'
'test'

Checklist

  1. Choose server or client-side based on requirements
  2. Use descriptive flag name
  3. Add TODO comment for cleanup date
  4. Track conversion events if A/B testing

Full Reference

See .github/instructions/feature-flags.instructions.md for:

  • A/B testing with variants
  • Gradual rollout strategy
  • Debug locally
  • Tracking conversion events

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!