引導新功能開發啟動:需求確認、技術設計、分支建立、Gherkin 模板產生。觸發:「開始新功能」、「啟動功能開發」、「feature start」。輸出:feature branch、gherkin 模板、TODO 清單。(project)
確保每個新功能開發都經過完整的需求分析、技術設計,並遵循專案的開發規範與安全原則。
main 分支且代碼是最新的執行動作:
輸出:
檢查清單:
執行動作:
決策點:
檢查清單:
執行動作:
# 1. 確保在 main 分支
git checkout main
# 2. 拉取最新代碼
git pull origin main
# 3. 建立功能分支(命名規範:feature/功能簡述)
git checkout -b feature/<feature-name>
分支命名規範:
feature/blog-post-editor - 新功能fix/login-redirect-bug - bug 修復refactor/user-service - 重構test/event-ticketing-e2e - 測試補充檢查清單:
執行動作:
建立 Gherkin feature 檔案,儲存路徑:e2e/specs/<feature-name>.feature
# 確保 e2e/specs 資料夾存在
mkdir -p e2e/specs
# 建立 feature 檔案
touch e2e/specs/<feature-name>.feature
Gherkin 模板內容:
Feature: <功能名稱>
作為 <角色>
我想要 <功能>
以便 <價值>
Scenario: <第一個場景>
Given <前置條件>
When <執行動作>
Then <預期結果>
# TODO: 補充更多 scenarios
範例:
# e2e/specs/blog-post-editor.feature
Feature: 部落格文章編輯器
作為 部落格作者
我想要 編輯和發布文章
以便 分享技術知識給讀者
Scenario: 成功建立新文章
Given 我已登入管理後台
When 我建立一篇新文章,標題為 "TypeScript 最佳實踐"
And 我輸入文章內容並點擊發布
Then 文章應該出現在文章列表中
And 文章狀態應該為 "已發布"
# TODO: 補充編輯、刪除、草稿儲存等 scenarios
檢查清單:
e2e/specs/ 資料夾已建立執行動作:
建立 TODO 清單文件,儲存路徑:docs/todos/<feature-name>.md
# 建立 todos 資料夾(如不存在)
mkdir -p docs/todos
# 建立功能專屬的 TODO 檔案
touch docs/todos/<feature-name>.md
TODO 檔案內容範本:
# Feature: <功能名稱>
## 功能描述
<1-2 句話描述功能>
## 驗收標準
- [ ] 標準 1
- [ ] 標準 2
- [ ] 標準 3
---
## 開發任務(TDD 順序)
### 1. BDD & E2E 測試準備
- [ ] 建立 Gherkin feature 檔案(`e2e/specs/<feature-name>.feature`)
- [ ] 將 feature 檔案綁定 E2E 測試案例(`e2e/tests/<feature-name>.spec.ts` - Cucumber step definitions)
### 2. 測試撰寫
- [ ] 撰寫單元測試案例
- [ ] 撰寫整合測試案例
- [ ] 實作 E2E 測試的 step definitions(如適用)
### 3. 功能實作
- [ ] 實作核心邏輯
- [ ] 實作 API endpoints(如適用)
- [ ] 實作 UI 元件(如適用)
### 4. 測試驗證
- [ ] 所有單元測試通過
- [ ] 所有整合測試通過
- [ ] 所有 E2E 測試通過
---
## 文件任務
- [ ] 更新相關文件(如適用)
- [ ] 撰寫 ADR(如需要)
檔案命名規範:
docs/todos/blog-post-editor.md - 對應 feature/blog-post-editor 分支docs/todos/login-redirect-bug.md - 對應 fix/login-redirect-bug 分支檢查清單:
docs/todos/ 資料夾已建立執行動作:
在開始開發前,確認以遵循 core.md 的規範:
開發規範:
any 類型as 進行不安全的型別轉換!(除非邏輯上絕對存在)await 或 .catch()安全規範:
測試規範:
e2e/specs/<feature-name>.feature)core.md 的安全規範完成 Feature Start 後,執行 /develop skill 開始 TDD 開發流程:
.aiassistant/rules/core.md.github/workflows/ 中的 CI/CD 設定