FX-DEVKIT / ドキュメント

変更履歴

fx ワークスペース CLI の変更点。

v0.20.0 · 公開プレビュー

0.20.0 (2026-11-12)

  • 互換性のある bitbucket-cli のネイティブ HTTPS Git 認証で manifest 初期化、クローン、fetchとリモート HEAD の読み取りを実行します。SSH 宣言と remote を保ち、fx はトークンを扱いません。対応 CLI が未導入または旧版なら通常の Git を使い、認証拒否はエラーのまま返します。
  • 配套 CLI カタログを bitbucket-cli 0.30.0 と wecom-channel-cli 0.4.0 に更新します。

0.19.0 (2026-11-12)

  • repo version でコミットに固定したバージョン宣言と第一親のフィールド変更履歴を読み取れます。ネストしたパッケージと過去の基準との比較にも対応します。リリースチェックにも同じ証拠を追加でき、ソース変更を公開済みとは扱いません。
  • タイムゾーンを含む絶対エラー期間と、ページをたどる Sentry Issue メタデータ取得を追加しました。存続期間全体の初回発生、期間内の活動、現在の状態、件数の集計範囲を区別し、途中までの取得と詳細取得の失敗を明示します。
  • リリースチェックの判定やレポート生成時の終了コード 0 を変えずに、evidence_complete とリポジトリごとの証拠の確認範囲を追加しました。repo show は現在のメンバー文書の関係を日付で評価した業務範囲別の責任情報を返し、担当者は選びません。

0.18.1 (2026-11-12)

  • リリースの確認済み失敗と未完了を区別し、同じ取得不能原因を復旧手順とともにまとめ、構造化されたクエリエラーを保持します。Sentry プロジェクトが未指定の場合に組織全体を検索して誤ったリリース失敗を報告する問題を修正しました。

0.18.0 (2026-11-12)

  • 準備確認の証拠、Provider コマンド、handoff、プローブで同じ実行ファイルとワークスペースを使用し、カスタム binary 名にも対応します。
  • 準備手順の展開前にツール診断と修復の範囲を限定し、起動の前提条件と認証 handoff を区別します。
  • デバイス OAuth 非対応の Sentry 向けに個人 Token の手動設定を案内し、有効な既存認証を維持します。
  • メンバーフィルターの一覧とワークスペースを保持するクエリ修正を追加し、配套 Skill と回帰テストを更新します。

0.17.0 (2026-11-10)

  • people にメンターと最終責任者を指定できます。メンバーの一覧と詳細は明示的な ID または null を返し、不正な参照や循環は検証で拒否します。

0.16.1 (2026-11-10)

  • npm 連携 CLI の最低バージョンを、ファミリーおよび上流の最新公開版に合わせました。wecom-chat-cli v0.3.0 と公式 wecom-cli v1.3.4 を含みます。
  • Chat 0.2.x からの watch 出力とカーソルの移行を案内します。fx の準備確認はワーカーのタスクに限定し、Skill は引き続きホストが管理します。

0.16.0 (2026-11-10)

  • wecom-channel-cli v0.3.0 以上を必須とし、同じ Bot のメッセージを監視から除外します。準備確認には正式な doctor コマンドを使います。wecom-chat-cli の最低バージョンは公開済みの最新版 v0.2.0 のままで、タスク単位の準備確認とホスト管理の Skill を維持します。

  • wecom-chat-cli v0.2.0 以上をツールカタログと隔離ワーカー用の im provider に追加しました。準備確認は現在のタスクだけを読み、本文をレポートへ出力せず、トークン発行や返信承認も行いません。同梱 Skill は引き続きホストで管理します。

  • メンバーのスキーマ 2 で、組織上の所属、個人の職能、業務での協力関係を区別して検索できます。業務を指定した検索は、一致した関係、有効期間、出典を返します。スキーマ 1 も引き続き読めます。

0.15.0 (2026-11-02)

  • ワークスペースの channel を wecom-channel-cli に割り当てると、CLI と Skill をインストールできます。準備状態はエージェントのソケット経由でローカルブローカーに問い合わせます。

  • sync の更新で置き換えられてしまうローカルファイルを保持するようになりました。upstream が、checkout では無視されたファイルとして存在するパス (ローカルの .env など) を追跡し始めると、fx sync はそのファイルを fast-forward で上書きし、内容を置き換えていました。現在はその checkout を変更せずに残して outcome local_files_in_the_way でスキップし、対象ファイルを files_in_the_way に示して、それらが移されるまで準備完了にしません。同じ位置にある追跡されていないファイルは、もともと Git が置き換えを拒否していましたが、失敗した GIT_FAST_FORWARD_FAILED の行ではなく同じ形で報告されます。manifest の checkout も同じように保持されます。

