dif.sh icon

dif.sh

dif.shは、リポジトリ内のMarkdownでフィーチャーフラグ、A/Bテスト、ホールドアウト、段階的ロールアウトを管理。CLIで実験を構築・検証・実行・完了し、Dif Cloudで共有指標と意思決定レビューにも対応します。

dif.sh

リポジトリでフィーチャーフラグと実験を管理

Dif.shは、フィーチャーフラグ、A/Bテスト、ホールドアウト、段階的ロールアウトを、Markdownファイルとしてリポジトリ内で管理する開発者向けツールです。中心となるワークフローは、小規模なCLI、gitで管理する`dif/`フォルダー、そしてアプリがインポートできる生成済みランタイム成果物を軸に構成されています。

この製品は、実験定義、ロールアウトルール、実験履歴をコードレビューの近くに置きたいチーム向けに設計されています。ローカルワークフローはターミナルから実行し、Dif Cloudを使うと、信頼できる唯一の情報源をリポジトリから移すことなく、指標、信頼区間、意思決定案の共有ライブビューをチームに追加できます。

主な機能

Markdownを中心とした実験ファイル

各フラグ、ホールドアウト、段階的ロールアウト、A/Bテストは、`dif/`内の単一の`.md`ファイルとして表現されます。設定を読みやすく、差分で確認しやすく、プルリクエストでレビューしやすくします。

リポジトリベースのCLIワークフロー

`dif init`、`dif new`、`dif validate`、`dif build`、`dif qa`、`dif conclude`により、ターミナルを離れることなく、ひな形作成からクリーンアップまでのライフサイクル全体をカバーします。

生成されるランタイム成果物

`dif build`はアクティブな実験を型付きクライアントと`dif/context.json`にコンパイルします。これによりアプリはローカルでバリアントを表示でき、エージェントはセッション開始時に共有実験コンテキストを読み取れます。

ランタイムでのオーディエンスターゲティング

オーディエンスルールを設定で宣言し、コミット済みの顧客リストではなく、country、plan、returning_visitorなどのユーザー属性からランタイムで解決します。

検証と競合検出

ビルド時のチェックにより、変更が本番環境に到達する前に、競合、テストの欠落、不正なフロントマター、除外グループの衝突を検出します。

クラウド分析とレビューフロー

Dif Cloudは、チーム向けの指標、リフト計算、信頼区間、プルリクエストベースの意思決定提案を追加しつつ、gitを信頼できる唯一の情報源として維持します。

チームによるdif.shの実践的な利用方法

  • 実験定義をコードの近くに置く

    アクティブな実験を`dif/experiments/active/`に保存し、プルリクエストでレビューして、完了した作業を後から参照できるようリポジトリに残します。

  • リリース前にロールアウトのミスを検出する

    ロールアウト前に実験を作成、検証、コンパイルすることで、競合、テストの欠落、不正なフロントマターを本番環境ではなくCIで失敗させます。

  • ランタイム属性でバリアントをターゲティングする

    country、plan、returning_visitorなどのオーディエンス属性を使ってバリアントをターゲティングし、顧客リストをリポジトリにコミットせずに済みます。

  • エージェントと実験コンテキストを共有する

    `dif/context.json`を生成し、コーディングエージェントがセッション開始時に現在の実験状態を読み取れるようにすることで、過去の学びを次の変更に引き継ぎます。

  • チーム間で意思決定を調整する

    露出数、時間経過によるリフト、信頼区間、プルリクエストとして書き戻される意思決定案をチームで共有したい場合にDif Cloudを使用します。

Pros and Cons

Pros

  • 実験定義をMarkdownとしてgitに保存できるため、PRでレビューでき、コードと一緒に簡単にバージョン管理できます。
  • CLIは、セットアップ、作成、検証、ビルド、QAプレビュー、実験の完了まで、ライフサイクル全体をサポートします。
  • `dif build`はデプロイ前に競合と除外グループの衝突をチェックするため、CIで安全でない組み合わせを検出しやすくなります。
  • ランタイムクライアントはリポジトリから生成されるため、本番環境でバリアントを選択するために別のサービスを呼び出す必要がありません。
  • Dif Cloudは、リポジトリをシステム・オブ・レコードとして維持しながら、チーム全体に向けてリフト、信頼区間、露出データ、意思決定を要約できます。

