ドキュメント
技術スタック
バージョンと責任は、ワークスペース マニフェストとランタイム構成から取得されます。
英語から自動翻訳されています。 英語の原文を見る
ランタイムとサービスのフレームワーク
ルートマニフェストが選択するのは、 bun@1.4.4 パッケージマネージャーとして。 Bun はワークスペースをインストールし、実行します bun:test、組み込みによる型チェック bun check、サイドカーを提供し、SQLite とパスワード ハッシュ API を提供し、サイドカー バイナリをコンパイルします。デスクトップ フロントエンド開発では Vite を使用し、ネイティブ パッケージ化では Rust と Tauri を使用します。
アプリケーションサービスの使用 effect@4.0.0-rc.112。 API、データベース、コア、デスクトップ、ワークフロー、サイドカーなど、Effect に依存するワークスペース全体でまったく同じリリースが宣言されます。ルート オーバーライドは、ノード プラットフォーム パッケージをそのリリースに合わせます。 Effect は、型付きエラー、スキーマ、サービス コンテキスト、レイヤー、同時実行性、および HTTP API を提供します。
コードは v4 サービス フォームを使用します Context.Service および以下の HTTP モジュール effect/unstable。バージョンが一致したドキュメントは次の場所にインストールされます。 packages/db/node_modules/effect/ai-docs/src/。依存関係のアップグレードをコンシューマー間で調整してください。
データベースと契約
永続化の用途 drizzle-orm@1.0.0-beta.22 と bun:sqlite。データベース移行の生成ではマッチングが使用されます drizzle-kit リリース。スキーマは TypeScript です。生成された移行ディレクトリには、アップグレード中に使用される SQL および移行メタデータが含まれます。
効果 HttpApi は HTTP コントラクトを定義します。ワークスペース コード ジェネレーターは、そのコントラクトを Promise and Effect クライアント出力にコンパイルします。 Zod は、それを必要とする統合の API および AI 依存関係にも存在します。 HttpApi の境界スキーマを置き換えるものではありません。
デスクトップとグラフィックス
デスクトップが使用するのは、 solid-js ^1.9.0, @solidjs/router ^0.15.0, vite ^7.0.0、Tailwind CSS 3。ワークベンチは、対応する機能が必要とする Kobalte コントロール、Lucide アイコン、Monaco 編集、および Chart.js を使用します。
ビューポートが使用するのは、 three ^0.180.0。コア ジオメトリはレンダリングとは別のものです。 three-csg-ts そして occt-import-js 0.0.23 追加のデスクトップ ジオメトリ/インポート パスをサポートします。 Tauri v2 は、インストールされたプラグインを介して、ネイティブ API アクセス、ダイアログ、シェル操作、ロギング、OS 統合、およびアップデータ統合を提供します。
AI ランタイム
@cadcamfun/ai ピン @nikcli-ai/sdk-next 1.428.0 そして ai 7.0.127。直接モデル アダプターには、Anthropic、OpenAI、OpenAI 互換プロバイダー、および AI SDK ゲートウェイが含まれます。サイドカーは、デフォルトで埋め込み nikcli ホストを選択するか、直接ホストを選択します。 CADCAMFUN_AI_HOST.
アプリケーション ツールとアクション スキーマは、プロバイダー トランスポートの上に位置します。プロバイダーを変更しても、2 番目のアクション カタログは作成されません。モデルの接続、認証情報、キャンセル、セッションの動作については、 AIリファレンス.
モバイルとドキュメント
モバイルマニフェストはExpoを使用します ~57.0.27、反応する 19.2.3、ネイティブに反応する 0.86.3、およびエキスポルーター ~57.0.25。そのカスタム コンパニオン トランスポートはネイティブ モジュールです。 NativeWind、Reanimated、Gesture Handler、SecureStore、およびローカル認証がモバイル アプリケーションをサポートします。
このサイトはAstroを使用しています ^5.14.1 cloudflare アダプター、MDX、Tailwind の統合を使用します。ドキュメント ページは事前にレンダリングされます。アシスタント、Markdown、Studio フォールバック、アーティファクト ルートはサーバー上で実行されます。ローカル Studio API は Bun で実行されます。 bun:sqlite.
型チェックは Bun の組み込みチェッカーを使用します。 bun check、各ワークスペースの tsconfig.json と同じ診断結果を報告します tsc。マニフェスト範囲には、許可される依存関係のバージョンが記述されます。ロックファイルには、インストールされている解像度が記録されます。
ドキュメント サイトでは、Astro 5 と Cloudflare アダプター、MDX、および Tailwind (packages/web/package.json)。デスクトップ Web ビューは、以下を介してネイティブ コードに到達します。 @tauri-apps/api v2.
それぞれの環境で動作するもの
| 環境 | 実行されるコード | 関連する制限 |
|---|---|---|
| Bun サイドカー | エフェクトサーバー/サービス、Drizzle、 bun:sqlite、プロバイダー クライアント、ワークフロー、履歴のオーケストレーション。 | ブラウザまたは Cloudflare Worker は、Bun の SQLite ランタイムを直接置き換えることはできません。 |
| デスクトップ Web ビュー | SolidJS の状態とインタラクション、コア ジオメトリ、Three.js、API クライアント。 | ネイティブ操作には Tauri コマンドが必要です。ブラウザーのプレビューは、別の統合環境を提供します。 |
| Rustシェル | Tauri ライフサイクル、ネイティブ ウィンドウ/メニュー/トレイ、安全なコマンド、アップデーター。 | Vite のビルドが成功しても、ネイティブ アプリケーション バンドルのビルドや検証は行われません。 |
| 博覧会申請書 | React Native 画面とネイティブ コンパニオン トランスポート。 | Expo Go にはカスタムピン留めモジュールがありません。 JavaScript エクスポートではネイティブ インストーラーは生成されません。 |
| Cloudflare ドキュメント ワーカー | Markdown、アシスタントリクエスト、ガイドアーティファクトのサーバールート。 | ローカルのサイドカーまたは SQLite ファイルへの暗黙的なアクセスはありません。バインディングとバックエンド構成は明示的です。 |
| ローカルスタジオのプロセス | Bun HTTP サーバーと、選択した Drizzle テーブルを介した直接読み取りアクセス。 | 構成された既存のデータベースとアカウント セッションは、デスクトップ検出から独立しています。 |
テスト対象の環境に対応するビルド アーティファクトを使用します。フロントエンド出力、コンパイルされたサイドカー、移行リソース、エクスポートされたモバイル バンドル、および署名されたネイティブ インストーラーは、1 つのコマンドが複数の段階を調整する場合でも、個別の出力となります。
ピン留めされたバージョン
| 層 | テクノロジー | バージョン (パッケージマニフェストから) |
|---|---|---|
| パッケージマネージャー/ランタイム | Bun | 1.4.4 (packageManager) |
| サービス体制 | Effect | 4.0.0-rc.112 (platform-bun と opentelemetry が同じバージョンのすべてのワークスペース) |
| データベース | 霧雨オーム/霧雨キット、 bun:sqlite | 1.0.0-ベータ版。22 |
| デスクトップシェル | Tauri | 2 (Rust 箱と @tauri-apps/* ^2) |
| デスクトップUI | SolidJS、@solidjs/router、Kobalte | ^1.9.0, ^0.15.0, ^0.13.0 |
| 3D | three.js、three-csg-ts | ^0.180.0, ^3.2.0 |
| STEPインポート | occt-import-js | 0.0.23 |
| コードエディタ | モナコ編集者 | ^0.57.0 |
| バンドラー | Vite | ^7.0.0 |
| AI | ai (Vercel AI SDK)、@ai-sdk/anthropic、openai、ゲートウェイ、openai 互換、@nikcli-ai/sdk-next | 7.0.127, 4.0.71, 4.0.83, 4.0.103, 3.0.62, 1.428.0 |
| 検証(AIツール) | ゾッド | ^4.1.8 |
| テレメトリー | OpenTelemetry SDK + OTLP/HTTP エクスポーター | aPI 1.9.1、SDK 2.12.0、エクスポータ 0.223.0 |
| 携帯 | エキスポ、リアクトネイティブ、リアクト | ~57, 0.86.3, 19.2.3 |
| ドキュメント | Astro、Tailwind、Cloudflare アダプター、ラングラー | ^5.14.1, ^3.4.17, ^12.0.0, 4.103.0 |
| 型チェック | Bun bun check、TypeScript (エディターのサポートのみ) | 1.4.4, ^5.9.0 |
| モノリポジトリのタスク | ターボ | ^2.11.7 |
デスクトップシェルのRustクレート
| 木箱 | 用途 |
|---|---|
tauri (トレイアイコン、macos-プライベート-API) | 窓、トレイ、IPC |
tauri-plugin-shell | サイドカーバイナリの起動 |
tauri-plugin-dialog, -fs, -opener | ファイル ピッカー、ファイル アクセス、パスと URL を開く |
tauri-plugin-updater | 署名付きアプリ内アップデート |
tauri-plugin-log, -os | ロギング、プラットフォーム検出 |
tauri-plugin-single-instance, -window-state | 実行中のアプリ 1 つ。ウィンドウ ジオメトリの復元 (デスクトップ ターゲット) |
tauri-plugin-liquid-glass (オプション) | 鮮やかなフォールバックを備えた macOS ガラス効果 |
tokio, serde, thiserror, getrandom, log | 非同期監視、IPC ペイロード、型付きエラー、起動トークン |
なぜこれらの選択をするのか
- Bun テスト、スクリプト、サイドカーを実行し、サイドカーを 1 つのネイティブ バイナリにコンパイルするため、デスクトップは別個の JavaScript ランタイムなしで出荷されます。
- Effect すべてのサービスのタイプ別エラー、スコープ指定されたリソース (データベース ハンドルと子プロセスはシャットダウン時に解放される)、およびサーバー、クライアント、生成された SDK、および API リファレンスで使用される 1 つの HttpApi 定義を示します。
- SQLite 各インストールは自己完結型に保たれます。1 つのファイルと WAL が、各スキーマのアップグレード前にバックアップされます。
- Tauri システム Web ビューと、サイドカー プロセス、ネイティブ メニュー、アップデーター、およびキーチェーンを所有する小さな Rust シェルを使用します。
- three.js ビューポートをレンダリングします。同じライブラリがこれらのドキュメント ページの 3D プレビューを描画します。