- AGENTS.md: 新增 §20 工具脚本复用 / §21 分析结论复用 / §22 Flaky 门禁,更新文档配置表
- .pi/: 新增 settings.json、rules/guardrails.md、prompts/{debug,review,ship}-gym-manage.md
- .agents/: 新增 Hook 配置与 4 个 Hook 脚本(session-start/pre-agent-check/check-completeness/stop-check)
及 protocols/systematic-debugging.md(check-completeness 含接口链缺口检测)
- scripts/flaky-scan.sh: vitest shuffle 稳定性扫描(gym-manage-web)
- .gitignore: 追踪 AGENTS.md 与 .pi 配置,忽略运行时缓存(todos/taskflows-runs/tokenomy/sessions)
44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
# Gym Manage Pi Agent Guardrails
|
||
|
||
AGENTS.md 通用规则的 Pi Agent 专项补充,由 pi-agent-suite/project-rules 扩展加载。
|
||
|
||
## 文件操作边界
|
||
- 禁止修改或删除 `.pi/`、`.agents/` 目录下任何配置文件和脚本,除非用户明确要求
|
||
- 禁止修改 `gym-manage-api/**/application*.yml` / `application*.properties` 中的数据库口令等敏感配置,除非用户明确要求
|
||
- 数据库 `manage_system`(PostgreSQL:55432)结构变更(DDL)前,须先确认影响范围并同步更新文档
|
||
- 禁止修改或删除 `dogfood-output/`、`test-results/`、`playwright-report/` 等测试产出目录内容(只读)
|
||
|
||
## 依赖管理
|
||
- 禁止在未获用户明确批准的情况下添加/升级/删除任何 Maven 依赖(`gym-manage-api/pom.xml` 及各模块 `pom.xml`)或 npm/pnpm 依赖
|
||
- `pom.xml`、`package.json`、`pnpm-lock.yaml`、`package-lock.json` 的修改须经用户确认
|
||
|
||
## 构建安全
|
||
- 禁止运行 `mvn clean` / `rm -rf target/` / `rm -rf node_modules/` 等清理构建缓存的命令,除非用户明确要求
|
||
- 构建失败时,先诊断根因,禁止"试试看"式的反复修改
|
||
|
||
## 环境变量
|
||
- 禁止修改、覆盖、或取消设置 HOME 环境变量
|
||
- `.env*` 文件为只读,禁止修改
|
||
|
||
## Git 操作
|
||
- 禁止运行 `git push`、`git reset --hard`、`git clean -fd`、`git branch -D` 等破坏性命令
|
||
- `git commit` 须经用户确认
|
||
|
||
## 测试命令退出码保留
|
||
- 测试命令必须是整条 bash 命令的**最后一个命令**,禁止在后面追加任何后处理(`grep`、`head`、`wc -l`、`echo`、`tee` 等,无论是否有用)
|
||
- 唯一例外是以下模式,且必须严格按模板书写:
|
||
```bash
|
||
test_cmd > /tmp/output.txt 2>&1; EXIT=$?
|
||
# 后处理(只读,不修改 EXIT)
|
||
wc -l /tmp/output.txt
|
||
grep ... /tmp/output.txt | head -30
|
||
exit $EXIT
|
||
```
|
||
- 管道场景使用 `set -o pipefail` 确保任一命令失败时整体退出码非零
|
||
- 重定向顺序必须是 `> file 2>&1`,不能是 `2>&1 > file`
|
||
|
||
## 端口与服务
|
||
- Gateway: 8080(路由 `/api/**` → 8084);App: 8084(Swagger: `http://localhost:8084/swagger-ui.html`);Web Dev: 3002;PostgreSQL: 55432;Redis: 6379
|
||
- 数据库直连查询用 `psql -U novalon -d manage_system -p 55432`
|
||
- 启动/停止本地环境优先使用 `scripts/start-all.sh` / `scripts/stop-test-env.sh`,不手工起停容器
|