usketch - モジュラーホワイトボードアプリケーション
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗リアルタイムコラボレーション対応のブラウザベース・ホワイトボードアプリケーション。
すべての機能(ツール・シェイプ・背景・AI・プレゼン等)を統一プラグイン API で実装する、拡張可能なアーキテクチャが特徴。
# Node.js 22 + pnpm 10 が必要
pnpm install
pnpm dev
開発サーバー: http://localhost:4578
| コマンド | 説明 |
|---|---|
pnpm dev | 開発サーバー起動 |
pnpm build | 全パッケージのビルド |
pnpm test | 単体テスト実行(Vitest) |
pnpm test:e2e | E2E テスト(Playwright) |
pnpm typecheck | TypeScript 型チェック |
pnpm lint | Biome リント |
pnpm format | Biome フォーマット |
pnpm clean | ビルド成果物の削除 |
pnpm changeset | リリース用 changeset 作成 |
apps/
web/ — メイン Web アプリ(React 19 + Vite 7)
server/ — Edge API サーバー(Hono + Cloudflare Workers)
docs/ — ドキュメントサイト(Astro Starlight)
mcp-server/ — MCP サーバー(Claude Code 連携)
packages/
core/ — plugin API / レイヤーシステム / TransientRegistry
canvas-engine/ — ビューポート / 座標変換 / minimap
store/ — Zustand ベースのボードストア
sync/ — WebSocket provider(awareness + 再接続 + MSG_SESSION チャネル)
shared/ — 共有型 / shape data model / utilities
ui/ — 共通 UI コンポーネント
dom-renderer/ / gpu-renderer/ — 2 系統の描画バックエンド
server-core/ — サーバープラグイン基盤
session-protocol/ — ライブ・セッションの client↔server 共通型(型のみ)
session-voting/ — セッション型「投票」(server / client ペア)
plugins/
70+ plugin(詳細は docs/ を参照)。session(ライブ・セッション基盤)/ map(ワールドマップ)等
| カテゴリ | 技術 |
|---|---|
| フレームワーク | React 19 / TypeScript 5.9 |
| ビルド | Vite 7 / Turborepo / pnpm |
| リント | Biome |
| テスト | Vitest / Playwright |
| 状態マシン | XState 5 / @zag-js/core |
| CRDT | Yjs 13 / y-indexeddb |
| バックエンド | Hono / Cloudflare Workers / Durable Objects / D1 |
| 認証 | Better Auth |
| バージョニング | Changesets |
UsketchPlugin インターフェース| ドキュメント | 内容 |
|---|---|
| CHANGELOG | リリース履歴 |
| アーキテクチャ設計書 | 技術設計・パッケージ構成・データモデル |
| プラグインシステム設計書 | 統一プラグイン API の詳細 |
| Third-Party Plugin Authoring | 外部パッケージから uSketch を拡張する完全ガイド |
@edv4h/usketch-shape-utils | shape プラグイン共通ユーティリティ(bounds / hit-test / resize / GPU) |
@edv4h/usketch-plugin-session | ライブ・セッション基盤(サーバー権限・投票・イベント型を足せる) |
@edv4h/usketch-session-protocol | セッションの client↔server ワイヤ契約(型のみ) |
@edv4h/usketch-session-voting | 最初のセッション型「投票」(server / client ペア) |
| プロダクト企画書 | ビジョン・MVP スコープ・ビジネスモデル |
| ユースケース集 | 主要ユーザーシナリオ |
| 開発ロードマップ |
すべての .ts / .tsx ファイルは kebab-case(例: text-editing-machine.ts)
gitmoji を使用(例: ✨ feat:, 🐛 fix:, ♻️ refactor:)
変更を加えたら changeset を作成:
pnpm changeset
脆弱性を発見した場合は SECURITY.md の手順に従って報告してください。
| Phase 0〜4 の開発計画と実績 |
| ポストモーテム | v1 プロジェクトの振り返り |