Skip to content

Commit 4f66590

Browse files
CodeCasterXAntigravity
andauthored
feat: add Antigravity agent configuration (#383)
Add .agent directory containing workflows and configuration for Antigravity agent. This includes workflows for PR creation, updates, commits, dependency upgrades, reviews, and permission fixes. 🤖 Generated with Antigravity Co-authored-by: Antigravity <noreply@google.com>
1 parent 53f8c41 commit 4f66590

File tree

7 files changed

+219
-0
lines changed

7 files changed

+219
-0
lines changed

.agent/README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# FIT Framework - Agent 配置
2+
3+
本目录包含 AI Agent 的配置文件和工作流,旨在帮助 Agent 更高效地参与 FIT Framework 项目的开发。
4+
5+
## 📁 目录结构
6+
7+
```
8+
.agent/
9+
├── README.md # 本文件
10+
└── workflows/ # Agent 工作流 (对应 Slash Commands)
11+
├── pr.md # 创建 Pull Request
12+
├── pr-update.md # 更新 Pull Request 描述
13+
├── commit.md # 提交变更
14+
├── upgrade-dep.md # 升级依赖
15+
├── review.md # 审查 Pull Request
16+
└── fix-permissions.md # 修复文件权限
17+
```
18+
19+
## 🤖 工作流 (Workflows)
20+
21+
当您要求 Agent 执行特定任务时,它会触发这些工作流。这些工作流确保了操作的一致性,并严格遵守项目规则。
22+
23+
### 创建 Pull Request (`pr.md`)
24+
按照项目模板和规范创建一个新的 Pull Request。
25+
- **触发方式**: "创建 PR", "提交这个变更"
26+
- **执行动作**: 检查状态, 推送分支, 读取模板, 创建 PR。
27+
28+
### 更新 PR (`pr-update.md`)
29+
更新现有 Pull Request 的描述信息。
30+
- **触发方式**: "更新 PR 描述", "修复 PR 格式"
31+
- **执行动作**: 读取模板, 更新 PR 内容。
32+
33+
### 提交变更 (`commit.md`)
34+
将变更提交到本地仓库。
35+
- **触发方式**: "提交这些变更"
36+
- **执行动作**: 检查状态, 添加文件, 使用签名提交。
37+
38+
### 升级依赖 (`upgrade-dep.md`)
39+
自动化依赖升级流程。
40+
- **触发方式**: "升级 [包名][版本]"
41+
- **执行动作**: 创建分支, 更新文件, 验证构建, 提交, 创建 PR。
42+
43+
### 审查 PR (`review.md`)
44+
审查 Pull Request 的质量和合规性。
45+
- **触发方式**: "审查 PR #123"
46+
- **执行动作**: 分析 diff, 检查模板合规性, 生成报告。
47+
48+
### 修复权限 (`fix-permissions.md`)
49+
修复文件所有权问题。
50+
- **触发方式**: "修复权限", "修复文件所有者"
51+
- **执行动作**: 识别 root 拥有的文件, 将所有者修改为与 README.md 一致。
52+
53+
## 📋 项目规则
54+
55+
Agent 会隐式遵守 `.claude/project-rules.md` 中定义的规则,特别是:
56+
1. **文件权限**: 创建或修改文件后,必须修复权限。
57+
2. **PR 模板**: 必须严格遵循 `.github/PULL_REQUEST_TEMPLATE.md`

.agent/workflows/commit.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
description: 使用标准消息格式提交变更到 git
3+
---
4+
5+
1. 检查仓库当前状态。
6+
- `run_command("git status")`
7+
- `run_command("git diff --stat")`
8+
9+
2. 识别未追踪的文件。
10+
- 如果有未追踪的文件(排除 `.agent/``.claude/` 如果它们被忽略),询问用户是否应该添加它们。
11+
12+
3. 将文件添加到暂存区。
13+
- `run_command("git add <files>")`
14+
15+
4. 提交变更。
16+
- 根据变更生成清晰、简洁的提交消息。
17+
- 确保消息遵循 conventional commits 规范(例如:`feat:`, `fix:`, `docs:`)。
18+
- 添加 Co-Authored-By 签名。
19+
- 运行命令:
20+
```bash
21+
git commit -m "$(cat <<'EOF'
22+
<COMMIT_MESSAGE>
23+
24+
🤖 Generated with Antigravity
25+
26+
Co-Authored-By: Antigravity <noreply@google.com>
27+
EOF
28+
)"
29+
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
description: 检查并修复项目中的文件权限
3+
---
4+
5+
1. 确定正确的所有者/组。
6+
- 检查 `README.md` 的所有者作为参考。
7+
- `run_command("ls -l README.md")`
8+
- 提取用户和组。
9+
10+
2. 识别权限不正确的文件。
11+
- 查找由 `root` 拥有的文件。
12+
- `run_command("find . -user root")`
13+
14+
3. 修复权限。
15+
- 如果发现 root 拥有的文件,将其所有权更改为参考用户/组。
16+
- `run_command("sudo chown -R <user>:<group> <path-to-root-owned-files>")`
17+
- **注意**: 如果在项目外部运行,请小心不要更改系统文件。确保路径在项目内。
18+
19+
4. 验证修复结果。
20+
- 再次运行 find 命令,确保不再有 root 拥有的文件。

.agent/workflows/pr-update.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
description: 更新现有的 Pull Request 描述以符合项目标准
3+
---
4+
5+
1. 从输入中解析 PR 编号。
6+
- 示例输入:"Update PR #123", "Fix description for 123"
7+
8+
2. 读取 PR 模板。
9+
- `Read(".github/PULL_REQUEST_TEMPLATE.md")`
10+
11+
3. 查看当前 PR 信息。
12+
- `run_command("gh pr view <pr-number>")`
13+
14+
4. 更新 PR 描述。
15+
- 重新编写描述以完全符合 `.github/PULL_REQUEST_TEMPLATE.md`
16+
- 保留原始描述中有价值的信息。
17+
- 添加签名:`🤖 Generated with Antigravity`
18+
- 运行命令:
19+
```bash
20+
gh pr edit <pr-number> --body "$(cat <<'EOF'
21+
<FULL_PR_BODY>
22+
EOF
23+
)"
24+
```

.agent/workflows/pr.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
description: 按照项目标准创建 Pull Request
3+
---
4+
5+
1. 解析输入中的目标分支。
6+
- 如果提供了分支名称(例如 "to main", "for 3.5.x"),则使用该分支。
7+
- 如果未指定分支,默认使用 `3.6.x`
8+
9+
2. 读取 PR 模板以了解所需格式。
10+
- `Read(".github/PULL_REQUEST_TEMPLATE.md")`
11+
12+
3. 查看最近合并的 PR 以了解项目风格。
13+
- `run_command("gh pr list --limit 3 --state merged --json number,title,body")`
14+
15+
4. 分析当前分支的状态和变更。
16+
- `run_command("git status")`
17+
- `run_command("git log <target-branch>..HEAD --oneline")`
18+
- `run_command("git diff <target-branch>...HEAD --stat")`
19+
20+
5. 检查当前分支是否需要推送。
21+
- `run_command("git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>&1 || echo 'No upstream branch'")`
22+
- 如果没有上游分支或领先于远程分支,则推送:`run_command("git push -u origin <current-branch>")`
23+
24+
6. 创建 Pull Request。
25+
- 严格按照 `.github/PULL_REQUEST_TEMPLATE.md` 构建 PR 内容。
26+
- 确保所有复选框都已正确填写。
27+
- 添加签名:`🤖 Generated with Antigravity`
28+
- 运行命令:
29+
```bash
30+
gh pr create --base <target-branch> --title "<title>" --body "$(cat <<'EOF'
31+
<FULL_PR_BODY>
32+
EOF
33+
)"
34+
```

.agent/workflows/review.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
description: 审查 Pull Request 的质量和合规性
3+
---
4+
5+
1. 解析 PR 编号。
6+
- 示例输入:"Review PR #123"
7+
8+
2. 收集 PR 信息。
9+
- `run_command("gh pr view <pr-number>")`
10+
- `run_command("gh pr diff <pr-number>")`
11+
- `run_command("gh pr checks <pr-number>")`
12+
13+
3. 分析 PR。
14+
- **合规性**: PR 描述是否符合 `.github/PULL_REQUEST_TEMPLATE.md`?所有复选框是否已填写?
15+
- **质量**: 是否有明显的 bug、安全问题或代码风格违规?
16+
- **测试**: 是否包含测试?检查是否通过?
17+
18+
4. 生成审查报告。
19+
- 创建发现问题的摘要。
20+
- 列出具体问题或建议。
21+
- 给出结论性建议(批准、请求更改、评论)。

.agent/workflows/upgrade-dep.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
description: 升级依赖并创建 Pull Request
3+
---
4+
5+
1. 解析输入参数。
6+
- 包名 (例如 `swagger-ui`)
7+
- 原版本 (例如 `5.30.0`)
8+
- 新版本 (例如 `5.30.2`)
9+
10+
2. 创建新的功能分支。
11+
- `run_command("git checkout -b fit-enhancement-<package>-<to-version>")`
12+
13+
3. 更新依赖文件。
14+
- 搜索旧版本字符串:`grep_search(query="<from-version>", path=".")`
15+
- 使用 `replace_file_content` 更新 `pom.xml`, `package.json` 或其他相关文件。
16+
17+
4. 验证变更。
18+
- `run_command("git diff")`
19+
- `run_command("mvn clean package -Dmaven.test.skip=true")` (或适当的构建命令)
20+
21+
5. 提交变更。
22+
- `run_command("git add .")`
23+
- 提交消息:
24+
```
25+
Upgrade <package> from v<from-version> to v<to-version>
26+
27+
🤖 Generated with Antigravity
28+
29+
Co-Authored-By: Antigravity <noreply@google.com>
30+
```
31+
32+
6. 推送并创建 Pull Request。
33+
- `run_command("git push -u origin HEAD")`
34+
- 触发 `pr` 工作流(或按照 `pr.md` 中的逻辑手动运行 `gh pr create`)。

0 commit comments

Comments
 (0)