0.14.0 (2026-10-28)

  • ツールが変わったときに Skill を更新します。fx tool install と fx tool update は、インストールまたは更新した各ツールにコーディング Agent 向けの Skill をもう一度インストールさせ、Agent が PATH 上の現在の版の説明を読めるようにします。各行に skill が加わります。fx self update は最後に、新しくインストールした fx に、それより古い自身の Skill のコピーを更新させ、結果を skill_refresh で示します。新しい fx skill update はこれを単独で行います。認識できる、実行中の fx より古いコピーだけを、すべての Agent のディレクトリで更新し、新しいコピーはインストールしません。すべてを最新に保つには fx self update --yes と fx tool update --all を実行します。

  • fx tool update --all はインストール済みのツールだけを更新します。以前はワークスペースの外ではカタログ全体を対象にし、まだないツールをすべてインストールしていました。ワークスペース内では、ワークスペースに足りないツールをインストールしていました。これらは fx tool install --all に任せ、ワークスペース内では TOOLS_NOT_INSTALLED 通知でそれらを示します。FX_OUTDATED 通知は fx skill install を勧めなくなりました。

  • fx release check はルートの VERSION を依存関係のメタデータより優先し、サービスのバージョンが欠落したりパッケージのバージョンで表示されたりする問題を修正しました。依存関係チェックは引き続き依存関係ファイルを読み取ります。

0.13.0 (2026-10-27)

  • manifest がなくても対応 CLI をセットアップできるようになりました。ディレクトリもソースも指定せずに fx init を実行すると、fx のカタログにあるツールを一覧し、セットアップするものを番号か名前で尋ねます。Enter ですべてを選びます。エージェントやスクリプトは fx init --tools <name,...> または --tools all で指定し、--dry-run でプレビューできます。fx は不足しているツールをインストールし、各ツールにコーディングエージェント向けの Skill をインストールさせ、自身の fx-workspace Skill を追加して、各ツールがサインイン済みかを確認します。ターミナルでは、サインインしていないツールのセットアップ (<tool> config init、gh auth login) を始めるかを尋ねます。セットアップはサービスと認証情報を尋ねます。ターミナルでない場合と --yes の場合は、そのコマンドをレポートで渡します。ワークスペースは登録しません。ツールを決め、接続先のサービスを事前設定するのは、引き続き manifest の役割です。JSON レポートには tools、tool_install、skills があり、preparation.scope.workspace は null です。
  • カタログや manifest のツールの auth で、ステータスが報告すべき JSON フィールド (json) とツール自身の対話式セットアップ (login) を指定できるようになりました。同梱のカタログはファミリーの CLI に両方を、gh に login を指定し、fx tool show はそれらを示します。
  • バックグラウンドの hook 実行では、対応 CLI 自身の --timeout を通じて、ログインの再利用チェックにその実行が割ける時間を伝えます。再利用で追加される検索に対応 CLI が設ける上限の 10 秒に満たない場合は、そのチェックを行いません。以前は、そのチェックに割り当てた時間が尽きた時点でチェックが打ち切られていました。fx login --list と init のプレビューでは、再利用ステップの verify に、フラグとチェックに必要な最小時間 (minimumMs) を示す deadline が加わります。
  • バックグラウンドの hook 実行で、成功しなかったログインチェックがすべて実行されなかったか応答しなかったもの (fx doctor が coverage 不完全と報告するもの。実行の時間が尽きた場合など) である場合は、LOGIN_REQUIRED ではなく LOGIN_UNCHECKED を記録します。
  • Jenkins と OpenObserve の環境は、jenkins-cli auth status または openobserve-cli auth status が authenticated: true を報告した場合にだけサインイン済みとみなします。どちらも誰もサインインしていなくても 0 で終了するため、認証情報のないマシンではサインインのステップが完了扱いになり、fx init と fx sync はサインインを求めていませんでした。
  • fx where が表示しプローブする OpenObserve と Prometheus のコマンドに、宣言された認証方式を含めなくなりました。チェックは 0.9.1 からそうしています。basic 認証を使う OpenObserve の context へのプローブは --auth-scheme session 付きで送られて拒否されていました。コマンドには context のほか、サーバーの URL と組織だけを指定します。

