TTechSpecs

指令用途

/implement 根據規格文件或一組 tickets 來執行實作工作。它會讀取規格或 tickets,自動進行程式碼編寫、測試、驗證,並在完成後進行 commit。

這就像有一個自動化的開發人員在幫你實作功能。


運作流程

  1. 讀取輸入:可以是規格文件、ticket 檔案,或 issue tracker 中的 tickets。
  2. 分析任務:理解需要實作的內容。
  3. 執行實作:按照規格或 tickets 進行程式碼編寫。
  4. 執行測試:編寫並執行測試。
  5. 驗證結果:確認實作符合規格或 tickets。
  6. Commit:將程式碼提交到版本控制系統。

實戰對話範例

範例一:根據規格實作

  • You:
    /implement --spec=docs/specs/product-search.md
  • AI:

    正在讀取規格…

    規格內容

    • 問題:使用者需要更快地找到商品
    • 解決方案:新增搜尋功能
    • 約束:不使用外部搜尋服務,搜尋時間 < 100ms
    • 驗收標準:使用者可以搜尋商品,搜尋時間 < 100ms

    開始實作

    Step 1: 設計搜尋介面

    • 建立搜尋服務介面:ISearchService
    • 定義搜尋方法:search(query: string): Product[]

    Step 2: 實作搜尋邏輯

    • 建立搜尋服務實作:InMemorySearchService
    • 使用簡單的字串匹配

    Step 3: 優化搜尋效能

    • 使用索引預先建立搜尋空間
    • 搜尋時間優化至 < 50ms

    Step 4: 建立測試

    • 單元測試:測試搜尋邏輯
    • 效能測試:測試搜尋時間

    測試結果:✅ 所有測試通過

    驗證結果:✅ 符合規格要求

    Commit

    feat(product-search): 新增商品搜尋功能
    
    - 建立搜尋服務介面和實作
    - 優化搜尋效能至 < 50ms
    - 添加單元測試和效能測試

範例二:根據 tickets 實作

  • You:
    /implement --tickets=docs/tickets/2026-08-02-auth-system/
  • AI:

    正在讀取 tickets…

    識別到的 tickets

    • Ticket #1: 設計 token 生成介面
    • Ticket #2: 實作 token 生成邏輯
    • Ticket #3: 設計 token 驗證介面
    • Ticket #4: 實作 token 驗證邏輯
    • Ticket #5: 設計 token 撤銷介面
    • Ticket #6: 實作 token 撤銷邏輯
    • Ticket #7: 更新所有 API 使用 token 驗證
    • Ticket #8: 添加單元測試

    分析依賴關係

    • Ticket #2 依賴 Ticket #1
    • Ticket #4 依賴 Ticket #2 和 Ticket #3
    • Ticket #6 依賴 Ticket #4 和 Ticket #5
    • Ticket #7 依賴 Ticket #4
    • Ticket #8 依賴 Ticket #6 和 Ticket #7

    開始實作

    Ticket #1: 設計 token 生成介面

    • 建立介面:ITokenGenerator
    • 定義方法:generate(userId: string): string
    • ✅ 完成

    Ticket #2: 實作 token 生成邏輯

    • 建立實作:JwtTokenGenerator
    • 使用 jsonwebtoken 套件
    • ✅ 完成

    Ticket #3: 設計 token 驗證介面

    • 建立介面:ITokenValidator
    • 定義方法:validate(token: string): ValidationResult
    • ✅ 完成

    Ticket #4: 實作 token 驗證邏輯

    • 建立實作:JwtTokenValidator
    • 驗證簽名和過期時間
    • ✅ 完成

    Ticket #5: 設計 token 撤銷介面

    • 建立介面:ITokenRevoker
    • 定義方法:revoke(token: string): void
    • ✅ 完成

    Ticket #6: 實作 token 撤銷邏輯

    • 建立實作:TokenBlacklistRevoker
    • 使用 Redis 作為 blacklist
    • ✅ 完成

    Ticket #7: 更新所有 API 使用 token 驗證

    • 更新 API middleware
    • 所有 API 要求 token 驗證
    • ✅ 完成

    Ticket #8: 添加單元測試

    • 測試 token 生成邏輯
    • 測試 token 驗證邏輯
    • 測試 token 撤銷邏輯
    • ✅ 所有測試通過

    Commit

    feat(auth): 實作 JWT token 認證系統
    
    - 實作 token 生成、驗證、撤銷邏輯
    - 更新所有 API 使用 token 驗證
    - 添加完整的單元測試

輸入格式

規格檔案

/implement --spec=docs/specs/[spec-name].md

規格檔案格式參考 /to-spec 的輸出。

Ticket 檔案

/implement --tickets=docs/tickets/[ticket-set-name]/

Ticket 檔案格式參考 /to-tickets 的輸出。

Issue Tracker

/implement --issue=45

直接指定 issue ID,實作該 issue 中的規格或 tickets。


最佳實踐

  1. 確保規格或 tickets 清晰明確:模糊的規格會導致實作不符合預期
  2. 提供足夠的上下文:讓 AI 理解專案的架構和約束
  3. 設置合理的驗收標準:明確知道什麼時候算完成
  4. 定期檢查進度:確保實作方向正確

何時使用

  • 已經完成規格或 tickets,需要實作
  • 需要自動化執行重複性的實作工作
  • 需要確保實作符合規格或 tickets
  • 需要自動生成測試

何時不應該使用

  • 規格或 tickets 還未完成
  • 需要人類判斷的複雜決策
  • 需要大量的上下文理解

與其他技能的區別

技能 目的 輸入 輸出
/to-spec 整理對話為規格 對話 Issue (規格)
/to-tickets 拆分為 tickets 規格/對話 Tickets
/implement 實作 tickets 規格/tickets 程式碼 + commit