mcpField
F
feature-flag-system

feature-flag-system

github.com/aj-geddes開発373442 回インストール34 週間前に更新
リポジトリ

feature-flag-system について

デプロイとリリースを分離し、段階的な展開や実験、緊急停止に対応するフィーチャーフラグの実装スキルです。TypeScriptサービス、Reactフック、分析、SDKの設計例、管理画面の資料を含みます。

主な機能

  1. 01段階的な機能展開
  2. 02A/Bテストと実験
  3. 03カナリアデプロイ
  4. 04緊急停止スイッチ
  5. 05サービス、フック、管理画面のガイド

活用シーン

  1. 01対象ユーザーへの機能リリース
  2. 02機能実験の実施
  3. 03変更の段階的な展開
  4. 04緊急時の重要機能の無効化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill feature-flag-system

インストール後、Claude Code で/feature-flag-systemを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
admin-ui-for-feature-flags.md
feature-flag-service-typescript.md
feature-flag-with-analytics.md
launchdarkly-style-sdk.md
react-hook-for-feature-flags.md
scripts/
scaffold-tests.sh
templates/
test-template.js

詳細

機能フラグシステム

目次

概要

機能フラグを実装すると、デプロイとリリースを切り離し、段階的なロールアウトや A/B テストを可能にし、緊急時のキルスイッチを提供できます。

使用する場面

  • 機能の段階的なロールアウト
  • A/B テストと実験
  • カナリアデプロイ
  • 特定のユーザー向けのベータ機能
  • 緊急時のキルスイッチ
  • トランクベース開発
  • ダークローンチ
  • 運用フラグ(メンテナンスモード)
  • ユーザー固有の機能

クイックスタート

最小限の動作例:

interface FlagConfig {
  key: string;
  enabled: boolean;
  description: string;
  rules?: FlagRule[];
  variants?: FlagVariant[];
  createdAt: Date;
  updatedAt: Date;
}

interface FlagRule {
  type: "user" | "percentage" | "attribute" | "datetime";
  operator: "in" | "equals" | "contains" | "gt" | "lt" | "between";
  attribute?: string;
  values: any[];
}

interface FlagVariant {
  key: string;
  weight: number;
  value: any;
}

interface EvaluationContext {
  userId?: string;
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装は references/ ディレクトリにあります。

ガイド内容
機能フラグサービス(TypeScript)機能フラグサービス(TypeScript)
機能フラグ用 React フック機能フラグ用 React フック
分析機能付き機能フラグ分析機能付き機能フラグ
LaunchDarkly 風 SDKLaunchDarkly 風 SDK
機能フラグ用管理 UI機能フラグ用管理 UI

ベストプラクティス

✅ 推奨事項
  • 説明的なフラグ名を使用します
  • フラグの目的とライフサイクルを文書化します
  • 段階的なロールアウトを実装します
  • フラグの評価を追跡します
  • 古いフラグを定期的に削除します
  • 実験に機能フラグを使用します
  • 重要な機能にはキルスイッチを実装します
  • 有効状態と無効状態の両方をテストします
  • 安定したロールアウトのために一貫性のあるハッシュを使用します
  • 技術者以外のユーザー向けに管理 UI を提供します
❌ 非推奨事項
  • 恒久的な設定にフラグを使用しないでください
  • 古いフラグによる技術的負債を蓄積しないでください
  • フラグの削除を怠らないでください
  • フラグを細分化しすぎないでください
  • フラグのチェックをあらゆる場所にハードコードしないでください
  • 分析とモニタリングを省略しないでください

コメント