AIがあなたの創作活動をサポートする執筆環境です。
🚧 プロトタイプ段階: 基本機能は動作しますが、まだ開発中です。
- プロジェクト管理 — 作品単位でプロジェクトを作成・管理
- 執筆エディタ — 本文の執筆、文字数カウント
- プロットエディタ — あらすじ・設定・テーマ・構成・葛藤・結末の管理
- 登場人物エディタ — 名前・役割・外見・性格・背景・動機・関係性の管理
- メモエディタ — 自由記述メモ、タグ付き検索
- ツリー構造 — 各コンテンツをフォルダ/ファイルで階層管理、ドラッグ&ドロップ並べ替え
- 質問モード(ask) — 作品に関する質問・相談
- 執筆モード(write) — AIによる文章の提案・編集
- 提案システム — AIが変更を提案 → 承認/拒否で反映(行単位の差分表示対応)
- コンテキスト認識 — 開いているタブの情報をAIに自動共有
- OpenAI / Anthropic — プロバイダー切り替え対応
- リサイズ可能な3ペインレイアウト — サイドバー・エディタ・AIパネル
- タブ管理 — 複数コンテンツの同時編集
- Storybook — UIコンポーネントのカタログ
- Runtime: Node.js 22.x
- Package Manager: npm 11.x
- Monorepo: Turborepo
- Desktop: Tauri 2
- Frontend: React 19, React Router v7
- State: SWR(キャッシュ + オプティミスティック更新)
- AI: Vercel AI SDK(OpenAI / Anthropic)
- UI: TailwindCSS 4, Radix UI
- Build: Vite, tsup
- Linter/Formatter: ESLint, Prettier
tsumugi/
├── apps/
│ └── desktop/ # デスクトップアプリ (Tauri + React Router)
│ ├── app/
│ │ ├── hooks/ # SWR hooks(データ取得・更新)
│ │ └── routes/ # ページコンポーネント
│ └── src-tauri/ # Tauri バックエンド (Rust)
├── packages/
│ ├── adapter/
│ │ ├── core/ # アダプターインターフェース・型定義
│ │ ├── local/ # ローカルファイルシステム実装(Tauri)
│ │ └── api/ # APIサーバー実装(Web)
│ ├── react-router/ # React Router ユーティリティ
│ └── ui/ # 共通UIコンポーネント(Storybook付き)
├── turbo.json
└── package.json
- Node.js 22.x
- npm 11.x
- rust 1.90.x
💡 mise を使用すると、
mise trustでプロジェクトに適したバージョンを自動でセットアップできます。
# リポジトリをクローン
git clone git@github.com:takecchi/tsumugi.git
cd tsumugi
# 依存関係をインストール
npm install
# 環境変数を設定
cp apps/desktop/.env apps/desktop/.env.local
# .env.local を編集
# VITE_AI_API_KEY — AIプロバイダーのAPIキー(Tauriモード時)
# VITE_API_BASE_URL — バックエンドAPIのURL(Webモード時、デフォルト: http://localhost:8080)# Tauri デスクトップアプリを起動(ローカルファイルシステム + AI SDK直接呼び出し)
npm run dev:tauri
# Web モードで起動(バックエンドAPIサーバー経由)
npm run dev:web
# Storybookを起動(UIコンポーネント開発)
npm run storybookdev:tauri と dev:web の違いは VITE_ADAPTER 環境変数のみです。
dev:tauri |
dev:web |
|
|---|---|---|
| アダプター | @tsumugi/adapter-local |
@tsumugi/adapter-api |
| データ保存 | Tauri FS(ローカルファイル) | バックエンド API |
| AI | フロントエンドから直接呼び出し | バックエンド経由 |
# Tauriプロダクションビルド(依存パッケージのビルド含む)
npm run build:tauri
# Webプロダクションビルド(依存パッケージのビルド含む)
npm run build:web
# 全パッケージビルド
npm run build
# Lint
npm run lint
# 型チェック
npm run tsc
# テスト
npm run test
# フォーマット
npm run formatPolyForm Noncommercial License 1.0.0
非商用目的での利用・改変・配布を許可します。商用利用は禁止します。