# 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`,不手工起停容器