安定性ポリシー

本番依存していい線引きを明示しています。

GunjoUI の各コンポーネントには安定性ラベルが付与されていて、本番採用していい場所と、まだ形が動く場所を一目で見分けられます。ラベルは各コンポーネントの docs ページのタイトル横と、`/api/specs/manifest` の JSON に出てきます。

レベル

Stable

公開 API は固定済み。本番依存しても安全。破壊的変更にはメジャーバージョン昇格が必要(semver 準拠)。

向いている用途:本番機能を作るとき。マイナーバージョンの範囲で固定すれば十分です。

Beta

機能としては完成し、社内利用も進んでいます。フィードバック次第で API は調整される可能性があります。パッチバンプでは壊れませんが、マイナーで壊れることがあります。

向いている用途:1 度の移行コストを許容できる機能。確実性が必要なら exact version で固定してください。

Experimental

形と振る舞いが任意のリリース(パッチも含む)で変わる可能性があります。まだ正しい primitive を探っている段階です。

向いている用途:プロトタイプ、社内ツール、使い捨てデモ。売上に直結する画面にはまだ載せないでください。

現状

GunjoUI は beta(0.1.0-beta.2)です。明示的に分類されていないコンポーネントのデフォルトは Experimental になります。個別のコンポーネントが安定したら段階的に格上げ — 昇格内容は changelog を参照。

昇格条件

  • Stable → Beta で最低 1 マイナー期間 API 破壊的変更ゼロ、過去の形からの移行ドキュメント完備。
  • Beta → 機能完成、/docs の Props 完全カバー、a11y レビュー通過、本番採用 1 件以上。
  • Experimental → デフォルト。新規はここから始まります。

パッケージ版の昇格ゲート

上のラベルは部品ごとの分類です。パッケージ自体のバージョン(alpha → beta → 1.0)は、別の 4 点ゲートで進みます:

  • 0.0.x alpha — API は任意のリリース(プレリリース含む)で変わりえます。未分類の部品は既定で Experimental、コアは安定次第 Beta へ昇格。
  • 0.1.0-beta(現在)— 4 点ゲート: (1) サイレントな build 時 footgun ゼロ — RSC の関数prop クラスを next build の CI ゲートで捕捉し、client の formatter は serializable 代替(valueFormat / timeFormat 等)を提供。(2) 第一印象の完成 — i18n(LocaleProvider)、44px タッチ標的、/docs の Props 完全カバー。(3) semver 規律の開始 — 破壊的変更はマイナーのみ・CHANGELOG 記載+@deprecated 移行パス。(4) 部品昇格の第一波 — コアが Beta へ。
  • 1.0.0 — Stable なコア(Beta で最低 1 マイナー期間 破壊ゼロ+移行ドキュメント)が本番採用 1 件以上で使われ、export 構造の破壊(例: subpath export)は 1.0 前に消化済み。