docs(agents): 修正规则与技能文档的索引缺漏、错误引用与表述冲突

- AGENTS.md 工作流索引:补充 ulthon-update-workflow 与 ulthon-rules-manager,移除不存在的 ulthon-tools-log
- ulthon-naming-convention.md:删除对 ulthon-source-directory.md 的错误引用,明确框架应用目录与控制器子目录命名规范
- ulthon-database-design.md / ulthon-scheme-definition:统一关联表 onlyFileds 键名说明,修正示例字段拼写
- ulthon-scheme-curd-workflow.md:CURD 表名参数表述与参数表对齐
- ulthon-permission-cli.md:章节改写为节点分配原则,去除变更痕迹叙事
- README.md:文档主页 URL 与 AGENTS.md 对齐
This commit is contained in:
augushong
2026-07-19 00:44:41 +08:00
parent 46f0d62852
commit 1f91abe9d2
7 changed files with 24 additions and 17 deletions

View File

@@ -61,13 +61,13 @@
| `table` | 关联表名 | 必填 |
| `primaryKey` | 关联表主键 | 非必填 |
| `modelFilename` | 模型文件 | 非必填,不建议指定,可自动生成 |
| `onlyFileds` | 列表页显示字段 | 可指定,用竖线分割 |
| `onlyFileds` | 列表页显示字段 | 可指定,用竖线分割。**键名是 `onlyFileds`(而非 `onlyFields`),需与 `CurdBase.php` 解析逻辑一致** |
| `relationBindSelect` | 表单下拉关联字段 | 必填 |
完整写法示例:
```
标签 {relation} (table:tag,relationBindSelect:title,primaryKey:id,onlyFileds:title|titme_image|username|phone)
标签 {relation} (table:tag,relationBindSelect:title,primaryKey:id,onlyFileds:title|time_image|username|phone)
```
## 其他细节

View File

