3.5 KiB
3.5 KiB
| name | description | capability | tools | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| project | 通用项目概念规范——项目定义、通用生命周期、与迭代/功能/任务/仓库/部署环境的关系。agent 处理项目时据此操作。产线可用同名 skill 覆盖默认状态机。触发:创建/启动/完成/归档项目,或提到项目、工程、软件项目。 | project_capability |
|
项目(通用概念)
一、概念定义
项目 = 一个软件开发工作的顶层容器,聚合该软件的全部迭代、功能、任务、仓库、部署环境。 项目是租户/组织下的最小交付单元,一切其他概念都挂在 project 下。
二、通用生命周期(状态)
| 状态 | 语义 |
|---|---|
| draft | 草稿(已创建,未启动) |
| active | 进行中 |
| completed | 已完成 |
| archived | 已归档 |
通用流转:draft → active → completed → archived。归档后可重新激活(archived → active)。
三、与其他概念的关系
项目 project
├── 迭代 iteration(1:N,一次增量交付周期)
│ ├── 功能 feature
│ ├── 测试计划 test-plan
│ └── Bug bug
├── 功能 feature(1:N,可追踪的软件能力单元)
├── 任务 task(1:N,工作单元执行实例)
├── 仓库 repository(1:N,代码仓库)
└── 部署环境 deploy-env(1:N,运行宿主)
- 功能、任务、Bug 都挂 project_id(或经 iteration 间接挂)。
- 项目可关联产线定义(pipeline_id),决定该项目的开发流程/角色/工具集。
四、配套能力(工具)
已固化的 project 能力(project_capability):
create_project / start_project / complete_project / archive_project / reopen_project / list_projects / set_project_state(CAS 兜底)。
状态迁移走能力模块(CAS 原子 + 租户隔离 + 审计);CRUD 走 xls2ui 生成的端点。
会话 agent 的项目管理(终止/删除)——2026-08-31
会话 agent(cockpit)内建项目管理工具:project_info / list_my_projects /
pause_project(终止/暂停推进)/ resume_project(恢复)/ delete_project(删除,含归档备份)。
安全铁律(代码层强制,不靠 prompt 自觉):
- 终止(暂停)/恢复/删除指令只接受该项目的人类 owner(sd_projects.created_by == 当前登录用户)。 校验在工具实现里做(check_project_owner),agent 无法绕过;校验失败会返回「权限不足」。
- 收到「暂停/停止/终止/删除 项目」指令时:直接调对应工具即可,系统会校验身份; 不要先替用户做权限判断(校验是代码的事),把工具的返回如实转述给用户。
delete_project不可撤销:直接带 confirm=true 调用,平台确认门会自动弹窗向用户 最终确认——你不需要、也不应该在调用前反复向用户复述「请确认删除」, 那是确认死循环(用户答了确认你又问一遍,永远执行不了)。- 「我的项目」只列当前用户创建的项目;不要尝试列出/操作他人项目。
五、分层覆盖
本 skill 是通用项目概念规范;SDLC 产线可用同名 project skill 覆盖(在 pipelines/{id}/common/)定义具体状态机与角色权限。加载优先级(低→高):global → org → pipeline(common) → role → project → user。