0.12.0 (2026-10-19)

  • GitHub で pull request を作成できるようになりました。fx source push は GitHub にある manifest ソースでも Bitbucket と同じように動作します。選択したファイルを gh を通じて検証済みの個人フォークに push し、上流に対する pull request を作成、再利用、または終了します。--pr には pull request の番号か GitHub 上のページを指定できます。
  • fx import が github.com から HTTPS または SSH でクローンした checkout を認識し、対応する clone のプレフィックスをホストとして code-host github を結び付けます。GitHub Enterprise サーバーは、引き続きリモートから推測しません。
  • 自分の WeCom カレンダーを履歴ごと検索できるローカルミラー wecom-calendar-cli を、ツールカタログと calendar の provider に追加しました。fx can は各メンバーのサインインを確認し、エージェントに wecom-calendar-cli event list を渡します。wecom-calendar-cli sync でミラーを満たすかどうかはメンバー自身が決めます。
  • プラットフォームが CI のビルドがチェックアウトしたコミットを示す場合は、そのコミットでビルドを判定します。fx release check は、ブランチの先頭コミットをビルドして成功したビルドを合格とし、別のコミットのビルドは不合格とします。ビルドの開始時刻と先頭コミットの作成時刻は比較しません。GitHub Actions はコミットを示し、Jenkins は jenkins-cli 0.12.0 以降で示します。コミットがわからない場合は、これまでどおり時刻で判定します。CI の根拠に commit が加わります。
  • github-actions の ci 環境で branch を省略できるようになりました。その場合、fx release check は各側で確認しているブランチの実行を数えます。
  • init、sync、doctor の JSON レポートの要約に、untrusted、missing_variables、invalid、busy を報告する MCP、rules、hook の行を残します。これまでは omitted に数えられるだけで、同じステージの foreign や conflict の行は表示されていました。
  • 対応 CLI へのクエリ、sentry、git は、実行ファイルを起動できなかった場合にだけ TOOL_MISSING を報告します。起動したうえで自ら 127 で終了した場合は、すでに入っているツールのインストールを求めるのではなく、失敗したクエリまたは Git 操作としてそのまま報告します。
  • fx can mcp:<name> の --agent が認識できない場合、fx agent pick や fx skill install と同じく "<id>" is not an agent fx knows と伝えます。fx release check は未知のリポジトリをほかのリポジトリ系コマンドと同じ言い回しで報告し、近い名前がなければ既知の名前を挙げ、次の手順にワークスペースを残します。
  • エラーが提案するコマンドでは、引用が必要なディレクトリ名、ツール名、リポジトリ名を引用します。対象は IMPORT_INSIDE_ROOT のインポート対象のディレクトリ、保留されたインストールのツールや Skill の準備に必要なのに不足している対応 CLI、PROBE_RECORD_INPUT_REQUIRED のリポジトリです。空白を含むパスも表示どおりに貼り付けて実行できます。
  • 次の場面で示すコマンドを、設定された command_shell に合わせて引用します。ワークスペースの relocate、rebind に続くコマンド、fx init が受け付けられない、または再開できない登録、ワークスペースが変わった profile のインポートやソースへの貢献、記録できなかった probe、記述対象のディレクトリの内側を指す manifest のインポート、登録されていない名前を指す --workspace。これまでは設定にかかわらず POSIX の引用で表示されていました。
  • manifest リポジトリや local-git コードホストを読むときも、リポジトリ同期と同じく git を C ロケールで実行します。ほかのロケールでは、git の翻訳されたメッセージを認識できず、ブランチに存在しないファイルがクエリの失敗として報告されていました。これらの場面で git を起動できない場合は TOOL_MISSING になります。
  • fx sync と fx init の最後に、結論の前にステージごとに 1 行の結果を示します: 更新した、すでに最新、スキップした、失敗したリポジトリ (名前付き)、manifest の refresh の結果、ほかのステージが報告した件数です。ターミナルでは成功した行は表示せずステータス行で数え、最後の表示が繰り返す SYNC_PARTIAL notice も同様に扱います。--verbose ではそれらを表示し、パイプや JSON には従来どおりすべての記録が届きます。Git の呼び出し中に表示されるステータス行は、ほかの行が出続けている間は繰り返されなくなりました。
  • sync と init の阻害要因を解決方法ごとにまとめます: サインインまたは認証情報、拒否されたアクセス、このマシンから届かないサーバーです。届かないサーバーには fx login ではなく再確認するコマンドを示し、応答しない Prometheus サーバーは届かないものとして扱います。別の阻害要因を直接または間接に待っていた確認はその下に示して別に数えず、companion のエラーコードはメッセージの後に示します。companion が再試行しても解決しないと示す準備手順には、fx doctor --fix を勧める代わりに companion 自身の助言を示します。準備の確認に cause と waits_on が加わります。
  • fx login は既存のログインを再利用する組み込みの手順を、init や sync と同じく確認なしでターミナルを使わずに実行し、--no-input でも実行します。その失敗は exit 3 ではなく companion のメッセージとコードを保ち、ターミナルでは companion の助言を LOGIN_STEP_FAILED notice で示し、companion の JSON がターミナルに出なくなりました。確認するのはサインインの前だけです。
  • 人向けの fx login の表の下には 0 でない件数だけを示し、空の problems は示しません。それらを繰り返す LOGIN_SUMMARY notice は JSON とパイプに残します。通った確認はコマンドを繰り返さず、authenticated is true のように確認できた内容を示します。
  • 記録された harness のパスや貢献のパスに、大文字小文字を問わない .git セグメントや削除文字が含まれる場合は拒否します。harness の所有権メタデータは .GIT/... を受け入れており、大文字小文字を区別しないボリュームではリポジトリ自身のディレクトリに解決されていました。どちらのストアも、記録されたパスを fx source push が選択に適用するのと同じ規則で検証します。
  • 名前に空白や非 ASCII 文字を含むディレクトリの下、または Windows に fx がインストールされている場合、fx self info の bundled_tools はファイルシステムが受け付けるパスを示します。これまではパーセントエンコードされた URL パスでした。
  • manifest ソースを記録していない登録を fx init --resume で続行しても、登録はそのまま保たれます。これまでは再開時に source: "-" が config.yaml に書き込まれ、その後 fx sync はそのワークスペースを stdin から用意したものと見なして更新できるソースがないことを知らせなくなり、fx init <dir> --from <source> はソースを記録する代わりに SOURCE_MISMATCH でそのディレクトリを拒否していました。
  • upstream がまだ空のリポジトリ (fx repo add で最初の push 前に登録したものなど) で、sync 全体を失敗させずにスキップします。fx はブランチがないと判断する前にリモートに確認します。空の upstream は outcome empty_remote のスキップで、準備完了の判定を妨げません。ほかのブランチはあるのに追跡対象ブランチがない upstream は outcome no_remote_branch のスキップで、manifest が誤ったブランチを指している可能性があるため、引き続き準備完了を妨げます。まだコミットのないローカルブランチは upstream にコミットができると fast-forward され、どちらの状態の manifest checkout もそのまま残します。
  • fx login がある環境にサインインした時点で、それより前の環境を最新の状態にします。そのツールで先に失敗したステップはもう一度確認し、今は通るステップを待っていたものは実行します。これにより、保存済みのログインを共有する環境がまとめで failed や blocked のまま残らなくなります。2 回実行されるセットアップ操作はありません。まだ失敗する確認は結果を変えず、見つかった内容を recheck に記録します。
  • manifest checkout の sync 行で、常に "refreshed" と書く代わりに実際の結果を示します: 更新した、すでに最新、または理由付きで保持した、のいずれかで、保持したブランチのコミットがすでに upstream にある場合はそれも示します。
  • 失敗した確認が前置きの後に JSON オブジェクトで出した理由 (kubectl の Error from server (Forbidden): {…} など) を、オブジェクトをそのまま引用せずに読み取ります。

