docs(git): translate SKILL.md into English per guidelines
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+20
-20
@@ -3,27 +3,27 @@ name: pr
|
||||
description: Commit all changes via jsc-git:commit, create a target branch named from the highest-priority commit type plus a summarized title, push, then open a Gitea PR with the templated description. Branch priority is revert > fix > feat > perf > refactor > test > docs > style > chore. Use when work is ready for review; not for plain commits.
|
||||
---
|
||||
|
||||
# pr — 建立 Push Request
|
||||
# pr — create a Push Request
|
||||
|
||||
## 步驟
|
||||
## Steps
|
||||
|
||||
1. 呼叫 `jsc-git:commit` 將所有檔案變更認可完成。
|
||||
2. 決定來源分支:遠端存在 `develop` 就用 `develop`,否則用 `main`(再否則用 `master`)。
|
||||
3. 從遠端來源分支建立目標分支:
|
||||
1. 類型取所有 commit 中優先度最高者:`revert > fix > feat > perf > refactor > test > docs > style > chore`。
|
||||
2. 標題從所有 commit 的訊息總結出一句。
|
||||
3. 分支名**只允許 ASCII**,一律 slug 化:`{類型}/{需求 or 功能}-{標題}`。需求/功能與標題先翻譯成英文短語,再轉小寫、非 `a-z0-9` 字元以連字號取代、連續連字號合併、頭尾連字號移除(例:`feat/order-匯出報表` → `feat/order-export-report`)。不可含空白、括號、冒號與任何非 ASCII 字元。
|
||||
4. `git push -u origin {目標分支}`。
|
||||
5. 建立 PR:`jsc-gitea/tools/gitea.sh pr-create {owner}/{repo} {目標分支} {來源分支} "{分支名}" {描述檔}`。
|
||||
- 標題 = 分支名。
|
||||
- 描述先套用 `templates/pr-description.md` 寫入暫存檔再帶入。
|
||||
6. **前置 PR 阻擋**:描述中有前置 Push Request 時,執行
|
||||
`jsc-gitea/tools/gitea.sh pr-depend {owner}/{repo} {本 PR 編號} {前置 owner}/{repo} {前置 PR 編號}`
|
||||
把本 PR 掛上依賴;前置 PR 未關閉前 Gitea 會阻擋合併,避免誤合併。API 不可用時降級:PR 標題加 `WIP:` 前綴(Gitea 原生阻擋合併),前置完成後移除。
|
||||
7. 回報 PR URL。
|
||||
1. Call `jsc-git:commit` to commit every file change first.
|
||||
2. Pick the base branch: use `develop` when it exists on the remote, else `main`, else `master`.
|
||||
3. Create the target branch from the remote base branch:
|
||||
1. Take the type with the highest priority across all commits: `revert > fix > feat > perf > refactor > test > docs > style > chore`.
|
||||
2. Summarize one title from all commit messages.
|
||||
3. Branch names allow **ASCII only**; always slugify as `{type}/{requirement or feature}-{title}`. Translate the requirement and title into a short English phrase first, then lowercase, replace every character outside `a-z0-9` with a hyphen, collapse consecutive hyphens, and trim leading and trailing hyphens (example: `feat/order-匯出報表` → `feat/order-export-report`). No spaces, parentheses, colons, or any non-ASCII character.
|
||||
4. Run `git push -u origin {target branch}`.
|
||||
5. Create the PR: `jsc-gitea/tools/gitea.sh pr-create {owner}/{repo} {target branch} {base branch} "{branch name}" {description file}`.
|
||||
- Title = branch name.
|
||||
- Write the description into a temp file first, using `templates/pr-description.md` (a Traditional Chinese template; the generated description stays in Traditional Chinese per the STE100 output rule).
|
||||
6. **Prerequisite PR blocking**: when the description lists a prerequisite Push Request, run
|
||||
`jsc-gitea/tools/gitea.sh pr-depend {owner}/{repo} {this PR number} {prerequisite owner}/{repo} {prerequisite PR number}`
|
||||
to add the dependency. Gitea then blocks merging until the prerequisite PR closes. If the API is unavailable, degrade: prefix the PR title with `WIP:` (Gitea blocks merging natively) and remove it once the prerequisite is done.
|
||||
7. Report the PR URL.
|
||||
|
||||
## 規則
|
||||
## Rules
|
||||
|
||||
1. 描述範本各節不可留空:沒有計畫/分析頁就填「無」,沒有前置 PR 就填「無」。
|
||||
2. 計畫頁與分析頁連結由 `jsc-sdlc` 的 wiki 頁取得;分析頁連結必須導向工作包標題錨點。
|
||||
3. 描述草擬的細節**必須以 sub agent 執行**。
|
||||
1. No template section may stay empty: fill the literal 「無」 when there is no plan page, analyze page, or prerequisite PR.
|
||||
2. Take the plan page and analyze page links from the `jsc-sdlc` wiki pages; the analyze link must point at the work package heading anchor.
|
||||
3. The description drafting details **MUST run as a sub agent**.
|
||||
|
||||
Reference in New Issue
Block a user