Crowi
リファレンス

RFC インデックス

Crowi 2.0 の設計提案 (RFC) の一覧

Crowi 2.0 の大きな設計判断は RFC (Request for Comments) として リポジトリの docs/rfcs/ に文書化されています。このページは、現時点で 存在する RFC の一覧と概要をまとめたものです。

Note: Crowi v2 は alpha 開発中で、RFC の内容は実装の進行に合わせて 改訂されることがあります (各 RFC の「round」表記はその文書が何回目の 改訂かを示します) が、下記の提案の多くはすでにコードベースへ取り込み 済みです。「状態」欄は文書ではなく実装の進捗を示します。

RFC 一覧

番号タイトルターゲット状態
RFC-0001プラグインアーキテクチャCrowi 2.0実装済み
RFC-0002レンダラプラグインアーキテクチャCrowi 2.0Phase 1–6 実装済み / Phase 7 以降は継続中
RFC-0003リアルタイム共同編集Crowi 2.0実装済み
RFC-0004エディタ UX の強化Crowi 2.0実装済み
RFC-0005ページプレゼンスとヘッダー UICrowi 2.0実装済み
RFC-0006HTTP API: Express + ts-rest → HonoCrowi 2.0実装済み (2026-05-22)

RFC-0001: プラグインアーキテクチャ

ファイルストレージ・外部検索・認証プロバイダ・通知シンクという 4 つの 互いに独立した関心事を、コアから切り出して独立配布可能なプラグインに する提案です。コアは、プラグインを 1 つも入れなくても動く「バッテリー 同梱」のデフォルトを持ちます。運用者は CLI でプラグインを追加し、管理 UI から設定します。Crowi 2.0 のプラグインモデルの土台です。

→ 利用者向けの解説は プラグインアーキテクチャ

RFC-0002: レンダラプラグインアーキテクチャ

RFC-0001 のプラグインモデルに「レンダリング」という 5 つ目の関心事を 追加する提案です。Markdown のパース・AST 変換・埋め込み処理・HTML 描画 がプラグインの拡張ポイントになります。SSR ファースト、編集中は外部 API を叩かない、新しい記法を基本的に増やさない、という 3 つの設計上の約束が 特徴です。Phase 1–6 が実装済みで、Phase 7 以降が進行中です。

→ 利用者向けの解説は レンダラプラグイン

RFC-0003: リアルタイム共同編集

Crowi 2.0 にリアルタイム共同編集を追加する提案です。同期エンジンに Yjs、 WebSocket バックエンドに Hocuspocus を使います。複数ユーザーが同じ ページを同時編集でき、変更は CRDT セマンティクスで決定的に収束します。 正規の Markdown ソースは、明示的な保存時に Revision ドキュメントへ 書き出されます。

→ 利用者向けの解説は リアルタイム共同編集、 運用者向けは リアルタイム共同編集の運用

RFC-0004: エディタ UX の強化

RFC-0003 の最小限の CodeMirror 6 エディタの上に、4 つの編集生産性機能を 追加する提案です。@user メンションと [[Page wikilink のオートコン プリート、URL / 画像のペースト処理、ドラッグ&ドロップアップロード、 そして下書きページの管理ビュー (/me/creating-pages) です。Crowi 2.0 で実装済みです。

RFC-0005: ページプレゼンスとヘッダー UI

ページ閲覧画面に 2 つの関連変更を加える提案です。1 つはタイトル上の ライブプレゼンス行 — 今そのページを見ているユーザーをリアルタイムに 表示し、編集中のユーザーをバッジで区別します。もう 1 つは メタチップ行の再構成 — いいね・閲覧・コメント・バックリンクを統一 されたクリック可能なチップに変え、「今いる人」と「過去に見た人」の シグナルを分離します。プレゼンスの WebSocket は RFC-0003 の /collab と 同じ api プロセスに同居 attach され、専用インフラを増やしません。

→ 利用者向けの解説は ページの基本操作

RFC-0006: HTTP API — Express + ts-rest → Hono

/api/v2/* HTTP レイヤーのフレームワークを Express + ts-rest から Hono + @hono/zod-openapi へ置き換える提案です。packages/api-contract/ src/schemas/ 配下の Zod スキーマはほぼそのまま移行し、ts-rest の contract は createRoute のルート定義として書き直されます。api アプリ は /api/v2/docs で Scalar API リファレンスを公開します。レガシーの /api/* Express マウントもあわせて廃止されます。2026-05-22 に実装 完了しました。

→ 移行後のアーキテクチャは アーキテクチャ を参照。

RFC を読むには

RFC 本文はリポジトリの docs/rfcs/ 配下にあります。上の表のリンクから GitHub 上で直接読めます。各 RFC は冒頭にステータス・ターゲットリリース・ 依存する RFC を記したメタデータブロックを持ち、続いて Summary / Goals / Non-goals / 詳細設計、という構成になっています。

関連ページ

On this page