0.11.0 (2026-10-12)

  • manifest に go.workspace: true を指定すると、ワークスペースルートに go.work を保ちます。fx init と fx sync は、最上位に go.mod がある選択済みの checkout をすべて、それらが要求する最新の go バージョンで列挙するため、各モジュールは兄弟リポジトリの checkout を使ってビルドされます。まだクローンしていないリポジトリは含めず、fx は自分が書いた go.work だけを置換・削除します。fx sync --only go でこのファイルだけを更新できます。このワークスペースでは go.work と go.work.sum を余分なルートエントリとして扱いません。
  • ワークスペースを GitHub に結び付けられるようになりました。code-host provider github と ci provider github-actions はどちらも GitHub CLI gh を使います。gh はツールカタログに加わり、両方でホストごとに 1 回のサインインを共有します。fx release check は Bitbucket や Jenkins と同じように、ブランチ、コミット、ファイル、ブランチの最新の workflow 実行を GitHub から読み取ります。ci の環境は、数える実行を 1 つのブランチと 1 つのトリガーに絞り込めます。fx から pull request を作成する機能は、GitHub ではまだ使えません。
  • fx release を fx release check に改名し、リリースを行うのではなく確認するコマンドであることを名前で示します。fx release は互換名として引き続き動作します。
  • 各リリースで出荷される内容を示します。fx release check は各リポジトリの最初に、対象ブランチが宣言しているバージョン、両ブランチの先頭コミット、まだ対象ブランチにマージされていないソースブランチのコミット数とその作成者数を示し、すべてのチェックが通ったリポジトリも最後に 1 行ずつ同じ内容を示します。JSON レポートには、要約も含めてこれらを持つ repos[] が加わり、既存のフィールドは変わりません。
  • CI の判定が基準にしたコミットを示し、マージのチェックは「main にマージされていない」「dev にマージし戻されていない」と表現し、CI とエラーのメッセージでは各プラットフォーム自身のジョブ名やプロジェクト名を使います。CI の根拠に head が加わります。
  • manifest スキーマの説明どおり、リポジトリの release.note をリリースレポートに表示します。
  • ソースの AGENTS.md にある相対リンクのうち、CONTRIBUTING.md のように manifest ソースのファイルを指すものは、ワークスペースルートに派生したガイドですべて解決します。これまでは README.md、docs/、skills/ へのリンクだけが解決され、それ以外はルートにないファイルを指していました。
  • すべてのリポジトリが upstream を指定している場合、fx manifest lint はコードホストの provider を求めなくなりました。そのようなワークスペースはコードホストを使いません。
  • Windows がバッチファイル(npm、Scoop、Chocolatey がインストールする .cmd)経由で起動する対応 CLI に、すべての引数をそのまま渡します。引数に含まれる &、|、%、^ などの文字を cmd.exe が解釈しなくなりました。
  • C:\host\fx\api.git のように Windows のパスで指定したローカルの Git リモートをプロジェクトと名前として読み取るため、インポート、取り込み、フォーク、fx source push がそのリモートで動作します。stdin バンドルとソースへの貢献では、どのプラットフォームでも manifest ドキュメントをスラッシュ区切りの名前で扱い、インポートもリポジトリのパスをスラッシュ区切りで書き込みます。
  • PowerShell の hook が、タスクの結果をエージェントのコンテキストに書き込むこと、バイトオーダーマーク付きの入力を fx に渡すこと、進行状況レコードを stderr に書き込むことをやめました。
  • Windows で派生したガイドでもソースファイルへのリンクをスラッシュ区切りにします。fx self info は同梱のツールカタログをファイルパスとして示し、インストール先のパスに空白が含まれる場合も同様です。