Cons

  • 収集されたソースの料金ページにはプランの完全な内訳が記載されていなかったため、提供された情報からは正確な有料プランの詳細が不明です。
  • Cloud固有の分析機能とチームビューは、コアとなるリポジトリ/CLIワークフローとは別のものと思われます。そのため、リフト計算や共有指標を必要とするチームはDif Cloudを利用する必要があります。
  • シェルインストーラーはmacOSとLinuxに限定され、フレームワークパッケージにはNode 20.6+が必要です。

FAQ

dif.shを使い始めるにはどうすればよいですか?

Dif.shはCLIを使ってリポジトリのルートからセットアップします。ドキュメントでは、`dif init`で`dif/`ワークスペースを作成し、その後`dif new`、`dif validate`、`dif build`、`dif qa`を主要なワークフローとして実行します。CLIはリポジトリ内で実行するよう設計されており、コアとなるローカルワークフローではブラウザを開いたりログインしたりする必要はありません。

Dif Cloudの料金はいくらですか?

提供されたソースページでは、2つの層が説明されています。CLIとSDKは無料で利用でき、Dif Cloudは共有指標、リフト計算、実験のチームビューを提供する有料サービスです。収集されたテキストに示された料金ページにはプランの詳細がありませんでしたが、Cloudページには月額50ドルで1,000,000イベントと全シートが含まれると記載されています。

dif.shは実験をどこに保存しますか?

Dif.shは、gitで管理する`dif/`フォルダー内に実験をMarkdownファイルとして保存します。アクティブな実験は`dif/experiments/active/`に置かれ、完了した実験は`dif/experiments/concluded/`に移動します。サーフェスとコンテキストもリポジトリ内で実験とともに管理されます。

Dif Cloudはリポジトリのみのワークフローに何を追加しますか?

Dif Cloudはリポジトリを読み取り、各Markdown実験を、露出数、リフト、信頼区間、完了可能フラグを備えたライブビューに変換します。また、提案された意思決定をプルリクエストとして書き戻すため、リポジトリを信頼できる唯一の情報源として維持できます。

dif.shはどのプラットフォームをサポートしていますか?

ドキュメントによると、npmラッパーがサポートされており、Node 18+が動作する環境で利用できます。SDKとフレームワークパッケージにはNode 20.6+が必要です。シェルインストーラーはmacOSとLinuxで利用でき、HomebrewもmacOSとLinuxでサポートされています。

Quick Facts

カテゴリー
開発者向けツール
コアモデル
gitにMarkdownとして保存するフィーチャーフラグとA/Bテスト
主なインターフェース
CLIと生成済みSDK/ランタイムクライアント
リポジトリ構成
実験、サーフェス、オーディエンス、設定、コンテキスト、生成ファイルを含む`dif/`フォルダー
対応インストール方法
シェルインストーラー、Homebrew、npmラッパー
プラットフォームに関する注記
シェルインストーラー:macOS/Linux、npmラッパー:Node 18+、SDK/フレームワークパッケージ:Node 20.6+

dif.shの代替品

OpenFlags icon

OpenFlags

OpenFlagsは、現代的なJavaScriptチーム向けのオープンソースでセルフホスト型のfeature flagプラットフォームです。ローカル評価、段階的ロールアウト、対象別の公開を、データを自社環境に保持したまま実現します。

ByteAsk icon

ByteAsk

ByteAskは、C/C++向けのターミナル起点AIコーディングエージェント。リポジトリを編集し、コンパイラやデバッガ、サニタイザ、テストで変更を検証してから差分を表示。無料枠あり。

CreateOS Sandbox icon

CreateOS Sandbox

CreateOS Sandboxは、FirecrackerマイクロVM上でコードやエージェントのワークロードを実行できる分離型コンピュート環境です。SDK、CLI、MCPで制御可能。

Codex Plugins icon

Codex Plugins

Codex Plugins は、再利用可能なスキル、アプリ連携、MCPサーバーを Codex app や Codex CLI で使えるワークフローにまとめます。接続サービスの作業や共有チームワークフローを拡張できます。

Struere icon

Struere

Struereは、スプレッドシートのデータをダッシュボード、アラート、自動化付きの構造化された業務ソフトへ変えるAIネイティブなプラットフォーム。手作業の表計算業務を置き換えたいチーム向け。

hob icon

hob

hobは、エージェントのセッション、ターミナル、履歴、後続作業を、既存のツールやプロバイダーに合わせて整理できる独立したコーディングエージェント向けワークスペース。ローカルでの制御を重視する開発者に最適。