一個完全不懂 Node.js 的人,也能用 Cursor 寫 LINE Bot 應用

身為一個熟悉 Python 的開發者,過去主要在資料處理與工具開發領域打滾,但如果你問我 npm install 到底裝去哪、.ts.js 差在哪裡,那真的是知識空白區 XD

這次的目標是打造一個 LINE Bot,功能簡單直接:使用者在群組中輸入「+1」「-1」,系統會自動計算報名狀況,並回報至 LINE 群組。

雖然直接可以用 Python 寫,但剛好想嘗試看看 —— 如果完全不懂的語言,只靠 Cursor,我能寫出什麼程度的東西?

 

開工前的準備:先定義 Cursor 規則

一開始並沒有選用 npx 建立預設專案,而是直接開了資料夾,把 .cursor/*.mdc 寫好。

這邊可以查到各語言的 Cursor Rule 範例
https://github.com/PatrickJS/awesome-cursorrules

再來是需要寫好專案的 SPEC(要做什麼、不做什麼),可以省下很多返工的時間。
就像寫測試前先寫好需求,AI 幫你開發時也需要類似的界線感。
當 Cursor 自己爆走的時候,也可以回到 SPEC 文件提醒它。

以下是一些建議的 .md 檔案及其內容範例:

.cursor/spec.md

描述專案的功能需求與範圍,明確指出哪些功能需要實作。

範例:

## 專案目標
建立一個 LINE Bot,使用者輸入「+1」時,系統登記報名並回報目前狀態。

## 功能需求
- 接收 LINE webhook 訊息
- 處理「+1」與「取消」指令
- 回報目前報名人數與暱稱清單
- 支援重置報名清單

.cursor/architecture.md

說明專案的架構設計,包括目錄結構、模組劃分等。

範例:

## 專案架構
- `src/`:主要程式碼目錄
  - `handlers/`:處理各種 webhook 事件
  - `services/`:業務邏輯處理
  - `utils/`:工具函式
- `tests/`:測試程式碼

.cursor/styleguide.md

定義程式碼風格與命名規範,確保 AI 生成的程式碼符合團隊標準。

範例:

## 命名規範
- 變數與函式使用 camelCase
- 類別名稱使用 PascalCase
- 常數使用全大寫加底線(例如:MAX_VALUE)

## 程式碼風格
- 使用 2 個空格作為縮排
- 每行程式碼不超過 80 個字元
- 函式應包含簡短的註解說明其功能

建議在專案初期就建立這些文件,並在開發過程中持續更新,這樣即使 AI 在生成程式碼時出現偏差,也可以透過這些文件快速校正方向。

 

開發過程:用 Python 腦袋駕馭 Node.js 世界

描述需求的方式,則是延續了寫 Python 時的習慣,具備基本程式邏輯知識,跨語言開發可以使用更精準的關鍵字,只要描述得夠清楚,回傳的程式碼品質都很不錯。

舉例來說:

「我想記錄一組使用者的報名狀態,每個使用者都有一個 ID,並對應到一些動態資訊,例如報名時間或暱稱。像是 Python 的 Dict user_id -> { nickname, time }

即使實際語法在 JS 或 TypeScript 中不同,只要能清楚表達出邏輯目的,Cursor 幾乎都能正確 map 到對應語言的語法與實作方式。

常見踩雷:每個需求,小塊小塊處理最好

專案結構一旦搭好,就進入功能拆解流程。

初期曾經嘗試一次請它實作多個功能(處理訊息、更新報名、回傳狀態),結果它直接改掉整個架構,還複製出一堆重複邏輯(不停的向後兼容😵‍💫)

後來採用「一次請它處理一個功能」的方式,穩定度就高很多。

 

成果:Pluseal 活動報名工具

LINE +1 報名活動海豹 Pluseal
是這次實驗做出來的成果

在 LINE 群組中輸入「+1」、「-1」,就會自動登記活動報名、回報名單,讓主揪不用再花力氣手動計算,是個方便實用的日常小工具唷 :)

 

結語:即使對語法不熟,也能完成一個完整產品

AI 工具出現後,開發的順序已經反過來: 不是「會某個語言 → 才能做某種產品」,而是「有想法 → 定義 SPEC → 讓 AI 幫你完成技術路徑」。

這次的 Pluseal 就是個範例:
Node.js 從 0 開始, 但靠著明確描述與善用工具,一樣能讓它跑上 Production。

btw,所有使用到的圖像化元素也都是搭配 GPT 等工具生成的唷~

Related post

MCP

Cursor Talk To Figma MCP 實測心得

先說我的感想:設計師還是非常重要的,美感不是一天養成🥺 最近想重新設計工作室的網站,剛好看到社群在討論 Figma MCP,就想試試看: 如果讓語言模型接上 MCP,能不能幫我生出一版「令人驚豔」的網站設計? 於是我開啟 Cursor,讓它接上 Figma MCP plugin,結果⋯⋯只能說,是一次相當悽慘的體驗。 整個過程我沒有自己動手設計畫面,只有在…