0.10.1 (2026-10-12)

  • 公開パッケージ @angelmsger/fx を npmjs で公開し、各バージョンタグの GitHub Release に tarball を添付します。内部の @fx/devkit チャネルは変わりません。
  • fx release の human 出力をリポジトリごとにまとめます。失敗または警告のチェックがあるリポジトリはそれぞれのブロックでそのすべてのチェックを示し、だれもサインインしていないツールのようにすべてのリポジトリに共通する問題は、解決するコマンドとともにその上に 1 回だけ示します。すべてのチェックが通ったリポジトリは最後の 1 行にまとめます。--details を付けると、それらのチェックも一覧します。JSON と NDJSON の出力は変わりません。

0.10.0 (2026-10-10)

  • 対象を指定しない fx can が、このワークスペースで問い合わせできる能力を一覧します。manifest が結び付けられる能力ごとに 1 行、環境単位の能力は platform インスタンスごとに 1 行で、スコープ、provider、対応 CLI、用途を示します。何も結び付けられていない能力は provider なしの行として残ります。一覧は結び付けだけを読み取り、個別の能力を問い合わせたときは従来どおり準備状況を確認します。
  • 準備チェックが失敗したときに、何と答えたかを示します。can、where、doctor、login の handoff にある保留中の各ステップに check が付きます。内容はツール自身の言葉、またはそのステップが待っている別のステップです。fx が失敗を読み取れる場合は原因も示し、ステップの手順はその原因に応じた対処に置き換わります。
  • クラスターで認証が確立されなかった場合、「いいえ」と答えた場合、到達できなかった場合を区別します。クラスターがリクエストを誰のものとも認めなかったときは、クラスターの所有者にロールを依頼する案内ではなく、kubeconfig とそのサインイン方法の確認、および更新された kubeconfig の入手先を案内します。
  • kubeconfig が宣言された context を含むかどうかを、クラスターに接続せずに確認します。クラスターへのアクセスチェックは、各リクエストを 5 秒に制限します。
  • チェックから答えが得られなかった場合(ツールが起動しなかった、または期限内に終わらなかった)、can と where は unknown を返し、そのチェックを unfinished に挙げます。1 つのプラットフォームが応答しないことを理由に、where が同じリポジトリのすべてのプラットフォームで失敗することはなくなりました。ツールが起動しなかった場合、doctor と login はそのステップを人に引き継がず、ツールがないことを報告します。
  • 環境がプラットフォームを対象にしていない理由を <env> declares no <platform> platform と示します。別のプラットフォームについて書かれている可能性がある環境のメモは、その理由として使われなくなりました。
  • fx login は普段使う環境を尋ねなくなりました。個人の環境選択は fx env select だけで設定します。未設定の間は宣言されたすべての環境が対象となり、--env で環境を指定しないログインはその旨と絞り込み方を知らせます。これまでは --env で環境を指定していても尋ねられ、「すべて」と答えた人はログインのたびに再び尋ねられ、その場でログインする環境だけを答えると以後 fx doctor と fx sync の対象が狭まっていました。
  • fx can が認識できない対象を受け取ったとき、fx 自身が担う内部の能力を候補に挙げなくなり、次の手順として fx can と fx tool list を案内します。

0.9.1 (2026-10-09)

  • init、sync、doctor が未完了のときの端末出力で、理由と解決コマンドが同じチェックを 1 行にまとめ、実行できなかったチェックと実行して失敗したチェックを別の記号で区別します。
  • 完了できなかったチェックにサインインを求めなくなりました。対応 CLI のチェックがタイムアウトした場合は、再チェックだけを案内します。
  • 同梱の対応 CLI が示す未準備の理由をそのまま表示します。たとえば OpenObserve returned HTTP 401 や、サインイン不要のサーバーへのリクエスト失敗です。expected authenticated to be true だけの表示ではなくなりました。
  • fx 自身が更新できる Skill のコピーには fx doctor --fix を案内します。
  • 宣言されたサービスに到達できる対応 CLI の context は、所有者がどの方式でサインインしていても受け入れます。service 宣言の auth_scheme は、fx が context を作る方法と fx login が案内するサインイン方式だけを決めます。準備、チェック、クエリは宣言された URL、flavor、組織だけを確認し、--auth-scheme を渡さなくなりました。既存の context にこれらの項目のいずれかが欠けている場合は、その項目だけを補い、宣言されたサインイン方式は指定しません。以前は、別の方式でサインインしている context と競合していました。
  • 明示的に fx sync を実行するたびに、既存のログインを関連付けます。fx init のときだけではなくなりました。sync は init と同じくローカルの prepare フェーズの設定手順を実行するため、引き継げるログインが fx doctor --fix の実行を待つことはありません。個人のサインインは引き続き本人が行い、バックグラウンド hook は確認だけを行います。
  • fx が意味を把握しているチェックでは、満たされなかった内容をそのまま示します。fx doctor --fix で関連付けられる既存のログインには an existing login can be reused を、WeCom の 3 つのチェックにはレスポンスのエラーコードで判定したうえで the WeCom API returned an error を表示します。

