/coco

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

Primary LanguageRustMIT LicenseMIT

Coco

Coco Build

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

Online Reporter Demo: https://inherd.github.io/coco/web/

Case Studies: Coco cases

特性(features in Chinese):

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

features:

  • automatic suggestion (online).
  • framework detector and analysis
  • 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

Documents

Development

See in DEVELOPMENT.md

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

Tech

  • AST Parser: include_parser/mod.rs
  • Web Server: light_server.rs
  • CLI: visual.rs, coco.rs, suggest.rs

Todo

  • git analysis
  • cloc analysis
    • spike cloc tools Tokei
    • history cloc changes
    • commit cloc changes
  • framework analysis.
    • framework detector
    • merge from scie-detector
    • framework output
    • tech stack generate
    • cloud native
      • dockerfile analysis
  • module analysis
    • base framework for directory
      • gitignore support
    • code flower
    • include analysis
      • code parser: pest
      • languages support.
  • team analysis
    • join time & life time
    • member growth
    • count system size & learning curve
    • micro services size
  • commit analysis
    • rule regex support in config
    • participle(分词)
    • tags generate
  • suggestion API
    • suggest to ledge
    • suggest to coco.server ?
    • online suggest
      • link daily checking
  • tools
    • tools config identify
    • tools suggest (identify old tools)
    • cloud-native config
  • third-party integration
    • jenkins api analysis
    • test coverage integration
  • case study
  • todo scan
  • multiple platform support
    • macOS
    • GNU/Linux
    • Windows
      • fix tests
      • make it works
  • C4 Model
    • graphviz call chain

Visual and Reporter

  • visual api
    • static files server
    • export assets
    • cli prompt for projects
    • query JSON API
    • CLI JSON API
  • visual web
    • spike d3.js code organization
    • typescript with frontend framework
      • use deno ?
    • architecture
    • git
      • branch history demo
    • commits in years/month
      • examples: gilot average committer in month
    • changes in years/month
    • graph support for velocity
      • code commits by daily
      • PR times by daily
    • story velocity
      • commit message analysis
      • story spend days
  • reporter
    • framework
    • cloc
    • git
    • architecture

DevOps pipeline

  • Jenkinsfile of Coco's examples

Tech Debt Integration

Documents

Refs: Libgit2 Documents

Thanks

PyCharm

License

@ 2020~2021 This code is distributed under the MIT license. See LICENSE in this directory.