認証付きのローカル knowledge base / Markdown ノートアプリです。
Tauri デスクトップアプリとして動作し、ローカル Vault を開いて Markdown・画像・動画・PDF を一つのワークスペースで扱えます。
- better-auth ベースのログイン / サインアップ
- ローカル Vault フォルダの選択
- ファイルツリー表示とファイル操作
- TipTap ベースの Markdown エディタ
- ノート内リンクの補完と内部遷移
- 画像 / 動画 / PDF の埋め込み表示
- 画像 / 動画 / PDF のモーダル拡大表示
- 単体ファイルとしての画像 / 動画 / PDF ビューア
- PDF の縦スクロール表示とショートカットズーム
- Tauri updater による GitHub Releases ベースの自動更新
.md: NoteEditor- 画像: 単体ビューア + エディタ埋め込み
- 動画: 単体ビューア + エディタ埋め込み
.pdf: 単体ビューア + エディタ埋め込み
現状、.pptx はサポートしていません。
app: Tauri デスクトップアプリ- React
- Vite
- TanStack Router
- TipTap
backend: Cloudflare Workers 上の API- Hono
- better-auth
- Drizzle ORM
- Neon / PostgreSQL
docs: 設計メモ、移行方針、実装計画
- Node.js 20+
- pnpm
- Rust / Tauri 開発環境
- PostgreSQL
- Cloudflare Workers を動かせる環境
pnpm installcd backend
cp .dev.vars.example .dev.vars.dev.vars の主な項目:
DATABASE_URLBETTER_AUTH_SECRETBETTER_AUTH_URLCORS_ORIGINS
pnpm db:migratecd app
cp .env.example .env必要に応じて VITE_API_BASE_URL を変更してください。
通常は開発時 http://localhost:8787 です。
画像のドラッグ&ドロップ / ペースト時のクラウドアップロードはデフォルトで無効です。
有効化したい場合は app/.env で VITE_ENABLE_CLOUD_IMAGE_UPLOAD=true を指定してください。
リポジトリルートで:
pnpm devpnpm dev は次をまとめて起動します。
- backend (
wrangler dev) - health check 待機
- app (
tauri dev)
デフォルトポート:
- backend:
8787 - frontend:
1420
変更したい場合:
BACKEND_PORT=8791 FRONTEND_PORT=1520 pnpm dev個別起動も可能です。
pnpm dev:backend
pnpm dev:apppnpm --filter app typecheck
pnpm --filter app test
pnpm --filter backend typecheck
pnpm build- PDF 表示は
pdf.jsベースです - ローカル画像 / 動画 / PDF は Tauri FS 経由で扱います
- エディタ埋め込みの media preview は
NoteEditor周辺で共通管理しています - 画像ドロップの host 側イベントは薄く保ち、アップロード / 挿入本体は
CarbonImageextension 側に寄せています
Tauri v2 updater を有効化しています。
- endpoint:
https://github.com/kousaku-maron/Carbon/releases/latest/download/latest.json - config:
app/src-tauri/tauri.conf.json - startup check:
app/src/lib/updater.ts
初回セットアップ:
- 署名鍵を生成
cd app
pnpm tauri signer generate -w ~/.tauri/carbon.key- 公開鍵を
app/src-tauri/tauri.conf.jsonに設定 - GitHub Actions / Release 用 Secret を設定
docs/local-markdown-pivot-design.mddocs/local-page-link-design.mddocs/image-dnd-r2-design.mddocs/file-operation-stability-plan.mddocs/tiptap-markdown-unification-policy.md