0.9.0 (2026-10-09)

  • ワークスペースルートには AGENTS.md だけを派生します。fx はそれを指す CLAUDE.md を書き込まなくなり、fx manifest render も manifest リポジトリにこのファイルを作成しなくなりました。Claude Code 2.1.277 以降は AGENTS.md を自分で読み込み、CLAUDE.md があればそちらを代わりに読み込むためです。fx sync は以前のバージョンが派生したポインターを削除し、削除されるまで fx doctor はガイドが古いと報告します。自分で書いた CLAUDE.md はそのまま残り、ガイドの競合としても扱われなくなります。Claude Code が引き続きガイドを読み込むよう、先頭に @AGENTS.md を書いてください。manifest リポジトリにこのポインターが残っている場合は削除してください。
  • manifest ソースのペイロードから CLAUDE.md を外しました。ディレクトリソースにあるこのファイルは管理対象のソースへコピーされなくなり、stdin バンドルが指定している場合は MANIFEST_SOURCE_INVALID で拒否されます。
  • コマンドが動作中であることを表示します。開始から 0.5 秒を過ぎると、端末にその場で描き直されるステータス行が 1 行表示されます。経過時間、数えられる作業の進み具合、もっとも長く続いている項目を示し、たとえば doctor 23s checks 69/82 kubectl.access@dev 3s のようになります。fx が待つ外部呼び出しは起動する場所で報告されるため、すべてのコマンドにこの行があります。doctor、sync、init、status、release、login はチェック、リポジトリ、ステップの数も数えます。結果、通知、各項目の結末はステータス行の上に書かれ、質問やサインインのコマンドは完了するまで端末を占有し、コマンドが終了または中断されるとステータス行は消えます。git やインストーラーの実行中は、同じ端末でホスト鍵やパスフレーズを尋ねられることがあるため、その下では描き直さず、ステータス行を 5 秒ごとに 1 行として出力します。ステータス行を表示する端末では、項目ごとの start 行とリポジトリのハートビートは表示しません。ステータス行が同じ内容を示すためです。パイプ、ファイル、CI、TERM=dumb、--quiet、JSON と NDJSON の出力にはステータス行を出力せず、読み取れる内容はこれまでとまったく同じです。

0.8.0 (2026-10-09)

  • fx が同梱ツール向けに定義するコマンドは、信頼の確認を求めなくなりました。マニフェストの service 宣言が引数を埋めるサービス準備、ログインの再利用、認証情報の確認も含みます。確認が必要なのは、チームの tools.yaml パッチが記述した実行ベクトルだけです。保存済みの認証情報をどこへ送れるかは対応 CLI が判断します。
  • init、sync、doctor が未完了のときの端末出力を整理しました。各ブロッカーをチェック ID 付きで表示し、サインインコマンドはツールごとに環境をまとめ、PATH で fx が見つかる場合はコマンドを fx と表記し、端末では出力の後に PREPARATION_INCOMPLETE のエラーエンベロープを重ねて出しません。JSON 出力は変わりません。
  • 対応 CLI の Skill インストールの進捗は、Agent ディレクトリごとではなくツールごとに 1 回だけ報告します。
  • チームが記述した対応 CLI の Skill コマンドは 1 回の確認で済みます。fx が付け加える Agent 名やディレクトリによって、対象ごとに別の実行ベクトルとして確認を求めることはなくなり、既存の承認もそのまま有効です。
  • 対応 CLI のチェックが失敗した理由を、ツール自身の言葉で示します。出力されたエラーオブジェクトのメッセージを読み取り、ログ行と警告を除き、失敗箇所に続く行を残し、JSON チェックが期待する値を expected authenticated to be true のように示します。
  • human 出力を端末で読みやすくしました。見出し、状態を表す語、ゼロの件数を色で区別し、チェック一覧と進捗には状態記号を付け、入力するコマンドを目立たせ、表は端末の幅に合わせ、ブロッカーの長い理由は自分の列の下で折り返し、エラーは JSON エンベロープではなくヒント、次の手順、引き継ぎ事項を添えたテキストで表示します。装飾するのは端末だけで、stdout と stderr は別々に判定します。環境変数の設定にかかわらず、パイプ、ファイル、CI にはプレーンテキストと JSON のエラーエンベロープを出力し、JSON と NDJSON の出力は変わりません。NO_COLOR は色だけを消し、記号は残します。
  • human の表を端末の桁幅で揃え、CJK 文字を含む行がずれないようにしました。一覧と末尾の情報の間に空行を入れ、値のない項目の後ろに行末の空白を残さず、レコード内の一覧は 1 件でも長くなるとフィールドごとに 1 行で表示し、空のフィールドを省きます。
  • ルートヘルプは端末でも日常コマンドの見出しを EVERYDAY と表示し、FIRST WORKSPACE、AGENT USAGE、COMPATIBILITY の見出しもほかの見出しと同じく強調します。

