Merge pull request 'feat: 將 ANTIGRAVITY 加入程式與技能' (#125) from feat/ANTIGRAVITY into develop
Reviewed-on: #125
This commit is contained in:
@@ -11,4 +11,3 @@ When the task is to triage review findings, follow this workflow:
|
|||||||
7. Add or update tests when behavior changes.
|
7. Add or update tests when behavior changes.
|
||||||
8. Re-check the issue after each fix.
|
8. Re-check the issue after each fix.
|
||||||
|
|
||||||
Use the repo-local `triage-findings` skill for the same workflow when running in Codex.
|
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
name: triage-findings
|
||||||
|
description: Merge code-review findings, sort and renumber them by severity, resolve real issues, and move false positives into exclusions.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Triage Findings
|
||||||
|
|
||||||
|
## When To Use
|
||||||
|
|
||||||
|
Use this skill when you receive multiple review findings, screenshots, comments, or issue lists that need to become one final triaged list.
|
||||||
|
It is also used when some findings are false positives and should be moved into the exclusions list.
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
1. Collect all findings into one list.
|
||||||
|
2. Merge duplicates into a single finding when they describe the same issue.
|
||||||
|
3. Sort the final list by severity:
|
||||||
|
- critical
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
4. Renumber the sorted list from 1 upward.
|
||||||
|
5. Rewrite each finding concisely so the final list reads cleanly and consistently.
|
||||||
|
6. If a finding is a false positive, do not keep it in the final list.
|
||||||
|
7. Add false positives to the exclusions list as a top-level JSON array in `.gitea/ai-review/exclusions.json`, and preserve the original finding wording as much as possible, including language and semantics. Do not wrap the array in `exclusions` or `excluded_findings`.
|
||||||
|
|
||||||
|
## Resolution Flow
|
||||||
|
|
||||||
|
After the list is merged and ordered, resolve the remaining findings one by one.
|
||||||
|
|
||||||
|
1. Start from the highest severity item.
|
||||||
|
2. Identify the root cause in the relevant file or context.
|
||||||
|
3. Apply the smallest safe change that fixes the issue.
|
||||||
|
4. Add or update tests when behavior changes.
|
||||||
|
5. Re-check the issue after the change.
|
||||||
|
6. If the item is confirmed false positive, move it to exclusions instead of changing code.
|
||||||
|
7. Continue until the list is either fixed or explicitly excluded.
|
||||||
|
|
||||||
|
## Output Rules
|
||||||
|
|
||||||
|
- Keep the final findings list in severity order, then by any stable secondary order needed to make it readable.
|
||||||
|
- Keep numbering contiguous after filtering and merging.
|
||||||
|
- Preserve useful details like file path, location, and suggested fix.
|
||||||
|
- Keep exclusions entries minimal and consistent with the project schema.
|
||||||
|
- When writing exclusions, always output a top-level JSON array.
|
||||||
|
- When writing exclusions, prefer the original issue text and language; only paraphrase if needed to fit the schema.
|
||||||
|
- If the source already provides a severity or title, keep it unless it conflicts with the final ordering.
|
||||||
@@ -1,30 +1,46 @@
|
|||||||
---
|
---
|
||||||
name: triage-findings
|
name: triage-findings
|
||||||
description: Triage findings, fix real issues, and exclude false positives.
|
description: Merge code-review findings, sort and renumber them by severity, resolve real issues, and move false positives into exclusions.
|
||||||
---
|
---
|
||||||
|
|
||||||
# Triage Findings
|
# Triage Findings
|
||||||
|
|
||||||
## Use
|
## When To Use
|
||||||
|
|
||||||
直接輸入:`triage-findings 問題原始檔(文字或截圖)`
|
Use this skill when you receive multiple review findings, screenshots, comments, or issue lists that need to become one final triaged list.
|
||||||
|
It is also used when some findings are false positives and should be moved into the exclusions list.
|
||||||
|
|
||||||
## Workflow
|
## Workflow
|
||||||
|
|
||||||
1. Merge all findings.
|
1. Collect all findings into one list.
|
||||||
2. Sort by severity:
|
2. Merge duplicates into a single finding when they describe the same issue.
|
||||||
|
3. Sort the final list by severity:
|
||||||
- critical
|
- critical
|
||||||
- warning
|
- warning
|
||||||
- info
|
- info
|
||||||
3. Renumber from 1.
|
4. Renumber the sorted list from 1 upward.
|
||||||
4. Fix real issues.
|
5. Rewrite each finding concisely so the final list reads cleanly and consistently.
|
||||||
5. Put false positives into `.gitea/ai-review/exclusions.json` as a top-level JSON array, preserving the original wording, language, and semantics as much as possible. Do not wrap the array in `exclusions` or `excluded_findings`.
|
6. If a finding is a false positive, do not keep it in the final list.
|
||||||
6. Add tests when behavior changes.
|
7. Add false positives to the exclusions list as a top-level JSON array in `.gitea/ai-review/exclusions.json`, and preserve the original finding wording as much as possible, including language and semantics. Do not wrap the array in `exclusions` or `excluded_findings`.
|
||||||
|
|
||||||
|
## Resolution Flow
|
||||||
|
|
||||||
|
After the list is merged and ordered, resolve the remaining findings one by one.
|
||||||
|
|
||||||
|
1. Start from the highest severity item.
|
||||||
|
2. Identify the root cause in the relevant file or context.
|
||||||
|
3. Apply the smallest safe change that fixes the issue.
|
||||||
|
4. Add or update tests when behavior changes.
|
||||||
|
5. Re-check the issue after the change.
|
||||||
|
6. If the item is confirmed false positive, move it to exclusions instead of changing code.
|
||||||
|
7. Continue until the list is either fixed or explicitly excluded.
|
||||||
|
|
||||||
## Output Rules
|
## Output Rules
|
||||||
|
|
||||||
- Keep the final list short.
|
- Keep the final findings list in severity order, then by any stable secondary order needed to make it readable.
|
||||||
- Keep numbering contiguous.
|
- Keep numbering contiguous after filtering and merging.
|
||||||
- Preserve file path, location, and fix.
|
- Preserve useful details like file path, location, and suggested fix.
|
||||||
|
- Keep exclusions entries minimal and consistent with the project schema.
|
||||||
- When writing exclusions, always output a top-level JSON array.
|
- When writing exclusions, always output a top-level JSON array.
|
||||||
- When writing exclusions, prefer the original issue text over paraphrased rewrites.
|
- When writing exclusions, prefer the original issue text and language; only paraphrase if needed to fit the schema.
|
||||||
|
- If the source already provides a severity or title, keep it unless it conflicts with the final ordering.
|
||||||
|
|||||||
@@ -1,30 +1,46 @@
|
|||||||
---
|
---
|
||||||
name: triage-findings
|
name: triage-findings
|
||||||
description: Triage findings, fix real issues, and exclude false positives.
|
description: Merge code-review findings, sort and renumber them by severity, resolve real issues, and move false positives into exclusions.
|
||||||
---
|
---
|
||||||
|
|
||||||
# Triage Findings
|
# Triage Findings
|
||||||
|
|
||||||
## Use
|
## When To Use
|
||||||
|
|
||||||
直接輸入:`triage-findings 問題原始檔(文字或截圖)`
|
Use this skill when you receive multiple review findings, screenshots, comments, or issue lists that need to become one final triaged list.
|
||||||
|
It is also used when some findings are false positives and should be moved into the exclusions list.
|
||||||
|
|
||||||
## Workflow
|
## Workflow
|
||||||
|
|
||||||
1. Merge all findings.
|
1. Collect all findings into one list.
|
||||||
2. Sort by severity:
|
2. Merge duplicates into a single finding when they describe the same issue.
|
||||||
|
3. Sort the final list by severity:
|
||||||
- critical
|
- critical
|
||||||
- warning
|
- warning
|
||||||
- info
|
- info
|
||||||
3. Renumber from 1.
|
4. Renumber the sorted list from 1 upward.
|
||||||
4. Fix real issues.
|
5. Rewrite each finding concisely so the final list reads cleanly and consistently.
|
||||||
5. Put false positives into `.gitea/ai-review/exclusions.json` as a top-level JSON array, preserving the original wording, language, and semantics as much as possible. Do not wrap the array in `exclusions` or `excluded_findings`.
|
6. If a finding is a false positive, do not keep it in the final list.
|
||||||
6. Add tests when behavior changes.
|
7. Add false positives to the exclusions list as a top-level JSON array in `.gitea/ai-review/exclusions.json`, and preserve the original finding wording as much as possible, including language and semantics. Do not wrap the array in `exclusions` or `excluded_findings`.
|
||||||
|
|
||||||
|
## Resolution Flow
|
||||||
|
|
||||||
|
After the list is merged and ordered, resolve the remaining findings one by one.
|
||||||
|
|
||||||
|
1. Start from the highest severity item.
|
||||||
|
2. Identify the root cause in the relevant file or context.
|
||||||
|
3. Apply the smallest safe change that fixes the issue.
|
||||||
|
4. Add or update tests when behavior changes.
|
||||||
|
5. Re-check the issue after the change.
|
||||||
|
6. If the item is confirmed false positive, move it to exclusions instead of changing code.
|
||||||
|
7. Continue until the list is either fixed or explicitly excluded.
|
||||||
|
|
||||||
## Output Rules
|
## Output Rules
|
||||||
|
|
||||||
- Keep the final list short.
|
- Keep the final findings list in severity order, then by any stable secondary order needed to make it readable.
|
||||||
- Keep numbering contiguous.
|
- Keep numbering contiguous after filtering and merging.
|
||||||
- Preserve file path, location, and fix.
|
- Preserve useful details like file path, location, and suggested fix.
|
||||||
|
- Keep exclusions entries minimal and consistent with the project schema.
|
||||||
- When writing exclusions, always output a top-level JSON array.
|
- When writing exclusions, always output a top-level JSON array.
|
||||||
- When writing exclusions, prefer the original issue text over paraphrased rewrites.
|
- When writing exclusions, prefer the original issue text and language; only paraphrase if needed to fit the schema.
|
||||||
|
- If the source already provides a severity or title, keep it unless it conflicts with the final ordering.
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ Use the triage-finding workflow for review issue lists:
|
|||||||
7. Add or update tests when behavior changes.
|
7. Add or update tests when behavior changes.
|
||||||
8. Re-check after each fix.
|
8. Re-check after each fix.
|
||||||
|
|
||||||
The full reusable skill lives in `.claude/skills/triage-findings/SKILL.md`.
|
The full reusable skill lives in `.github/skills/triage-findings/SKILL.md`.
|
||||||
|
|||||||
@@ -1,14 +1,41 @@
|
|||||||
# Triage Findings
|
# Triage Findings
|
||||||
|
|
||||||
Use the triage-finding workflow for review issue lists:
|
## When To Use
|
||||||
|
|
||||||
1. Merge findings into one list.
|
Use this skill when you receive multiple review findings, screenshots, comments, or issue lists that need to become one final triaged list.
|
||||||
2. Remove duplicates.
|
It is also used when some findings are false positives and should be moved into the exclusions list.
|
||||||
3. Sort by severity: `critical` -> `warning` -> `info`.
|
|
||||||
4. Renumber from 1.
|
|
||||||
5. Fix real issues with the smallest safe change.
|
|
||||||
6. Put false positives into `.gitea/ai-review/exclusions.json` as a top-level JSON array, preserving the original wording, language, and semantics as much as possible. Do not wrap the array in `exclusions` or `excluded_findings`.
|
|
||||||
7. Add or update tests when behavior changes.
|
|
||||||
8. Re-check after each fix.
|
|
||||||
|
|
||||||
The reusable skill lives in `.gemini/skills/triage-findings/SKILL.md`.
|
## Workflow
|
||||||
|
|
||||||
|
1. Collect all findings into one list.
|
||||||
|
2. Merge duplicates into a single finding when they describe the same issue.
|
||||||
|
3. Sort the final list by severity:
|
||||||
|
- critical
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
4. Renumber the sorted list from 1 upward.
|
||||||
|
5. Rewrite each finding concisely so the final list reads cleanly and consistently.
|
||||||
|
6. If a finding is a false positive, do not keep it in the final list.
|
||||||
|
7. Add false positives to the exclusions list as a top-level JSON array in `.gitea/ai-review/exclusions.json`, and preserve the original finding wording as much as possible, including language and semantics. Do not wrap the array in `exclusions` or `excluded_findings`.
|
||||||
|
|
||||||
|
## Resolution Flow
|
||||||
|
|
||||||
|
After the list is merged and ordered, resolve the remaining findings one by one.
|
||||||
|
|
||||||
|
1. Start from the highest severity item.
|
||||||
|
2. Identify the root cause in the relevant file or context.
|
||||||
|
3. Apply the smallest safe change that fixes the issue.
|
||||||
|
4. Add or update tests when behavior changes.
|
||||||
|
5. Re-check the issue after the change.
|
||||||
|
6. If the item is confirmed false positive, move it to exclusions instead of changing code.
|
||||||
|
7. Continue until the list is either fixed or explicitly excluded.
|
||||||
|
|
||||||
|
## Output Rules
|
||||||
|
|
||||||
|
- Keep the final findings list in severity order, then by any stable secondary order needed to make it readable.
|
||||||
|
- Keep numbering contiguous after filtering and merging.
|
||||||
|
- Preserve useful details like file path, location, and suggested fix.
|
||||||
|
- Keep exclusions entries minimal and consistent with the project schema.
|
||||||
|
- When writing exclusions, always output a top-level JSON array.
|
||||||
|
- When writing exclusions, prefer the original issue text and language; only paraphrase if needed to fit the schema.
|
||||||
|
- If the source already provides a severity or title, keep it unless it conflicts with the final ordering.
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Triage Findings
|
||||||
|
|
||||||
|
Use the triage-finding workflow for review issue lists:
|
||||||
|
|
||||||
|
1. Merge findings into one list.
|
||||||
|
2. Remove duplicates.
|
||||||
|
3. Sort by severity: `critical` -> `warning` -> `info`.
|
||||||
|
4. Renumber from 1.
|
||||||
|
5. Fix real issues with the smallest safe change.
|
||||||
|
6. Put false positives into `.gitea/ai-review/exclusions.json`, preserving the original wording, language, and semantics as much as possible.
|
||||||
|
7. Add or update tests when behavior changes.
|
||||||
|
8. Re-check after each fix.
|
||||||
|
|
||||||
|
The reusable skill lives in `.antigravity/skills/triage-findings/SKILL.md`.
|
||||||
@@ -11,6 +11,6 @@ When the task is to triage review findings, follow this workflow:
|
|||||||
7. Add or update tests when behavior changes.
|
7. Add or update tests when behavior changes.
|
||||||
8. Re-check the issue after each fix.
|
8. Re-check the issue after each fix.
|
||||||
|
|
||||||
Use the repo-local `triage-findings` skill for the same workflow when running in Codex.
|
Use the repo-local `triage-findings` skill for the same workflow when running in Claude.
|
||||||
|
|
||||||
Trigger it with `/triage-findings`.
|
Trigger it with `/triage-findings`.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
4. 盡量將應用程式放在 ./app,修改 entrypoint.sh 與 Dockerfile 讓程式可以正常運行
|
4. 盡量將應用程式放在 ./app,修改 entrypoint.sh 與 Dockerfile 讓程式可以正常運行
|
||||||
5. 將提示詞放到 ./app/prompts 內供程式讀取
|
5. 將提示詞放到 ./app/prompts 內供程式讀取
|
||||||
6. API Key 支援逗號分隔傳入多個,隨機順序各嘗試一次,全部失敗則 exit 1
|
6. API Key 支援逗號分隔傳入多個,隨機順序各嘗試一次,全部失敗則 exit 1
|
||||||
7. 讀取 Git Diff 時排除 `.gitea/`、`.amazonq/`、`.claude/`、`.codex/`、`.gemini/`、`.github/` 資料夾,以及 `CLAUDE.md`、`GEMINI.md`、`TODO.md`、`README.md`,避免 AI 分析 workflow 設定、skill 入口與文件等非業務程式碼
|
7. 讀取 Git Diff 時排除 `.gitea/`、`.amazonq/`、`.antigravity/`、`.claude/`、`.codex/`、`.gemini/`、`.github/` 資料夾,以及 `ANTIGRAVITY.md`、`CLAUDE.md`、`GEMINI.md`、`TODO.md`、`README.md`,避免 AI 分析 workflow 設定、skill 入口與文件等非業務程式碼
|
||||||
8. 階段七驗證來源分支中的 `findings.json` 與 `exclusions.json` 是否為合法 JSON 格式,格式錯誤時先嘗試透過 AI 修正內容,再重新驗證;修正後仍不合法才 exit 1;之後才檢查檔案是否存在,不存在則建立並寫入 `[]`
|
8. 階段七驗證來源分支中的 `findings.json` 與 `exclusions.json` 是否為合法 JSON 格式,格式錯誤時先嘗試透過 AI 修正內容,再重新驗證;修正後仍不合法才 exit 1;之後才檢查檔案是否存在,不存在則建立並寫入 `[]`
|
||||||
9. 傳給 AI 的 findings 只保留必要欄位(level、role、location、suggestion),排除 `is_new` 等內部欄位;system prompt 精簡為指令核心;exclusions hint 只傳 location 與 suggestion,減少 token 用量
|
9. 傳給 AI 的 findings 只保留必要欄位(level、role、location、suggestion),排除 `is_new` 等內部欄位;system prompt 精簡為指令核心;exclusions hint 只傳 location 與 suggestion,減少 token 用量
|
||||||
10. 執行時會額外記錄來源分支狀態、`findings.json` / `exclusions.json` 的檔案路徑、大小、mtime 與 raw/normalized 筆數,方便追查讀檔與分支內容不一致的問題
|
10. 執行時會額外記錄來源分支狀態、`findings.json` / `exclusions.json` 的檔案路徑、大小、mtime 與 raw/normalized 筆數,方便追查讀檔與分支內容不一致的問題
|
||||||
@@ -235,6 +235,7 @@ Copilot:`/triage-findings 問題原始檔(文字或截圖)`
|
|||||||
Claude:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
Claude:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
||||||
Gemini:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
Gemini:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
||||||
Amazon Q:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
Amazon Q:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
||||||
|
Antigravity:直接輸入 `triage-findings 問題原始檔(文字或截圖)`
|
||||||
|
|
||||||
### 適用情境
|
### 適用情境
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
- 已驗收:`code-review` job 的 log 已完整出現 `Step1` 到 `Step8`,並以 `Pipeline 完成` 結束。
|
- 已驗收:`code-review` job 的 log 已完整出現 `Step1` 到 `Step8`,並以 `Pipeline 完成` 結束。
|
||||||
|
|
||||||
## 階段二:Git Diff 排除 .gitea/ 資料夾
|
## 階段二:Git Diff 排除 .gitea/ 資料夾
|
||||||
- 目標:讀取 Git Diff 時排除 `.gitea/` 資料夾內的所有檔案,以及 `.amazonq/`、`.claude/`、`.codex/`、`.gemini/`、`.github/`、`CLAUDE.md`、`GEMINI.md`、`TODO.md`、`README.md`,避免 AI 分析 workflow 設定、skill 入口與文件等非業務程式碼。
|
- 目標:讀取 Git Diff 時排除 `.gitea/` 資料夾內的所有檔案,以及 `.amazonq/`、`.antigravity/`、`.claude/`、`.codex/`、`.gemini/`、`.github/`、`ANTIGRAVITY.md`、`CLAUDE.md`、`GEMINI.md`、`TODO.md`、`README.md`,避免 AI 分析 workflow 設定、skill 入口與文件等非業務程式碼。
|
||||||
- 驗收:PR 中有上述路徑或檔案的變更時,diff 內容不包含該區塊,AI 分析結果不含這些路徑相關問題。
|
- 驗收:PR 中有上述路徑或檔案的變更時,diff 內容不包含該區塊,AI 分析結果不含這些路徑相關問題。
|
||||||
- 已驗收:`app/gitea.js` 已在取得 diff 時過濾 `.gitea/` 區塊,且相關單元測試已覆蓋。
|
- 已驗收:`app/gitea.js` 已在取得 diff 時過濾 `.gitea/` 區塊,且相關單元測試已覆蓋。
|
||||||
|
|
||||||
|
|||||||
@@ -11,21 +11,25 @@ const remoteUrl = `${GITEA_SERVER_URL.replace(/\/$/, '')}/${GITEA_REPOSITORY}.gi
|
|||||||
export const BOT_COMMIT_MARKER = '[ai-review-bot]';
|
export const BOT_COMMIT_MARKER = '[ai-review-bot]';
|
||||||
export const SYNC_PATHS = [
|
export const SYNC_PATHS = [
|
||||||
'.amazonq/rules/triage-findings.md',
|
'.amazonq/rules/triage-findings.md',
|
||||||
|
'.antigravity/skills/triage-findings/SKILL.md',
|
||||||
'.codex/skills/triage-findings/SKILL.md',
|
'.codex/skills/triage-findings/SKILL.md',
|
||||||
'.codex/skills/triage-findings/agents/openai.yaml',
|
'.codex/skills/triage-findings/agents/openai.yaml',
|
||||||
'.claude/skills/triage-findings/SKILL.md',
|
'.claude/skills/triage-findings/SKILL.md',
|
||||||
'.gemini/skills/triage-findings/SKILL.md',
|
'.gemini/skills/triage-findings/SKILL.md',
|
||||||
'.github/copilot-instructions.md',
|
'.github/copilot-instructions.md',
|
||||||
'.github/skills/triage-findings/SKILL.md',
|
'.github/skills/triage-findings/SKILL.md',
|
||||||
|
'ANTIGRAVITY.md',
|
||||||
'CLAUDE.md',
|
'CLAUDE.md',
|
||||||
'GEMINI.md',
|
'GEMINI.md',
|
||||||
];
|
];
|
||||||
const FORCE_SYNC_FILE_PATHS = [
|
const FORCE_SYNC_FILE_PATHS = [
|
||||||
'.github/copilot-instructions.md',
|
'.github/copilot-instructions.md',
|
||||||
|
'ANTIGRAVITY.md',
|
||||||
'CLAUDE.md',
|
'CLAUDE.md',
|
||||||
'GEMINI.md',
|
'GEMINI.md',
|
||||||
];
|
];
|
||||||
const SYNC_TREE_PATHS = [
|
const SYNC_TREE_PATHS = [
|
||||||
|
'.antigravity/skills/triage-findings',
|
||||||
'.codex/skills/triage-findings',
|
'.codex/skills/triage-findings',
|
||||||
'.claude/skills/triage-findings',
|
'.claude/skills/triage-findings',
|
||||||
'.gemini/skills/triage-findings',
|
'.gemini/skills/triage-findings',
|
||||||
|
|||||||
@@ -132,8 +132,10 @@ describe('commitAndPush', () => {
|
|||||||
assert.ok(skillAddCall.args.includes('.codex/skills/triage-findings/agents/openai.yaml'));
|
assert.ok(skillAddCall.args.includes('.codex/skills/triage-findings/agents/openai.yaml'));
|
||||||
assert.ok(skillAddCall.args.includes('.claude/skills/triage-findings/SKILL.md'));
|
assert.ok(skillAddCall.args.includes('.claude/skills/triage-findings/SKILL.md'));
|
||||||
assert.ok(skillAddCall.args.includes('.gemini/skills/triage-findings/SKILL.md'));
|
assert.ok(skillAddCall.args.includes('.gemini/skills/triage-findings/SKILL.md'));
|
||||||
|
assert.ok(skillAddCall.args.includes('.antigravity/skills/triage-findings/SKILL.md'));
|
||||||
assert.ok(skillAddCall.args.includes('.github/copilot-instructions.md'));
|
assert.ok(skillAddCall.args.includes('.github/copilot-instructions.md'));
|
||||||
assert.ok(skillAddCall.args.includes('.amazonq/rules/triage-findings.md'));
|
assert.ok(skillAddCall.args.includes('.amazonq/rules/triage-findings.md'));
|
||||||
|
assert.ok(skillAddCall.args.includes('ANTIGRAVITY.md'));
|
||||||
assert.ok(skillAddCall.args.includes('CLAUDE.md'));
|
assert.ok(skillAddCall.args.includes('CLAUDE.md'));
|
||||||
assert.ok(skillAddCall.args.includes('GEMINI.md'));
|
assert.ok(skillAddCall.args.includes('GEMINI.md'));
|
||||||
assert.ok(!skillAddCall.args.includes('README.md'));
|
assert.ok(!skillAddCall.args.includes('README.md'));
|
||||||
@@ -158,6 +160,7 @@ describe('commitAndPush', () => {
|
|||||||
it('overwrites existing repo copies with workspace files', async () => {
|
it('overwrites existing repo copies with workspace files', async () => {
|
||||||
const repoDir = path.join(workspace, 'repo');
|
const repoDir = path.join(workspace, 'repo');
|
||||||
fs.writeFileSync(path.join(repoDir, '.github/skills/triage-findings/SKILL.md'), 'stale');
|
fs.writeFileSync(path.join(repoDir, '.github/skills/triage-findings/SKILL.md'), 'stale');
|
||||||
|
fs.writeFileSync(path.join(repoDir, 'ANTIGRAVITY.md'), 'stale');
|
||||||
fs.writeFileSync(path.join(repoDir, 'CLAUDE.md'), 'stale');
|
fs.writeFileSync(path.join(repoDir, 'CLAUDE.md'), 'stale');
|
||||||
fs.writeFileSync(path.join(repoDir, 'GEMINI.md'), 'stale');
|
fs.writeFileSync(path.join(repoDir, 'GEMINI.md'), 'stale');
|
||||||
fs.writeFileSync(path.join(repoDir, '.github/copilot-instructions.md'), 'stale');
|
fs.writeFileSync(path.join(repoDir, '.github/copilot-instructions.md'), 'stale');
|
||||||
@@ -165,6 +168,7 @@ describe('commitAndPush', () => {
|
|||||||
await commitAndPush(workspace, repoDir, makeSpawn(), sourceRoot);
|
await commitAndPush(workspace, repoDir, makeSpawn(), sourceRoot);
|
||||||
|
|
||||||
assert.equal(fs.readFileSync(path.join(repoDir, '.github/skills/triage-findings/SKILL.md'), 'utf8'), '.github/skills/triage-findings/SKILL.md');
|
assert.equal(fs.readFileSync(path.join(repoDir, '.github/skills/triage-findings/SKILL.md'), 'utf8'), '.github/skills/triage-findings/SKILL.md');
|
||||||
|
assert.equal(fs.readFileSync(path.join(repoDir, 'ANTIGRAVITY.md'), 'utf8'), 'ANTIGRAVITY.md');
|
||||||
assert.equal(fs.readFileSync(path.join(repoDir, 'CLAUDE.md'), 'utf8'), 'CLAUDE.md');
|
assert.equal(fs.readFileSync(path.join(repoDir, 'CLAUDE.md'), 'utf8'), 'CLAUDE.md');
|
||||||
assert.equal(fs.readFileSync(path.join(repoDir, 'GEMINI.md'), 'utf8'), 'GEMINI.md');
|
assert.equal(fs.readFileSync(path.join(repoDir, 'GEMINI.md'), 'utf8'), 'GEMINI.md');
|
||||||
assert.equal(fs.readFileSync(path.join(repoDir, '.github/copilot-instructions.md'), 'utf8'), '.github/copilot-instructions.md');
|
assert.equal(fs.readFileSync(path.join(repoDir, '.github/copilot-instructions.md'), 'utf8'), '.github/copilot-instructions.md');
|
||||||
|
|||||||
@@ -26,11 +26,13 @@ export async function getPRDiff() {
|
|||||||
const resp = await axios.get(api(`/repos/${GITEA_REPOSITORY}/pulls/${PR_NUMBER}.diff`), { headers: headers(), timeout: 60000, httpsAgent });
|
const resp = await axios.get(api(`/repos/${GITEA_REPOSITORY}/pulls/${PR_NUMBER}.diff`), { headers: headers(), timeout: 60000, httpsAgent });
|
||||||
return filterDiff(resp.data, [
|
return filterDiff(resp.data, [
|
||||||
'.amazonq/',
|
'.amazonq/',
|
||||||
|
'.antigravity/',
|
||||||
'.claude/',
|
'.claude/',
|
||||||
'.codex/',
|
'.codex/',
|
||||||
'.gemini/',
|
'.gemini/',
|
||||||
'.gitea/',
|
'.gitea/',
|
||||||
'.github/',
|
'.github/',
|
||||||
|
'ANTIGRAVITY.md',
|
||||||
'CLAUDE.md',
|
'CLAUDE.md',
|
||||||
'GEMINI.md',
|
'GEMINI.md',
|
||||||
'README.md',
|
'README.md',
|
||||||
|
|||||||
Reference in New Issue
Block a user