Skip to content

Commit

Permalink
Merge pull request #152 from CarlJi/feat/metric
Browse files Browse the repository at this point in the history
doc: enhance readme doc
  • Loading branch information
CarlJi authored Jun 11, 2024
2 parents 74f8d3f + f6649d2 commit ad0ccbb
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 43 deletions.
46 changes: 28 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,40 @@
[![Go Report Card](https://goreportcard.com/badge/github.com/qiniu/reviewbot)](https://goreportcard.com/report/github.com/qiniu/reviewbot)
[![GitHub release](https://img.shields.io/github/v/tag/qiniu/reviewbot.svg?label=release)](https://github.com/qiniu/reviewbot/releases)

## What is Reviewbot?
## Why Reviewbot?

`Reviewbot` helps build a powerful, comprehensive, and efficient code reviewer. It integrates various languages, static analysis tools, and best practices to continuously assist organizations in improving code quality with the implementation of a quality gate.
Ensuring code quality for a limited number of repositories and languages is not difficult. We just need to use various inspection tools and configure them for the relevant repositories. But what if we are dealing with an entire organization, with different languages, a variety of new and old repositories (300+), and many historical legacy issues? How can we handle that?

We thought it would be best to have a centralized static analysis service that can be applied to all repositories with minimal configuration and enable efficient implementation of every new engineering practice within the organization.

**Reviewbot** was created for such a scenario.

It has been inspired by many tools in the industry, but with some differences:

- Similar to [golangci-lint](https://github.com/golangci/golangci-lint), **Reviewbot** is an aggregator of linters, but it includes more languages and process specifications (go/java/shell/git-flow/doc-style, etc.), and even custom specifications.
- Inspired from [reviewdog](https://github.com/reviewdog/reviewdog), **Reviewbot** primarily provides feedback in the form of review comments, pinpointing the issues down to specific lines of code. It can serve as a quality gate and continuously help the organization improve code quality, offering an elegant solution.
- Recommend deploying **Reviewbot** as a GitHub App or a Webhook Server for private execution, ensuring compatibility with private code repositories.

If you are facing similar challenges, we welcome you to try **Reviewbot**!

`Reviewbot` seamlessly integrates with GitHub, providing precise feedback on code lines and limiting the feedback scope to the changed portions only. This allows developers to easily pinpoint specific issues.
## Components

* go linters
* [golangci-lint](/internal/linters/go/golangci_lint/)
* [staticcheck](/internal/linters/go/staticcheck/)
* [gofmt](/internal/linters/go/staticcheck/)
* c/c++ linters
* [cppcheck](/internal/linters/c/cppcheck/)
* lua linters
* [luacheck](/internal/linters/lua/luacheck/)
* git collaboration guidelines
* [commit msg check](/internal/linters/git-flow/commit-check/)
* doc guidelines
* [note check](/internal/linters/doc/note-check/)
- go linters
- [golangci-lint](/internal/linters/go/golangci_lint/)
- [staticcheck](/internal/linters/go/staticcheck/)
- [gofmt](/internal/linters/go/staticcheck/)
- c/c++ linters
- [cppcheck](/internal/linters/c/cppcheck/)
- lua linters
- [luacheck](/internal/linters/lua/luacheck/)
- git collaboration guidelines
- [commit msg check](/internal/linters/git-flow/commit-check/)
- doc guidelines
- [note check](/internal/linters/doc/note-check/)

## Quickstart

Please take a look at our [getting started guide](https://reviewbot-x.netlify.app
).
Please take a look at our [getting started guide](https://reviewbot-x.netlify.app).

## Contributing

Expand All @@ -39,4 +49,4 @@ If you find a bug while working with the Reviewbot, please open an issue on GitH

## License

Reviewbot is released under the Apache 2.0 license. See the [LICENSE](/LICENSE) file for details.
Reviewbot is released under the Apache 2.0 license. See the [LICENSE](/LICENSE) file for details.
45 changes: 27 additions & 18 deletions README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,40 @@
[![Go Report Card](https://goreportcard.com/badge/github.com/qiniu/reviewbot)](https://goreportcard.com/report/github.com/qiniu/reviewbot)
[![GitHub release](https://img.shields.io/github/v/tag/qiniu/reviewbot.svg?label=release)](https://github.com/qiniu/reviewbot/releases)

## What is Reviewbot?
## Why Reviewbot?

`Reviewbot` 帮助构建一个强大、综合、高效的code reviewer. 它通过集成各种语言、各种静态分析工具、各种最佳实践,并以质量门禁的方式,持续的帮助组织提升代码质量。
保障有限数量、有限语言的仓库代码质量是不难的,我们只需要利用各种检查工具给相关的仓库一一配置即可。但如果面临的是整个组织,各种语言,各种新旧仓库(300+),且有很多历史遗留问题,又该如何做呢?

`Reviewbot` 当前无缝集成GitHub, 会提供精确到代码行的检查反馈,且反馈范围仅限在变动的部分,能让开发者非常方便的定位到具体问题。
我们想,最好有一个中心化的静态检查服务,能在极少配置的情况下,就能应用到所有仓库,且能让每一项新增工程实践,都能在组织内高效落地。

**Reviewbot** 就是在这样的场景下诞生。

她受到了行业内很多工具的启发,但又有所不同:

- 类似 `golangci-lint`, **Reviewbot** 会是个 Linters 聚合器,但她包含更多的语言和流程规范(go/java/shell/git-flow/doc-style ...),甚至自定义规范
- 参考 [reviewdog](https://github.com/reviewdog/reviewdog), **Reviewbot** 主要也是以 Review Comments 形式来反馈问题,精确到代码行,可以作为质量门禁,持续的帮助组织提升代码质量,比较优雅
- 推荐以 GitHub APP 或者 Webhook Server 形式部署私有运行,对私有代码友好

如果你也面临着类似的问题,欢迎尝试**Reviewbot**!

## Components

* go linters
* [golangci-lint](/internal/linters/go/golangci_lint/)
* [staticcheck](/internal/linters/go/staticcheck/)
* [gofmt](/internal/linters/go/staticcheck/)
* c/c++ linters
* [cppcheck](/internal/linters/c/cppcheck/)
* lua linters
* [luacheck](/internal/linters/lua/luacheck/)
* git flow 规范
* [commit msg check](/internal/linters/git-flow/commit-check/)
* doc 规范
* [note check](/internal/linters/doc/note-check/)
- go linters
- [golangci-lint](/internal/linters/go/golangci_lint/)
- [staticcheck](/internal/linters/go/staticcheck/)
- [gofmt](/internal/linters/go/staticcheck/)
- c/c++ linters
- [cppcheck](/internal/linters/c/cppcheck/)
- lua linters
- [luacheck](/internal/linters/lua/luacheck/)
- git flow 规范
- [commit msg check](/internal/linters/git-flow/commit-check/)
- doc 规范
- [note check](/internal/linters/doc/note-check/)

## Quickstart

Please take a look at our [getting started guide](https://reviewbot-x.netlify.app
).
Please take a look at our [getting started guide](https://reviewbot-x.netlify.app).

## Contributing

Expand All @@ -40,4 +49,4 @@ If you find a bug while working with the Reviewbot, please open an issue on GitH

## License

Reviewbot is released under the Apache 2.0 license. See the [LICENSE](/LICENSE) file for details.
Reviewbot is released under the Apache 2.0 license. See the [LICENSE](/LICENSE) file for details.
15 changes: 8 additions & 7 deletions docs/website/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@ title: Why Reviewbot?
sidebar_position: 1
---

如何在企业内做好 **最佳工程实践** 的制定与推广,一直是值得研究和探讨的问题,七牛云也一直在路上。
保障有限数量、有限语言的仓库代码质量是不难的,我们只需要利用各种检查工具给相关的仓库一一配置即可。但如果面临的是整个组织,各种语言,各种新旧仓库(300+),且有很多历史遗留问题,又该如何做呢?

而 Reviewbot 是我们内部实践下来感觉比较有效的手段,特此开源出来,希望对大家有用
我们想,最好有一个中心化的静态检查服务,能在极少配置的情况下,就能应用到所有仓库,且能让每一项新增工程实践,都能在组织内高效落地

## 核心定位
**Reviewbot** 就是在这样的场景下诞生。

**Reviewbot** 帮助构建一个强大、综合、高效的code reviewer。它通过集成各种语言、各种静态分析工具、各种最佳实践,并以质量门禁的方式,持续的帮助组织提升代码质量。
她受到了行业内很多工具的启发,但又有所不同:

**Reviewbot** 能以Github APP方式部署,自动接受整个Org下的Pull Request事件,然后对代码进行各种检查,并提供精确到代码行的检查反馈,且反馈范围仅限在变动的部分,所以能让开发者非常方便的定位到具体问题。

**Reviewbot** 当前无缝集成GitHub, 后续也会考虑集成GitLab。
- 类似 [golangci-lint](https://github.com/golangci/golangci-lint), **Reviewbot** 会是个 Linters 聚合器,但她包含更多的语言和流程规范(go/java/shell/git-flow/doc-style ...),甚至自定义规范
- 参考 [reviewdog](https://github.com/reviewdog/reviewdog), **Reviewbot** 主要也是以 Review Comments 形式来反馈问题,精确到代码行,可以作为质量门禁,持续的帮助组织提升代码质量,比较优雅
- 推荐以 GitHub APP 或者 Webhook Server 形式部署私有运行,对私有代码友好

如果你也面临着类似的问题,欢迎尝试**Reviewbot**!

0 comments on commit ad0ccbb

Please sign in to comment.