用 Vibe Coding 打造台灣國定假日 API,沒有寫任何一行程式碼
-
gooliya.papa - 13 Apr, 2026
這是什麼?
Taiwan Holidays API 是一個台灣國定假日的 JSON API 服務,提供:
- 完整日曆資料(每日上班 / 放假狀態)
- 國定假日清單(中英雙語)
- 補班日查詢
- 農民曆支援(農曆日期、傳統節慶、二十四節氣)
- 透過 jsDelivr CDN 免費存取,支援 2017 ~ 2026 年
聽起來很正常,對吧?
但這整個專案,我沒有寫任何一行程式碼。
什麼是 Vibe Coding?
Vibe Coding 是一種新的開發方式:你只負責描述「你想要什麼」,AI 幫你把程式碼寫出來。你不需要懂每一行在做什麼,只需要知道你想要的結果,然後不斷對話、調整、驗證。
這個詞由 Andrej Karpathy 提出,概念很簡單:程式碼是 AI 的事,你只需要有想法。
怎麼做出來的?
整個過程大概是這樣:
- 告訴 AI「我想要一個台灣假日的 JSON API,資料來自政府開放資料」
- AI 生成資料解析腳本、目錄結構、資料格式設計
- 繼續描述需求:「我要農民曆」、「我要中英雙語」、「我要補班日」
- AI 補上 GitHub Actions,讓資料自動定期更新
- 設定 jsDelivr CDN,讓任何人都能免費呼叫
API 長這樣
所有資料都可以直接透過 CDN 取得,以 2026 年為例:
# 完整日曆
https://cdn.jsdelivr.net/gh/imsyuan/taiwan-holidays/data/2026.json
# 國定假日
https://cdn.jsdelivr.net/gh/imsyuan/taiwan-holidays/data/2026/holidays.json
# 補班日
https://cdn.jsdelivr.net/gh/imsyuan/taiwan-holidays/data/2026/makeup-workdays.json
回傳格式長這樣:
{
"date": "20260101",
"week": "三",
"isHoliday": true,
"description": "開國紀念日",
"lunar": {
"date": "十二月初二",
"festivals": [],
"solarTerm": null
}
}
簡單、乾淨,可以直接接進任何系統。
用 JavaScript 呼叫
const holidays = await fetch(
'https://cdn.jsdelivr.net/gh/imsyuan/taiwan-holidays/data/2026/holidays.json'
).then(r => r.json());
console.log(holidays);
// [{ date: "20260101", week: "三", isHoliday: true, description: "開國紀念日" }, ...]
心得
Vibe Coding 不是偷懶,是一種新的生產力。
工程師的核心價值從來不是「會打程式碼」,而是能解決問題、能設計系統、能判斷品質。
AI 幫我打字,但架構是我設計的、需求是我定義的、品質是我驗收的。
這個專案從想法到上線,只花了幾個小時,換以前可能要花幾天。
省下來的時間,可以多陪小孩一點。
原始碼開放在 GitHub:imsyuan/taiwan-holidays