Skip to content

Commit

Permalink
docs(project): add contribution.md
Browse files Browse the repository at this point in the history
  • Loading branch information
janryWang committed Feb 2, 2021
1 parent 6ca8947 commit a6748df
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 32 deletions.
31 changes: 1 addition & 30 deletions .umirc.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,35 +87,6 @@ export default {
title: '快速开始',
path: '/guide/quick-start',
},
{
title: '概念',
children: [
{
title: '表单领域模型',
},
{
title: '表单生命周期',
},
{
title: '表单路径系统',
},
{
title: '表单值管理',
},
{
title: '表单状态树',
},
{
title: '表单协议标准',
},
{
title: '三种研发模式',
},
{
title: '表单扩展机制',
},
],
},
{
title: '场景案例',
children: [
Expand Down Expand Up @@ -146,7 +117,7 @@ export default {
title: '实现异步数据源'
},
{
title: '实现值受控'
title: '实现值受控表单'
},
{
title: '实现联动逻辑'
Expand Down
104 changes: 104 additions & 0 deletions docs/guide/contribution.md
Original file line number Diff line number Diff line change
@@ -1 +1,105 @@
# 贡献指南

## 为什么要成为贡献者?

欢迎您来到我们的社区!**Formily** 是阿里巴巴唯一官方向外公布的开源表单框架,功能和质量都有一定保证,拥有众多的社区使用者,参与贡献可以使 **Formily** 变得强大,也会让更多开发者能够享受到更好的开发表单的体验,我们非常感谢任何对本项目发起 **Pull Request** 的同学。

## 我可以贡献什么?

- features 新增/修改功能特性
- unitest 新增/修改单测
- bugfix 修复现有 issue 的问题
- doc 文档改进
- other 其他

## 如何贡献?

#### 拉取仓库

- 原始仓库:https://github.com/alibaba/formily
- 目标仓库:fork 到自己的 github 上 ![img](https://img.alicdn.com/tfs/TB1NLrjxXY7gK0jSZKzXXaikpXa-2206-490.png)

#### 拉取分支

原始分支是 alibaba/formily master,拉取后的分支应该是 quirkyshop/formily master

> 注意:建议分支名为[feat]-[name][feat]是这个分支的类型,可选的有[feat][unitest][doc][bugfix][other][name]则是名字,自定义就好了。eg. unittest-core(意为:对核心补充单测)
#### 提交代码

代码风格遵循 2 空格,无分号,非说明请不要在代码中附带任何 console 相关的方法及 debugger。 开发完成后,到自己 fork 出来的仓库提交 pull request ![img](https://img.alicdn.com/tfs/TB1HSvqxkT2gK0jSZFkXXcIQFXa-2050-898.png)![img](https://img.alicdn.com/tfs/TB1O.6mxbr1gK0jSZR0XXbP8XXa-1696-254.png)

> 注意这里的左边目标仓库(base repository 是 alibaba/formily master) ,然后右边当前分支自己仓库的 doc-wiki
#### PR 规范

参考文档:https://github.com/alibaba/formily/blob/master/.github/GIT_COMMIT_SPECIFIC.md

- PR 名称:格式:`<type>(<scope>): <subject>` 举例:`feat(core): add unit test`
- PR 内容:列举本次改动的内容
- PR 要求:增加的 feat 内容,尽量做到注释清晰,相应的单测覆盖要尽可能覆盖
- BUGFIX 要求:如果修改的问题和 issues 相关,请在内容中附上相关的 issueID。

#### 审核与合并

审核阶段会进入多 review 的流程,`@janryWang` 负责审核这个改动是否合并,其他同学也会参与讨论,讨论的经过都会留存在 github 的 PR 里,钉钉群也会收到相应的通知。

当看到 Pull requests 列表中的状态变为 Closed 即为合并成功。 ![img](https://img.alicdn.com/tfs/TB1HUnjxXY7gK0jSZKzXXaikpXa-964-104.png)

#### 同步源仓库变更到 fork 后的仓库

```
# 首先在自己的分支增加一个 upstream,即原仓库
$ git remote add upstream https://github.com/alibaba/formily.git
# 获取原仓库最新的变更
$ git fetch upstream
# 同步原仓库的改动到本地分支
$ git pull upstream master [当前本地目标分支,不填默认就是当前分支]
```

#### 项目开发

```bash
$ cd formily
$ yarn install # 安装整体项目依赖
$ yarn build # 构建所有项目
$ yarn test # 执行单元测试
```

#### 开发文档

主项目文档

```bash
$ yarn start
```

内核项目文档

```bash
$ cd packages/core && yarn start
```

React 项目文档

```bash
$ cd packages/react && yarn start
```

Vue 项目文档

```bash
$ cd packages/vue && yarn start
```

Antd 项目文档

```bash
$ cd packages/antd && yarn start
```

Fusion 项目文档

```bash
$ cd packages/next && yarn start
```
8 changes: 6 additions & 2 deletions docs/guide/learn-ducuments.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,19 @@
- 贡献指南,了解最基本的贡献姿势
- 阅读文档,如果发现文档有缺陷,可以提 PR 修复
- 阅读单元测试,了解每个测试用例所对应的实现细节,如果发现有遗漏测试用例,可以提 PR
- 阅读源码,如果发现源码有 Bug,可以提 PR,注意修改源码,必须要带上单元测试
- 阅读源码,如果发现源码有 Bug,可以提 PR

<Alert type="error">
注意修改源码,必须要带上单元测试
</Alert>

### 关于提问

如果在开发的过程中遇到问题,推荐使用文档上方的搜索功能快速搜索文档内容,快速解决,如果搜索不到的,推荐到 [论坛](https://github.com/alibaba/formily/discussions) 中提问,这里方便记录,如果遇到非常紧急的问题,可以在钉钉群里 @白玄 帮忙解决。**非常不推荐文档都不看,就直接问各种基础问题,这样很低效**

### 关于 Bug

如果在开发过程中发现不符合预期的行为,并能够以最小案例复现的,可以给 Formily 提[Issue](https://github.com/alibaba/formily/issues) ,非常不推荐将问题记录在 issue 里,会打乱 Issue 的信息流,同时一定注意,提 Issue 的时候要带上最小可复现的链接地址,方便开发者快速定位问题,快速修复,而不是在一堆代码里找 Bug。
如果在开发过程中发现不符合预期的行为,并能够以最小案例复现的,可以给 Formily 提[Issue](https://github.com/alibaba/formily/issues) ,非常不推荐将问题记录在 issue 里,会打乱 Issue 的信息流,同时一定注意,**提 Issue 的时候要带上最小可复现的链接地址**,方便开发者快速定位问题,快速修复,而不是在一堆代码里找 Bug。

### 关于 Feature Request

Expand Down

0 comments on commit a6748df

Please sign in to comment.