@@ -2,12 +2,16 @@
## 目录命名
- 一个单词的目录用小写,例如 `service/`
- 多个单词的目录用大驼峰,例如 `AdminService/``UserService/`
- 一个单词的目录用小写,例如 `service/``controller/`
- 多个单词的目录用大驼峰,例如独立的子项目目录 `AdminService/``UserService/`
- 此处的"多单词目录"指 **独立子项目目录**(如 `source/` 下各端工程、各子项目目录),**不**指框架标准应用目录
- 框架标准应用目录(`app/admin/``app/common/` 等)按 ThinkPHP 惯例统一使用小写
- **控制器子目录**:推荐使用全小写命名,例如 `app/admin/controller/system/``app/admin/controller/mall/`
- 即使目录名用了大驼峰URL 也会自动转换,但默认全小写可避免歧义
- URL 访问规则详见 [ulthon-controller-url.md](./ulthon-controller-url.md)
## PHP 文件命名
- `app/common` 目录下已有单独的规范说明(见 `ulthon-source-directory.md`
- 其他各应用目录下:
- **service 模块**需要写后缀,例如 `AdminService`,而不是 `admin`
- **除了 service 模块**,其他文件不需要写后缀,不论是 controller、model、traits、config、middleware 等
- **service 模块**:文件名需要写 `Service` 后缀,例如 `AdminService.php`(类名 `AdminService`),而不是 `Admin.php`
- **其他模块**controller、model、traits、config、middleware 等):不需要写后缀,直接使用业务名(如 `User.php``Order.php`
- **Scheme 类**文件名采用大驼峰PascalCase且必须与类名一致详见 [ulthon-scheme-definition](../skills/ulthon-scheme-definition/SKILL.md)

View File

@@ -90,12 +90,12 @@ php think admin:permission:user --user-id=1
3. 如果用户通过角色获得权限,执行 `admin:role:permission:list --role-id=<roleId>` 核对角色是否包含该节点。
4. 检查后台配置中是否存在免鉴权规则(例如 no_login/no_auth 的控制器/节点白名单)。
## 变更说明(重要)
## 节点分配原则
- 旧命令 `admin:permission:assign` / `admin:permission:revoke` 已移除。
- “按用户直接增删节点”的需求,应通过“角色”承接:
- 只影响单个用户:创建专用角色 → 给该角色分配节点 → 将角色分配给该用户
- 影响一批用户:维护共享角色 → 给该角色增删节点 → 所有拥有该角色的用户一起生效
权限节点的增删统一通过"角色"承接,不直接对单个用户操作:
- 只影响单个用户:创建专用角色 → 给该角色分配节点 → 将角色分配给该用户
- 影响一批用户:维护共享角色 → 给该角色增删节点 → 所有拥有该角色的用户一起生效
## 常见坑位

View File

@@ -15,7 +15,7 @@ description: "指导使用 Scheme 与 CURD 的标准开发流程。需要新增/
- CURD 生成前Scheme 与数据库表结构必须完全一致,否则会被拒绝。
- 业务 Scheme 代码统一放在 `app/admin/scheme/`
- 表结构设计遵循项目数据库规范:表名小写下划线、字段注释完整、避免 ENUM。
- CURD 命令中的 `{table}` 参数应为**不含前缀的下划线**格式(例如:数据库表 `ul_user_profile` 对应参数 `user_profile`)。
- CURD 命令中的 `{table}` 参数**推荐使用不含前缀的下划线**格式(例如:数据库表 `ul_user_profile` 对应参数 `user_profile`,与 `scheme:make` 输出保持一致;带前缀的表名也支持,但生成的代码中可能出现前缀,需手动核对
- CURD 生成的页面脚本(`index.js` / `add.js` / `edit.js` / `read.js` / `_common.js`)默认与视图文件放在同一目录:`app/admin/view/<模块路径>/`,不提供“输出到其他 JS 目录”的配置项。
- 一旦你开始在生成代码上做业务改造,就应默认“正式目录不可被覆盖”,后续结构变更需要走“临时生成 + 按需合并”。

View File

@@ -93,7 +93,7 @@ class YourClassName extends BaseScheme
- `table`: 关联表名。
- `relationBindSelect`: 显示的字段名。
- `primaryKey`: 关联表主键(可选)。
- `onlyFields`: 列表页显示的字段(可选,用 `|` 分隔)。
- `onlyFileds`: 列表页显示的字段(可选,用 `|` 分隔)。**注意:键名是 `onlyFileds`(而非 `onlyFields`),需与 `extend/base/common/command/CurdBase.php` 解析逻辑保持一致;写错键名会导致列表字段配置静默失效。**
- `table`: 表格选择器。`options` 需包含:
- `table`: 关联表名。
- `type`: 选择模式 (`checkbox`/`radio`)。

View File

@@ -117,13 +117,16 @@ Skills 是"按场景调用的工作流说明",统一以 `.agents/skills/*/SKIL
- Scheme 定义指南:[ulthon-scheme-definition](./.agents/skills/ulthon-scheme-definition/SKILL.md)
- 数据库调试命令tools:db[ulthon-db-tools-debug](./.agents/skills/ulthon-db-tools-debug/SKILL.md)
- HTTP 调用工具tools:http:call[ulthon-tools-http-call](./.agents/skills/ulthon-tools-http-call/SKILL.md)
- 日志命令tools:log[ulthon-tools-log](./.agents/skills/ulthon-tools-log/SKILL.md)
- 内置定时器与定时任务扩展:[ulthon-timer](./.agents/skills/ulthon-timer/SKILL.md)
- 页面 / 接口同体:[ulthon-page-api-dual-mode](./.agents/skills/ulthon-page-api-dual-mode/SKILL.md)
- 登录认证Session + Token[ulthon-auth-session-token](./.agents/skills/ulthon-auth-session-token/SKILL.md)
- 权限与角色管理RBAC CLI[ulthon-permission-cli](./.agents/skills/ulthon-permission-cli/SKILL.md)
- 菜单管理admin:menu:\* CLI[ulthon-admin-menu-cli](./.agents/skills/ulthon-admin-menu-cli/SKILL.md)
- 测试工作流(运行/编写/决策/回归保护):[ulthon-testing](./.agents/skills/ulthon-testing/SKILL.md)
- 框架更新工作流admin:update 同步上游):[ulthon-update-workflow](./.agents/skills/ulthon-update-workflow/SKILL.md)
- 零散规则管理(新增/维护 `.agents/rules/`[ulthon-rules-manager](./.agents/skills/ulthon-rules-manager/SKILL.md)
> 日志查看走通用命令 `php think tools:log:show`,详见 [快速命令参考](#快速命令参考)。
## 智能体指导

View File

@@ -103,7 +103,7 @@ php think admin:update
* 官方网站:[http://admin.demo.ulthon.com](http://admin.demo.ulthon.com)
* 文档地址:[http://doc.ulthon.com/home/read/ulthon_admin/home.html](http://doc.ulthon.com/home/read/ulthon_admin/home.html)
* 文档地址:[https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html](https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html)
* 演示地址:[http://admin.demo.ulthon.com/admin](http://admin.demo.ulthon.com/admin)账号admin密码123456。备注只有查看信息的权限