未分類
プロジェクトの目的
- 個人メモを素早く公開し、後日バックエンド機能を追加できる柔軟な構成を維持する。
- Markdown / MDX を中心に据え、Vue コンポーネントを埋め込むことで高度な表現を可能にする。
- ドキュメント駆動のワークフローを採用し、トラブル対応も Markdown で記録する。
想定ユーザーとユースケース
- 自分自身および関係者がサイト運用・ノウハウ共有のために利用。
- タグや日付で分類されたナレッジベースとして参照する。
- 将来的に UI コンポーネント集や API 仕様書を同一プラットフォームで公開する。
技術スタックと要件
- フロントエンド: Nuxt 3(ドキュメント駆動モード) + @nuxt/content。
- データストア: 開発環境では Node.js 22.6 +
node:sqlite。将来は Cloudflare D1 や外部 DB に接続できるよう抽象化。 - ビルド/デプロイ: Cloudflare Pages。GitHub Actions で CI/CD を組み、
web・apiを個別ワークスペースとして扱う。 - 認証・権限: 現段階では公開サイト、将来は JWT またはセッションベースを検討。
コンテンツルール
content/直下に Markdown / MDX ファイルを配置。ディレクトリ構造がそのまま URL になる。- フロントマターには
title,description,tags,publishedAt,updatedAt,status,visibilityを推奨。 statusはdraft/published、visibilityはpublic/privateを想定。リスト表示でフィルタリングできるようにする。- コードスニペットは Markdown のフェンスコードを使用し、ハイライト言語を明示する。
共有パッケージと拡張
packages/uiで共有コンポーネントを管理し、Nuxt アプリから import できるようビルド設定を整備。packages/configを作成して ESLint / Prettier 設定を共通化することを検討。- API サーバーは Nitro, NestJS, Fastify などから選択し、
apps/apiに配置できるようにする。
運用フロー
- メモやドキュメントを
memo/に作成し、必要に応じてcontent/にコピー。 - フロントマターを更新し、
pnpm devで動作確認。 - Git でコミットし、Pull Request でレビュー後にデプロイ。
- トラブルが発生した場合は、
memo/YYYY-MM-DD/に原因と対処を記録し、共通メモへ反映する。
今後の課題
- Content DB を SQLite から Cloudflare D1 へ切り替える際の移行手順の整備。
- UI コンポーネントの Storybook 化、あるいは同等のカタログ化。
- 検索機能(全文検索 / タグ検索)の導入検討。