DATE: 2026-03-08
RE: Repo Structure & Collaboration

Meeting // 2026-03-08

Repo 建議結構和協作方式,你看看有沒有問題。

Repo 初始結構

FlowState/
├── README.md
├── .gitignore
├── .env.example
├── docs/
│   ├── design.md             ← 你的 design doc 放這裡
│   └── er-diagram.md         ← Phase 1 作業:ER diagram
├── supabase/
│   └── migrations/           ← SQL schema files(Phase 1 產出)
│       └── .gitkeep
├── src/
│   ├── components/           ← UI 元件
│   ├── lib/
│   │   ├── scheduler/        ← 排程引擎核心邏輯
│   │   └── energy/           ← 精力模型邏輯
│   ├── pages/                ← 頁面
│   └── utils/                ← date-fns helpers 等工具函式
└── public/                   ← 靜態資源(圖片等)

幾個重點:

  • src/lib/scheduler/ 是排程引擎,獨立於 UI,之後我 review 的重點會在這裡
  • supabase/migrations/ 用來放 SQL schema,Phase 1 完成後第一個檔案就是 001_initial_schema.sql
  • package.json 先不用建,等你決定好 React 或 Vanilla JS 之後再 init
  • docs/ 放設計文件,ER diagram 也交在這裡

.gitignore

node_modules/
dist/
.env
.env.local
.DS_Store
*.log

.env.example

VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=
VITE_LLM_API_KEY=

把你的真實 key 放在 .env(已被 gitignore),.env.example 只放變數名稱,方便知道需要哪些環境變數。

協作方式

  1. 請把我加為 repo 的 collaborator(GitHub ID: aady5566
  2. 我不會直接 push code,只做 review
  3. 你寫 code 的流程:
    • 從 main 開新的 feature branch(例如 feat/schedule-crudfeat/schema-v1
    • 寫完後開 Pull Request
    • 我會在 PR 上 review + 留 comment
    • 沒問題就 merge 進 main
  4. 不要直接 push 到 main,所有改動都走 PR

進度追蹤

我們用 GitHub Issues 來追蹤任務:

  • 每個階段我會開對應的 milestone
  • 具體任務用 issue 管理,你也可以自己開
  • 有問題隨時開 issue 標 question

第一步

[ACTION ITEMS] :::
  1. 用上面的結構 init repo,push 第一個 commit
  2. 把我加為 collaborator
  3. 完成之前的作業(放進 docs/):
    • 選好前端框架,寫一句理由
    • ER diagram
    • 3 個排程 edge cases

© 2026 ydhuang. All rights reserved.