docs(doc-funcs): 讓 README 連結依 origin 產生 #11
@@ -20,7 +20,7 @@ description: 為目前專案的每個 function 建立 .docs/ 草稿並補齊 XML
|
||||
4. 在實作到原始碼之前,主 agent 必須檢查所有草稿內容是否以繁體中文為主、英文為輔,且沒有任何亂碼、編碼錯誤、不可讀字元或明顯破損文字。若發現問題,先修正草稿並重新檢查,通過後才能進入下一步。
|
||||
5. 所有草稿完成且通過檢查後,主 agent 要閱讀草稿並實作到原始碼。若是 C#,使用 XML documentation comments:`<summary>`、`<param>`、`<remarks>`。註解盡量使用繁體中文;保留既有正確文件,僅補齊缺漏或明顯不足處;不要為了文件改變 runtime 行為。
|
||||
6. 若遇到大量 function,仍要分批持續處理,不要只做示範。若 token 或時間不足,先完成已列入 index 的批次,並在 .docs/doc-funcs-index.md 標記 pending。
|
||||
7. 補齊後,產生或更新專案根目錄的 README.md 功能目錄。功能目錄只列出所有專案內的公開方法(public method、public constructor、public extension method、public operator),並依專案名稱分組;每個專案使用一張 Markdown 表格呈現公開方法,欄位固定為「功能名稱」、「功能描述」、「使用範例」。功能名稱需做成 Markdown 連結,導向 Gitea 上對應檔案的 function 起始行;連結必須以執行此 skill 的目標專案為準,使用目標專案的 `origin` 遠端、目前分支、檔案相對於目標專案根目錄的路徑與 function 起始行號產生,例如 `https://gitea.example.com/owner/repo/src/branch/<branch>/<path>#L123`;不得使用本 skill repo 或其他外部 repo 的座標。若無法可靠解析目標專案的遠端 URL、分支或行號,才退回純文字功能名稱;README 功能目錄不必列出內部呼叫方法。功能目錄必須包含更新時間;若 README.md 已有既有內容,保留既有內容並以最小變更更新或新增功能目錄區塊。
|
||||
7. 補齊後,產生或更新專案根目錄的 README.md 功能目錄。功能目錄只列出所有專案內的公開方法(public method、public constructor、public extension method、public operator),並依專案名稱分組;每個專案使用一張 Markdown 表格呈現公開方法,欄位固定為「功能名稱」、「功能描述」、「使用範例」。功能名稱需做成 Markdown 連結,導向目標專案 git `origin` 遠端上的對應檔案 function 起始行;連結必須以執行此 skill 的目標專案為準,先用 `git remote get-url origin` 取得遠端,再搭配目前分支、檔案相對於目標專案根目錄的路徑與 function 起始行號產生,不得使用本 skill repo、工作區外 repo 或硬編碼的外部 repo 座標。若 origin 是 SSH 格式(例如 `git@gitea.example.com:owner/repo.git`),需轉為對應 HTTPS 瀏覽 URL;若 origin 已是 HTTPS,沿用同一個 host 與 repo path,並移除尾端 `.git`。Gitea 類網址使用 `/src/branch/<branch>/<path>#L123`,GitHub 類網址使用 `/blob/<branch>/<path>#L123`;無法可靠判斷平台時,優先採 Gitea 格式。若無法可靠解析目標專案的 `origin` 遠端、目前分支、檔案路徑或行號,才退回純文字功能名稱;README 功能目錄不必列出內部呼叫方法。功能目錄必須包含更新時間;若 README.md 已有既有內容,保留既有內容並以最小變更更新或新增功能目錄區塊。
|
||||
8. README 功能目錄完成後,刪除本次產生的所有草稿與索引:`.docs/doc-funcs/` 與 `.docs/doc-funcs-index.md`。若 `.docs/` 內已無其他內容,可一併移除空的 `.docs/` 目錄;不得刪除使用者既有的 `.docs/` 其他檔案。
|
||||
9. 完成後執行合適的格式化/建置或至少語法驗證;若無法執行,說明原因。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user