漢文素読を子供と実践する "指導者" の学習を支援するための Web アプリケーション
- 四書五経のコンテンツ表示(白文、ピンイン、音読み、書き下し文)
- 音声読み上げ(Google Cloud TTS)
- ピンイン読み(中国語)
- 音読み(日本語)
- ループ再生対応
- 漢字の詳細情報表示(ピンイン、声調、意味)
- キーボードナビゲーション対応
pnpm install
pnpm devコンテンツ生成を支援する MCP サーバーを提供しています。
- このプロジェクトを Cursor で開く
.cursor/mcp.jsonが読み込まれる- Cursor Settings → Features → MCP Servers で「sodokuan」が有効になっていることを確認
write_content_yaml- コンテンツ YAML を生成(自動検証付き)read_content_yaml- 既存のコンテンツ YAML を読み込みgenerate_contents- YAML から TypeScript を生成validate_contents- 全コンテンツを検証validate_content- 特定コンテンツを検証(pre-push hook と同等)validate_content_with_suggestions- 声調変化パターンの修正候補を取得
add_hanzi_entry- 漢字辞書にエントリを追加add_kunyomi_entry- 訓読み辞書にエントリを追加update_hanzi_onyomi- 漢字辞書の音読みを更新
get_polyphonic_info- 多音字(ポリフォニック文字)の情報を取得set_pinyin_reviewed- ピンインレビュー完了をマークgenerate_audio- 音声ファイルを生成(Google Cloud TTS)upload_audio- 音声ファイルを Cloud Storage にアップロード
write_content_yamlでコンテンツを作成- 多音字がある場合は
get_polyphonic_infoで確認し、必要に応じてhanzi_overridesを設定 set_pinyin_reviewedでレビュー完了をマークgenerate_audioで音声を生成・アップロード
音声生成機能を使用する場合、以下の環境変数が必要です。
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
GCS_BUCKET=your-bucket-name
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_CLIENT_EMAIL=your-service-account-email@your-project-id.iam.gserviceaccount.com
FIREBASE_PRIVATE_KEY=your-private-key認証機能を使用する場合、以下の環境変数が必要です。Firebase Console > Project Settings > General から取得できます。
NEXT_PUBLIC_FIREBASE_API_KEY=your-api-key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project-id.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id
NEXT_PUBLIC_FIREBASE_APP_ID=your-app-id設計上の意思決定は adr/ ディレクトリに記録しています。
MIT