### CONTRIBUTING # 代码贡献规范 如果您有任何疑问,欢迎提交[issue](https://github.com/didi/LogicFlow/issues) 或 [PR](https://github.com/didi/LogicFlow/pulls)! ## 提交 issues - 确定 issue 的类型 - 避免提交重复的 issue,在提交之前搜索现有的 issue - 在标签、标题或内容中描述明确的意图 LogicFlow 维护同学会确认 issue 意图,更新合适的标签,关联 milestone,指派开发者。 ## 提交代码 ### 发起 Pull Request 如果您有意向参与贡献代码,您可以 fork 本仓库,修改代码后提交 PR,我们 LogicFlow 开发团队会 review 代码并合并到主干。 ```shell # 先创建开发分支开发,分支名应该有含义,避免使用 update、tmp 之类的 $ git checkout -b branch-name # 监听 packages 源码变更,热更新 es/lib 产物 $ pnpm run dev # 或 $ pnpm start # 首次或 clean 后,先一次性构建(es + lib,demo 开发所需) $ pnpm run build # 再另开终端,进入 example 启动 demo $ cd examples/feature-examples && pnpm dev # 开发完成后跑下测试是否通过,必要时需要新增或修改测试用例 pnpm run test # 测试通过后,提交代码,message 见下面的规范 $ git add . # git add -u 删除文件 $ git commit -m "fix(role): role.use must xxx" $ git push origin branch-name ``` 提交后就可以在 [LogicFlow](https://github.com/didi/LogicFlow/pulls) 发起 PR 了 (*❦ω❦) 由于谁也无法保证过了多久之后还记得多少,为了后期回溯历史的方便,请在提交 PR 时确保提供了以下信息 1. 需求点(一般关联 issue 或者注释都算) 2. 升级原因(不同于 issue,可以简要描述下为什么要处理) 3. 框架测试点(可以关联到测试文件,不用详细描述,关键点即可) 4. 关注点(针对用户而言,可以没有,一般是不兼容更新等,需要额外提示) ### 代码风格 你的代码风格必须通过 eslint,你可以运行 `$ pnpm run lint:ts` 本地测试 ### Commit 提交规范 根据 [angular 规范](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format)提交 commit,这样 history 看起来更加清晰,还可以自动生成 changelog ``` ():