Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 💬 讨论区
url: https://github.com/FlagOS-AI/community/discussions
about: 一般性讨论和问题请到讨论区
124 changes: 124 additions & 0 deletions .github/ISSUE_TEMPLATE/fep.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: "📋 FEP (FlagOS Enhancement Proposal)"
description: 提出一个 FlagOS Feature 增强提案
title: "[FEP][模块名] Feature 简述"
labels: ["FEP"]

body:
- type: markdown
attributes:
value: |
## FlagOS Enhancement Proposal

请参考 [FEP 流程文档](../../docs/fep-process.md) 和 [已有 FEP](https://github.com/FlagOS-AI/community/issues?q=label%3AFEP+sort%3Aupdated-desc) 了解规范。

- type: input
id: owner
attributes:
label: Owner
description: 该 Feature 的负责人(GitHub 用户名)
placeholder: "@xxx"
validations:
required: true

- type: dropdown
id: module
attributes:
label: 模块
description: 该 Feature 所属模块(跨模块请选"跨模块")
options:
- FlagGems
- FlagTree
- FlagCX
- FlagScale
- FlagRelease
- KernelGen
- FlagPerf
- FlagAttention
- FlagOS-Robo
- FlagOS Skills
- 跨模块
validations:
required: true

- type: dropdown
id: priority
attributes:
label: 优先级
description: |
P0 Must Have — 版本核心卖点,做不完则延期
P1 Should Have — 重要但非核心,做不完降级到下版本
P2 Nice to Have — 锦上添花,Freeze 时优先砍掉
options:
- P0 Must Have
- P1 Should Have
- P2 Nice to Have
validations:
required: true

- type: input
id: target-version
attributes:
label: 目标版本
description: 该 Feature 计划发布的 FlagOS 版本
placeholder: "FlagOS 2.1"
validations:
required: true

- type: textarea
id: description
attributes:
label: 描述
description: 做什么 + 为什么做
placeholder: |
### 做什么
简要描述 Feature 的内容。

### 为什么做
说明动机和背景。
validations:
required: true

- type: textarea
id: acceptance-criteria
attributes:
label: 验收标准
description: Feature 完成的判定条件(请使用 checklist 格式)
placeholder: |
- [ ] 标准 1
- [ ] 标准 2
- [ ] 标准 3
validations:
required: true

- type: textarea
id: related-prs
attributes:
label: 关联 PR
description: 实现该 Feature 需要的 PR 列表(可后续补充)
placeholder: |
- [ ] flagos-ai/FlagGems#xxx — 说明
- [ ] flagos-ai/FlagTree#xxx — 说明
validations:
required: false

- type: textarea
id: test-plan
attributes:
label: 测试计划
description: 描述如何验证该 Feature
placeholder: |
- 功能验证:...
- 性能验证:...
- 芯片兼容性验证:...
validations:
required: true

- type: textarea
id: cross-module-deps
attributes:
label: 跨模块依赖(如有)
description: 列出依赖的其他模块/Feature,以及阻塞关系
placeholder: |
依赖 FlagTree 的 xxx 功能先合入
validations:
required: false
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ Help improve FlagOS by contributing code, bug fixes, and new features. See our [
### 📖 Documentation
Improve and expand documentation, examples, tutorials, and translations. Your improvements help make FlagOS accessible to more developers.

### 📋 FEP (FlagOS Enhancement Proposal)
Propose and track cross-module features through our FEP process:
- **[FEP Process](docs/fep-process.md)** - How to write and manage a FEP
- **[Create a FEP](https://github.com/FlagOS-AI/community/issues/new?template=fep.yml)** - Submit a new Feature proposal
- **[View all FEPs](https://github.com/FlagOS-AI/community/issues?q=label%3AFEP+sort%3Aupdated-desc)** - Browse existing proposals

### 🐛 Bug Reports & Features
Report issues you encounter or suggest new features:
- **Bug Reports**: Help us fix problems by providing detailed reproduction steps
Expand Down Expand Up @@ -96,6 +102,7 @@ By participating in this community, you agree to uphold these standards and help
## Community Resources

- 📚 **[Contributing Guide](CONTRIBUTING.md)** - Detailed guidelines for contributing
- 📋 **[FEP Process](docs/fep-process.md)** - Feature Enhancement Proposal workflow
- 🔗 **[FlagOS Wiki](https://flagos-wiki.baai.ac.cn/)** - Complete documentation and resources
- 📝 **[Project Roadmap](https://github.com/flagos-ai)** - See what we're building
- 🔗 **[Organization GitHub](https://github.com/flagos-ai)** - All FlagOS repositories
Expand Down
7 changes: 7 additions & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ FlagOS 项目包含多个专业化的代码仓库:
### 📖 文档贡献
改进和完善文档、示例、教程和翻译。您的贡献有助于让更多开发者了解 FlagOS。

### 📋 FEP(FlagOS Enhancement Proposal)
通过 FEP 流程提出和跟踪跨模块 Feature:
- **[FEP 流程文档](docs/fep-process.md)** - 如何编写和管理 FEP
- **[创建 FEP](https://github.com/FlagOS-AI/community/issues/new?template=fep.yml)** - 提交新的 Feature 提案
- **[查看所有 FEP](https://github.com/FlagOS-AI/community/issues?q=label%3AFEP+sort%3Aupdated-desc)** - 浏览已有提案

### 🐛 Bug 报告和功能建议
报告您发现的问题或提出改进建议:
- **Bug 报告** - 通过详细的复现步骤帮助我们修复问题
Expand Down Expand Up @@ -97,6 +103,7 @@ FlagOS 项目包含多个专业化的代码仓库:
## 社区资源

- 📚 **[贡献指南](CONTRIBUTING_CN.md)** - 详细的贡献指南
- 📋 **[FEP 流程](docs/fep-process.md)** - Feature 增强提案工作流
- 🔗 **[FlagOS Wiki](https://flagos-wiki.baai.ac.cn/)** - 完整的文档和资源
- 📝 **[项目路线图](https://github.com/flagos-ai)** - 了解我们的规划
- 🔗 **[组织 GitHub](https://github.com/flagos-ai)** - 所有 FlagOS 代码仓
Expand Down
107 changes: 107 additions & 0 deletions docs/fep-process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# FEP — FlagOS Enhancement Proposal 流程

## 什么是 FEP

FEP(FlagOS Enhancement Proposal)是 FlagOS 的 Feature 管理机制。每个需要跟踪的 Feature 对应一个 FEP Issue,用于描述做什么、为什么做、怎么验收,并关联所有实现 PR。

**工具链**:GitHub Issue + Milestone(`FlagOS-AI/community` 仓库)

- **Milestone** = 版本的 Feature 篮子(如 `FlagOS 2.1`),圈定本版本的 Feature 范围
- **FEP Issue** = Feature 的载体,每个 Feature 一个 Issue,关联所有 PR

## 什么时候需要写 FEP

| 场景 | 需要 FEP? |
|------|-----------|
| 跨 2 个以上仓库的 Feature | **必须** |
| 新增芯片支持 | **必须** |
| 新增模块/仓库 | **必须** |
| 模块级别的重要功能/新特性 | **推荐** |
| 单仓库内的小 Feature / Bugfix | 不需要,在对应仓库 Issue 跟踪 |
| 文档改进 | 不需要 |

## FEP 模板

在 [community 仓库创建 Issue](https://github.com/FlagOS-AI/community/issues/new/choose),选择 **FEP** 模板,按表单填写:

```
标题:[FEP][模块名] Feature 简述
Owner:@xxx
模块:FlagGems / FlagTree / FlagCX / ...
优先级:P0 / P1 / P2
目标版本:FlagOS 2.1

描述:做什么 + 为什么做
验收标准:checklist
关联 PR:checklist
测试计划:如何验证
跨模块依赖:(如有)
```

## Feature 优先级

| 级别 | 含义 | Freeze 时处理 |
|------|------|--------------|
| **P0 Must Have** | 版本核心卖点 | 必须保留,做不完则延期版本 |
| **P1 Should Have** | 重要但非核心 | 尽力完成,做不完降级到下版本 |
| **P2 Nice to Have** | 锦上添花 | Freeze 时优先砍掉 |

## FEP 生命周期

```
Open → In Progress → Done / Deferred
```

| 状态 | 含义 | 操作 |
|------|------|------|
| **Open** | 已提出,等待排期或 Review | 新建 FEP 后的初始状态 |
| **In Progress** | 开发进行中 | Owner 开始实现,关联 PR |
| **Done** | 验收标准全部满足 | 关闭 Issue |
| **Deferred** | 延期到后续版本 | 移至下一个 Milestone,标注原因 |

## 大 Feature 管理

### 跨模块 Feature

一个 FEP Issue 做**总控台**:
- Issue 描述中列出各模块的工作拆分和负责人
- 所有 PR 用 checklist 按模块跟踪进度
- 跨模块依赖在"跨模块依赖"字段中明确标注

### 跨版本 Feature

对于需要多个版本完成的大 Feature:
- 按 Phase 拆分,每个 Phase 一个 FEP Issue
- 标题标注 Phase:`[FEP][FlagCX] EP 通信优化 Phase 1`
- 各 Phase 的 FEP 分别关联到对应版本的 Milestone

## 协作分工

| 角色 | 职责 |
|------|------|
| **模块 Owner** | 写 FEP、更新状态、关联 PR、确保验收标准达成 |
| **测试团队** | 协助补充测试计划、编写测试用例、执行验证 |
| **Release Manager** | 追踪全局 Milestone 进度、催进度、Go/No-Go 决策 |

## Milestone 使用规范

- 每个 FlagOS 版本对应一个 Milestone(如 `FlagOS 2.1`)
- Milestone 设置 deadline(目标发布日期)
- 所有计划纳入该版本的 FEP 都关联到对应 Milestone
- Release Manager 通过 Milestone 视图追踪整体进度

## Label 规范

| Label | 用途 |
|-------|------|
| `FEP` | 标识 FEP Issue(模板自动添加) |
| `P0` / `P1` / `P2` | 优先级 |
| `module/FlagGems` | 模块标识 |
| `module/FlagTree` | 模块标识 |
| `module/FlagCX` | 模块标识 |
| `module/FlagScale` | 模块标识 |
| `module/FlagRelease` | 模块标识 |
| `module/KernelGen` | 模块标识 |
| `module/FlagPerf` | 模块标识 |
| `module/FlagAttention` | 模块标识 |
| `module/cross-cutting` | 跨模块 Feature |