Skip to content
/ coco Public
forked from inherd/coco

Coco 是一个研发效能分析工具,如开发速率(根据架构复杂度及行数变更)、团队演进、历史分析、根因分析等。生成可视化报告,及对应的改进建议。 an effective DevOps analysis and auto-suggest tool.

Notifications You must be signed in to change notification settings

Ashira97/coco

 
 

Repository files navigation

Coco

Coco Build

(aka coconut, juice), an automatic DevOps metrics analysis tool.

特性(features in Chinese):

  • 改进建议(英语)
  • 框架检测
  • 分支生命周期和可视化
  • 云原生成熟度分析
  • 团队健康值分析
  • 图形可视化
  • 多项目并行分析

features:

  • automatic suggestion (online).
  • framework detector
  • branch lifecycle and visual
  • cloud-native analysis
  • team health analysis
  • graph visual and reporter
  • multiple-repo parallel

Usage

  1. create coco.yml in projects.
  2. config coco.yml
  3. run coco

coco.yml

配置 (config in Chinese)

示例:

# 代码库
repo:
  - url: https://github.com/coco-rs/coco.fixtures
  - url: https://github.com/coco-rs/coco.fixtures2

# 提交信息格式
commit-message:
  # default: conventional commit: (?<type>build)(?<scope>(?:\([^()\r\n]*\)|\()?(?<breaking>!)?)(?<subject>:.*)?
  # jira: ^(feature|fix)\/(([a-z,A-Z]+))(-)(\d*)(:)([a-z,0–9])
  # jira test case: feature/JIR-124:test commit message
  regex: ^(feature|fix)\/(([a-z,A-Z]+))(-)(\d*)(:)([a-z,0–9])
  matches:
    - branch
    - tag
    - id
  samples: feature/JIR-124:test commit message

Config

Development

IDE: Clion

Setup

1.install Rust

follow https://www.rust-lang.org/tools/install

2.install justfile

follow: https://github.com/casey/just

3.Run tests

just tests

4.test Command

cargo run --bin coco

Setup for Windows Subsystem for Linux (Debian)

  1. install rust
apt-get install curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. install just
cargo install just
  1. install dependency package
sudo apt-get install gcc cmake g++ pkg-config libssl-dev 
sudo apt-get install libfreetype6-dev expat libxml2 libasound2-dev libexpat1-dev libxcb-composite0-dev
  1. Run tests
just tests

Setup for macOS with HomeBrew

  1. install rust
brew install rustup
rustup-init

重启shell,或者执行source $HOME/.cargo/env

  1. install just
brew install just

3.Run tests

just tests

Architecture

Architecture

third-party libs:

  • libgit2, git api
  • tokei, cloc api

Documents

Online video

Bilibili: 研发效能分析工具 Coco 第一次线上讨论

Roadmap

analysis and reporter

analysis

  • git analysis
    • branch
    • changes
    • commits
  • cloc analysis
    • summary
    • file arch
  • framework analysis
  • architecture analysis
    • file/directory organization

reporter

  • html reporter
  • json output
  • query api?

suggest and case study

Todo

  • git analysis
    • merge code from coca
  • git tag analysis
    • git branch analysis
      • branch history
    • git commit time analysis
      • storage all commits
        • light database?
      • working night count
  • cloc analysis
    • spike cloc tools Tokei
    • history cloc changes
    • commit cloc changes
  • framework detector.
  • module analysis
    • base framework for directory
      • gitignore support
    • code flower
  • team analysis
    • join time & life time
    • member growth
    • count system size & learning curve
  • commit analysis
    • rule regex support in config
    • participle(分词)
    • tags generate
  • suggestion API
    • suggest ledge
    • suggest phodal
    • online suggest
      • link daily checkx
  • graph support for velocity
    • code commits by daily
    • PR times by daily
  • tech stack generate
  • cloud native
    • dockerfile analysis
  • tools
    • tools config identify
    • tools suggest (identify old tools)
    • cloud-native config
  • case study
  • jenkins api analysis
  • story velocity
    • commit message analysis
    • story spend days

Visual and Reporter

Documents

Refs: Libgit2 Documents

License

Phodal's Idea

@ 2020~2021 A Phodal Huang's Idea. This code is distributed under the MIT license. See LICENSE in this directory.

About

Coco 是一个研发效能分析工具,如开发速率(根据架构复杂度及行数变更)、团队演进、历史分析、根因分析等。生成可视化报告,及对应的改进建议。 an effective DevOps analysis and auto-suggest tool.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 78.8%
  • JavaScript 18.9%
  • HTML 1.6%
  • Java 0.7%