0.7.1 (2026-10-09)

  • fx repo show が、まだローカルにない共有リポジトリを選択して同期するための next_steps を返すようになりました。生成されるリポジトリ索引にも、未取得のリポジトリが含まれることを明記しています。
  • 準備フローの端末出力では、個人のサインインコマンドをそれぞれ 1 回だけ表示し、その後に続行用のコマンドを示します。
  • マニフェストが明示的な Git URL を使い、コードホストをバインドしていない場合、コードホストのユーザー名がなくてもリポジトリを同期でき、その不足を知らせる通知も出しません。
  • 同梱の Sentry ツールは npm(sentry)でインストールするようになりました。

0.7.0 (2026-10-08)

  • どのリポジトリにも属さない成果物の置き場所を .workbench/ と定めました。派生ガイドに規則を示す workspace-layout 領域を追加し、fx doctor は root グループでルートにある帰属先のない項目を報告し、fx status はそれらを stray_entries として返し、セッション開始時のコンテキストには直近の観測が含まれます。fx はワークベンチに書き込みません。

0.6.0 (2026-10-08)

  • metrics を実装しました。prometheus-cli provider を追加し、この CLI を同梱カタログに加えています。サービスの座標は scrape job です。where は宣言されたサーバーに固定した up{job="..."} クエリを出力します。何にも一致しないセレクターでも成功するため、probe は提供しません。
  • service 宣言の auth_scheme で none と bearer を受け付けます。サインイン不要と宣言されたサーバーは応答の有無で準備完了を判定し、ログインを要求しません。
  • オンライン会議、録画、議事録を保持する会議システムを表すワークスペース能力 meeting を追加しました。tmeet で動作する tencent-meeting provider を提供し、tmeet を同梱カタログに加えています。calendar は予定と空き時間を扱います。

0.5.0 (2026-09-24)

  • 個人認証を要求する前に、検証済みの CLI ログインを共通のチーム context で再利用します。元の準備エラーと検証の詳細を保持し、auth reuse に対応する CLI の最低バージョンを指定します。

0.4.0 (2026-09-21)

  • Skill 読み込みハンドシェイクと skill_notice 設定を廃止しました。FX_SKILL_LOADED、FX_SKILL_VERSION、FX_SKILL_NOTICE は使用しません。loaded/version_verified の代わりにインストール版と activation を確認してください。
  • 承認済みのローカル準備を初期化で実行し、個人認証をまとめて引き継ぎます。init --resume は完了済みの作業を保持します。
  • preparation.state と具体的な復旧操作を統一しました。準備未完了は終了コード 12、任意のホスト有効化は別に報告します。
  • 無効なマニフェストを変更前に拒否し、共有ソースを保持して生成ガイドを補完します。ツール schema は 3、run 手順は prepare/authenticate を宣言します。
  • 自己更新とバージョン取得で npm の scope/既定 Registry と認証設定を再利用します。FX_REGISTRY は任意の上書きとなり、公開依存パッケージの既定経路を維持します。

