DB to Content Breakdown
方針
MEGURUのDB本文を、そのままWebアプリへ流し込まない。
DBは編集前の材料であり、画面に出す単位は次のように再構成する。
DBノート
→ 意味の抽出
→ ユーザー目的に合わせて分割
→ 短いカード・レッスン・処方へ変換
→ 必要時だけ編集側で出典参照NG
診断DB_MOCや物語DB_MOCをカード名として出す- ファイルパスをユーザー向けUIに出す
- canonical / draft / raw などの運用ステータスを読者に見せる
- 原文の長文をそのままスクロールさせる
- 1つのDBノートを1ページにするだけで終わる
OK
- 用語を「ひとことで」「見立て」「つまずき」「今日の一手」に分ける
- 星を「星カード」として独立させる
- エピソードを「物語処方」として読む
- 計算・変換表はユーザーに見せず、結果カードへ変換する
- 出典は内部メタデータとして保持する
変換後のコンテンツ型
| 型 | 元DB | ユーザーへの見せ方 |
|---|---|---|
| 基礎レッスン | concepts/ | 3〜5分で読める学習カード |
| 星カード | stars/ | 星の核・魅力・つまずき・今日の一手 |
| 位置カード | stars/位置別 | 中央/東/西/南/北にある時の読み |
| 組み合わせカード | patterns/ | 2つの星の関係・使い分け |
| 時間運カード | 大運/年運/天中殺 | 今の季節・注意・行動 |
| 物語処方 | EPISODES_CANON | 場面から学びへ接続する短い処方 |
| 対話プロンプト | 上記すべて | 巡の返答候補・次に読むカード |
1. 基礎レッスン
入力
20_DIAGNOSIS_DB/01_core/concepts/*.md- 例: 五行、命式、人体星図、陰占、陽占
出力構造
type FoundationLesson = {
title: string;
oneLine: string;
metaphor: string;
sections: string[];
beginnerMistake: string;
nextAction: string;
relatedCards: string[];
sourceInternal: string;
};例: 五行
タイトル:
五行は、性格分類ではなく流れを見る道具
ひとことで:
木・火・土・金・水を、良い悪いではなく「どこが強く、どこで滞るか」として読む。
見立て:
火には薪が要ります。水には器が要ります。ひとつの気だけで、人は長く燃えません。
つまずき:
「火が多いから良い」「水が少ないから悪い」と読まない。
今日の一手:
自分の命式で、一番強い行を一つだけ見る。2. 星カード
入力
20_DIAGNOSIS_DB/01_core/stars/{星名}.md
出力構造
type StarCard = {
title: string;
oneLine: string;
gift: string[];
friction: string[];
readingPoint: string;
relationshipHint: string;
workHint: string;
nextAction: string;
relatedCards: string[];
sourceInternal: string;
};例: 貫索星
タイトル:
貫索星: 自分の柱を守る
ひとことで:
自分の軸・信念・領域を守る星。
魅力:
周囲に流されず、長期的に積み上げられる。
つまずき:
ひとりで抱え込み、助けを求めるのが遅れることがある。
診断で見るポイント:
「頑固」ではなく「自分の軸がないと不安定になる人」と読む。
今日の一手:
守るものと、手放してよいこだわりを分ける。3. 位置カード
入力
中央星:*.md東の星:*.md西の星:*.md南の星:*.md北の星:*.md*|中央.mdなどの位置別ノート
出力構造
type PositionedStarCard = {
title: string;
position: "中央" | "東" | "西" | "南" | "北";
star: string;
whereItAppears: string;
plainRead: string;
goodUse: string;
overload: string;
question: string;
sourceInternal: string;
};例
中央にある貫索星
どこに出るか:
自分の中心。無意識に戻る場所。
やさしい読み:
人に合わせる前に、自分の輪郭を確かめる力。
問い:
いま守っているものは、本当に今のあなたを支えているものですか。4. 物語処方
入力
30_STORY_DB/EPISODES_CANON.md
出力構造
type StoryPrescription = {
episode: string;
title: string;
patient: string;
userQuestion: string;
prescription: string;
hiddenTheory: string[];
visibleTerms: string[];
oneSceneLesson: string;
nextAction: string;
sourceInternal: string;
};例: EP1
タイトル:
処方: 一言を誰かに渡す
場面:
丁火の美咲は、自分の火をひとりで燃やそうとしている。
学び:
火には薪が要る。言葉を誰かに預けることは、弱さではなく燃料を受け取ること。
今日の一手:
説明ではなく、渡せる一言を選ぶ。5. 知識画面の役割変更
旧:
知識庫 = 原文検索新:
知識 = 編集済みコンテンツ棚表示するもの:
- 基礎レッスン
- 星カード
- 物語処方
- 時間運カード
表示しないもの:
- DB名
- ファイルパス
- raw/draft/canonical
- 長文原文
MVPで作るべき最初のコンテンツ
- 基礎レッスン: 巡命学、命式、五行、人体星図
- 星カード: 貫索星、石門星、玉堂星、龍高星
- 時間運カード: 大運、年運、天中殺
- 物語処方: EP1〜EP5
- 位置カード: 中央/東/西の主要パターン
実装メモ
内部には必ず sourceInternal を持たせる。
ただし、ユーザー向けUIには表示しない。
レビュー画面や編集者モードだけで出典を見せる。