本番依存していい線引きを明示しています。
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 前に消化済み。