(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
- branch lifecycle and visual
- cloud-native analysis
- team health analysis
- graph visual and reporter
- multiple-repo parallel
- create
coco.yml
in projects. - config
coco.yml
- run
coco
示例:
# 代码库
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
IDE: Clion (Recommended) / IntelliJ + IntelliJ Rust plugin
Rust: Verison >= 1.49.0
If you already have older version installed ,please update Rust version by:
rustup update
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
- install rust
apt-get install curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- install just
cargo install just
- 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
- Run tests
just tests
- install rust
brew install rustup
rustup-init
restart shell,or execute source $HOME/.cargo/env
- install just
brew install just
3.Run tests
just tests
third-party libs:
- libgit2, git api
- tokei, cloc api
we need you coding in TDD. You can use this repo to learn TDD : rust-fizzbuzz
Bilibili: 研发效能分析工具 Coco 第一次线上讨论
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?
- git analysis
- merge code from coca
- local repo support
- git tag analysis
- git branch analysis
- branch history
- git commit time analysis
- storage all commits
- light database?
- light RESTful API?
- working night count
- storage all commits
- git branch analysis
- cloc analysis
- spike cloc tools Tokei
- history cloc changes
- commit cloc changes
- 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
- base framework for directory
- 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 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
- merge from coca
Visual and Reporter
- visual
- spike d3.js code organization
- typescript with frontend framework
- use deno ?
- static files server
- architecture
- first demo
- code flower, examples: Polyglot Code Explorer, D3.js code flower
- git
- branch history demo
- commits in years/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
- Integration Sonarqube ?
Refs: Libgit2 Documents
@ 2020~2021 A Phodal Huang's Idea. This code is distributed under the MIT license. See LICENSE
in this directory.