0.3.0 (2026-09-20)

  • ログインの手動操作待ちや例外発生時に、部分結果、集計、構造化された復旧情報を保持します。非ゼロ終了でも有効な stdout が残る場合があります。

  • manifest とガイドの書き込み中の並行編集を保護します。承認済みの置換は元のオブジェクトをバックアップへ原子的に移動し、失敗時にもファイルごとの結果を保持します。

  • 初期化と同期の準備完了状態を明示し、名前や説明を段階の失敗と誤判定する問題を修正します。

  • 自己更新のインストーラー出力による JSON の混入を防ぎ、復旧手順とソース・公開済み機能の違いを説明します。

  • calendar、task、worklog、metrics の能力を追加しました。前 2 つには Lark と WeCom の provider、worklog には Jira の provider があります。metrics は名前だけで実装はなく、マニフェストで記述はできますが結び付けには provider が必要です。im は「メッセージ」だけを指すようになりました。

  • Jira の issue tracker と Lark wiki の knowledge base を追加し、それぞれの能力に 2 つ目の実装ができました。1 つの連携 CLI が複数の能力を担っても、インストールと確認は 1 回だけです。

  • workspace のツールチェーンを、結び付けた provider から導出するようにしました。同梱ツールを二度宣言する必要はなくなり、tool list は各ツールが結び付けによるものか manifest の宣言によるものかを示し、--catalog は残りを表示します。

  • manifest が同名のツールを宣言している場合、fx が実装していない provider も能力に結び付けられるようにしました。同梱ツールの名前に似ているだけの id は、そのまま受け入れず訂正を促します。

  • tools ドキュメントの defaults ブロックで install_on_init を指定できるようにしました。個々のエントリでの上書きは従来どおりです。

  • provider が結び付いているのに tools ドキュメントがその配下のツールを宣言していない場合を TOOL_UNDECLARED として報告し、provider が無いという誤った説明をやめました。

  • platform の service を、その名前が示す provider の宣言と照合するようにしました。正しい宣言を誤って拒否せず、誤った宣言も見逃しません。

  • session-start の背景処理が実施する phase を事前に記録し、途中で終了させられた worker が到達しなかった phase を HOOK_PHASE_UNREPORTED として残すようにしました。

  • session-start の背景実行では、配下のコマンドが 1 つ持ち時間を使い切っても実行全体を終了せず、以降の phase が結果を残すようにしました。ホストが待っている前景の実行は従来どおりそこで終了します。

  • 切り離された背景実行の終わり方を、workspace の run observation として記録するようにしました。これまで supervisor は誰も読まないストリームにしか書けませんでした。

  • 全出力形式のレポート抽出、復旧コマンドの workspace 指定、貢献ロック内のソース同一性検証を修正。

  • 検証済みローカル Git のインポートと一致する upstream の安全な追加に対応し、有効・必須ツールの宣言に準備判定を統一。

  • 宣言された各 setup 検証形式を受け入れ、manifest のマージで null を許す比較値を保持。

  • グローバルなワークスペース探索、状態診断、登録解除、移動先変更、ソース変更を追加。業務 checkout を保持し、同一ディレクトリの重複登録を防止。

  • repo/env select に固定集合、将来の追加に追従する全選択、空集合を追加。初回 init のクローン前選択とローカルソースの具体的なプレビューに対応。

  • 未追跡ファイルの状態フィルター漏れ、必須 manifest がない場合の検証成功、古い読み取り可否キャッシュによる復旧阻害を修正。

  • doctor は宣言されたツールと有効な provider の依存関係を既定で検査。明示的なツール検査は保持。

  • 互換性の注意:init の registered は実際の登録状態を示し、予定は plan に分離。config import は名前ごとにマージして未指定の登録を保持し、名前の省略で登録を削除しない。

  • 互換性:fx skill show で bundled Skill がない場合は BUNDLED_SKILL_MISSING を返します。SKILL_MISSING は Agent 向け通知のみを指します。

0.2.1 (2026-09-18)

  • リポジトリの導入文書と bundled Skill を短縮し、詳細な復旧手順をコマンドリファレンスに集約。
  • レポート、準備状態、Skill 読み込み、サービスの対応バージョンを、4 言語で現在の動作に合わせて説明。
  • サイトの公開状態とプレビュー例を修正し、公開依存パッケージの Registry scope 振り分けを追加。

0.2.0 (2026-09-17)

  • 互換性変更:4 種のワークフロー報告は既定で JSON を要約し、全詳細は --details、明示的な --fields は完全な結果から抽出します。

  • 明示的な空 Agent 選択を修正。FX_SKILL_VERSION の確認と bundled_skill_version を追加。

  • operation、preparation_complete、SKILL_WRITE_DENIED を追加し、部分結果と具体的な復旧手順を保持。

  • 単独の同梱 Skill install、uninstall、path、status、show コマンドを追加。

  • ガイドにチーム Skill の利用条件とソースリンクを生成。

  • 明示的な更新と自動保守を分け、共有ソースを保護。

  • init と明示的 sync で公開サービスプリセットを配布し、対象を指定した個人ログインとネイティブ競合復旧を提供。

  • 共有 service 内の個人認証情報を拒否し、既存の対応 CLI 設定を保持。

  • 登録済みワークスペース全体でツールのインストール履歴と由来を記録し、不要な fx 管理パッケージを削除せず通知。

  • ヘルプと補完は正規コマンドを優先し、互換名も維持。

0.1.2

内部 Registry で提供済みです。公開配布は保留中です。

  • 明示的な入力、準備状態、Git ソースの復旧、設定の同時更新を修正。
  • 初期化の部分結果を保持し、端末出力を要約してリポジトリの進捗を表示。
  • 承認待ちの Skill コマンドを分離し、ユーザー単位で共有するコピーを保護。ホストの有効化制限を明記。
  • 任意のコードホスト確認に時間制限を設け、キャンセルを尊重しながら事前確認の進捗を表示。
  • 同じワークスペースを指すパスの別名を受け入れ、中断後も項目ごとのインストール結果とリソース状態を保持。

0.1.1

内部 Registry で提供済み. 公開配布は保留中です. Git タグ, パッケージ公開, ローカル導入は別の状態です.

fx-devkit / fx; Apache-2.0. @fx/devkit / @angelmsger/fx.

  • install_on_init (fx ≥0.1.1).
  • 宣言によるワークスペース初期化, 同期とリポジトリ選択.
  • 構造化された設定, 検索, 準備状態とリリースレポート.
  • 連携ツール, Agent Skill, ライフサイクル hook と MCP 投影.
  • 信頼, 所有権と復旧境界を維持するソース変更計画.
  • Windows アダプターを実装済み; ネイティブ実行とホスト有効化は未検証.