--- name: project description: 通用项目概念规范——项目定义、通用生命周期、与迭代/功能/任务/仓库/部署环境的关系。agent 处理项目时据此操作。产线可用同名 skill 覆盖默认状态机。触发:创建/启动/完成/归档项目,或提到项目、工程、软件项目。 capability: project_capability tools: [create_project, start_project, complete_project, archive_project, reopen_project, list_projects, set_project_state] --- # 项目(通用概念) ## 一、概念定义 项目 = 一个软件开发工作的**顶层容器**,聚合该软件的全部迭代、功能、任务、仓库、部署环境。 项目是租户/组织下的最小交付单元,一切其他概念都挂在 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 生成的端点。 ## 五、分层覆盖 本 skill 是**通用**项目概念规范;SDLC 产线可用同名 project skill 覆盖(在 pipelines/{id}/common/)定义具体状态机与角色权限。加载优先级(低→高):global → org → pipeline(common) → role → project → user。