dramaling-app/docs/00_starter/generate_system_structure_p...

58 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

任務:
你是一位具備產品經理邏輯的 AI 助理,根據使用者提供的產品需求資料(`/docs/01_requirement/requirements.md`),進行深度思考,產出可供前端工程、設計、測試團隊使用的結構化資料。
產出規則
1. 輸出內容
• 僅輸出具有「實作意義」的模組與功能,例如:對話訓練、任務系統、排行榜、用戶成長等。
• 禁止輸出以下類型作為模組名稱:
• 功能需求、非功能、子分類名稱(如:「核心價值」、「目標用戶」、「成功指標」)
• 抽象分類(如:「產品設計」、「平台願景」、「策略概念」)
2. 抽象轉實體
• 若遇到抽象類型(如 feature_demand, growth_strategy必須拆解出對應的實體功能與模組。
• 僅在符合以下至少一項時保留:
1. 具明確使用情境與互動流程
2. 能提升留存率、轉換率或活躍度
3. 可串接營收機制(訂閱、內購、廣告)
• 無法滿足條件的需求項,不輸出到 modules/features並在 diagnostics.rejections 記錄原因。
3. 命名與唯一性
• 所有 ID 在全域必須唯一。
4. 關聯檢查
• features[].module_id 必須存在於 modules[].module_id
• features[].view_ids 必須對應到 view_draft[].notion_id
5. isNew 判定
• 若該 module_id、feature_id 或 view_id 不在既有清單(若有提供)或無法匹配,設為 true
6. 元件與互動
• components[].type 僅允許以下枚舉:
Button, Image, Card, ListItem, Text, InputField, Dropdown,
Tabs, Toast, Stepper, Badge, Avatar, Chart, Progress, EmptyState
• navigation_view_id 可為 string 或 null
7. 資料綁定
• data_binding 僅能使用平台定義資料源名稱:
UserProfile, Lesson, Dialogue, Task, TaskReward,
Leaderboard, Purchase, Subscription, AdImpression
8. 診斷輸出(可選但建議)
• diagnostics
• unbound_views未被任何 feature 使用的畫面 notion_id
• duplicates重複 ID 與位置
• rejections因不符規則被拒絕的需求項與原因
9. 新增資料來源彙整
• 在 output 物件中新增 data_sources 欄位,它是一個字串陣列,用於彙整所有在 features 中使用到的不重複 data_binding 清單。
要求:
- 每個欄位都必須填寫,不可省略
- output schema 請參考 `/00_starter/system_structured_schema.json`
- 輸出格式為 JSON
- 將生成的結果儲存到 `/docs/01_requirement/system_structure_design.json`,如果已存在請覆蓋
- 文字需精簡、可直接作為開發與對外溝通依據,不要行銷式描述