# AGENTS.md — trae-workspace-tool

## 项目边界
- Python CLI 工具：把 Trae IDE 企业内网工作区资产注入目标项目。
- P0 只内置 `internal-basic` profile 和 `ops` pack，但代码结构必须支持后续多角色 pack。
- 代码入口在 `src/trae_workspace_tool/`，测试在 `tests/`。
- 本项目不负责真实运维执行；生成的维护脚本必须默认 dry-run / 只读。

## 运行 / 测试命令
```bash
uv run pytest -q
uv run ty check src tests
uv run ruff check src tests
uv run trae-workspace-tool init --target /tmp/demo-project
uv run trae-workspace-tool doctor --target /tmp/demo-project
uv run trae-workspace-tool list-profiles
uv run trae-workspace-tool list-packs
```

## 编码规则
- Python 版本：`requires-python = ">=3.13"`，允许使用 3.13+ 语法。
- 运行时零三方依赖：`requirements.txt` 故意为空，不得引入非标准库运行时依赖。
- 新 profile / pack 资产必须通过 registry 注册，doctor 不能漏检。
- 新模板函数放在 `templates.py` 底部并返回 `str`。
- 生成的 Rules 文件必须含 `alwaysApply: true`；Skills 文件必须含 `name:` frontmatter。

## 安全红线
- 生成的维护脚本默认 dry-run，禁止默认删除、移动、重启或修改配置。
- 禁止生成硬编码密钥、Token、Webhook、生产路径或真实主机信息。
- 禁止读取或外发内部代码、日志、客户数据、业务数据、密钥和连接配置。
- 涉及生产变更、数据修改、服务重启、权限变更或破坏性动作，必须要求人工确认。
- 禁止新增运行时三方依赖，除非用户先批准。
- 禁止让 `doctor` 漏检新增 profile / pack 资产；新增资产必须补测试。

## 完成标准
- 新功能或行为变更必须有 pytest 覆盖，优先使用 `tmp_path`，不依赖真实文件系统。
- 运行 `uv run pytest -q`、`uv run ty check src tests`、`uv run ruff check src tests` 并报告结果。
- 涉及模板输出时，运行 init/doctor 冒烟命令并检查生成文件。
- 报告改动文件、验证命令、遗留风险。
