- Notifications
You must be signed in to change notification settings - Fork50
An effective DevOps analysis and auto-suggest tool。Coco 是一个研发效能分析工具,如团队发展现状(根据架构复杂度及行数变更)、团队演进、历史分析等。生成可视化报告及对应的改进建议。
License
inherd/coco
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
(aka coconut, juice), an automatic DevOps metrics analysis tool.
case studies:Coco cases
Online Demos:
OS: macOS, Windows, GNU/Linux
- install or download Coco components from release, and download ctags:windows
- use
coco initto generate config file - config
coco.yml - optional: use
coco pluginsto download plugins - run Coco
coco, gather data from sourcevisual, visualization of datasuggest, generate suggestion
- download plugins (optional)
- coco_container,container analysis
- coco_pipeline,pipeline analysis
- coco_struct,model analysis by ctags
- coco_swagger,Swagger API Analysis
visual URL:
Offline usage:
- download
coco,visuale``xec file - download
coco_plugins_xxxxwith platform - extract
coco_plugins_xxxxtopluginsdir
coco 0.5.3USAGE: coco [OPTIONS] [SUBCOMMAND]FLAGS: -h, --help Prints help information -V, --version Prints version informationOPTIONS: -b, --branches <branches> With all branches [default: true] --commits <commits> With all commits [default: true] -c, --config-file <config-file> Config file .yml [default: coco.yml] -d, --debug <debug> Debug mode [default: false] -f, --file-history <file-history> Scan file change list from git & cloc [default: false] -y, --git-years <git-years> Set git commits scan years, default 1, [default: 1.0] -t, --tags <tags> With all tags [default: true]SUBCOMMANDS: help Prints this message or the help of the given subcommand(s) init Create default coco.yml files plugins Download plugins from GitHubsample:
coco --file-history=true --git-years=3示例:
# 代码库repos: -url:https://github.com/coco-rs/coco.fixtures -url:https://github.com/coco-rs/coco.fixtures2 -url:.languages:[Rust] -url:https://github.com/datum-lang/scie -url:https://github.com/projectfluent/fluent-rslanguages:[Rust, JavaScript]# set languages for struct analysisplugins: -name:swagger -name:structconfig: -key:ctags# set location for macOS ctags pathvalue:/usr/local/bin/ctagsgit:local:true# true will use `git clone`, false will use libgit2
See inDEVELOPMENT.md
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?
- AST Parser:
include_parser/mod.rs - Web Server:
light_server.rs - CLI:
visual.rs,coco.rs,suggest.rs
- git analysis
- merge code fromcoca
- local repo support
- project calendar viewhttps://observablehq.com/@d3/calendar-view
- change
- line change
- changed file
- commit number
- git branch analysis
- branch history
- branch visual. such ashttps://app.gfc.io/github/nvie/gitflow
- ahead vs behindhttps://github.com/BenoitZugmeyer/git-branches-overview
- git commit time analysis
- storage all commits
- working night count
- cloc analysis
- spike cloc toolsTokei
- history cloc changes
- commit cloc changes
- framework analysis.
- framework detector
- merge fromscie-detector
- framework output
- tech stack generate
- cloud native
- module analysis
- base framework for directory
- gitignore support
- code flower
- include analysis
- code parser:pest
- languages support.
- base framework for directory
- team analysis
- join time & life time
- 以加入时间开始度量平均提交:上手成本分析
- 平均加入时长
- 成员加入时间点
- member growth
- count system size & learning curve
- join time & life time
- commit analysis
- commit times analysis (hours)
- rule regex support in config
- participle(分词)
- tags generate
- suggestion API
- document manage system
- suggest to ledge
- suggest to cases
- suggest to coco.server?
- online suggest ?
- link daily checking
- architecture design rules
- architecture
- tech stack version check (more than 3 years ?)
- Maven Center
- NPM Server
- Go Server
- tech stack version check (more than 3 years ?)
toolstools config identifytools suggest (identify old tools)cloud-native config
- case study
- homepage:https://github.com/inherd/cases
- auto clone and auto deploy
- todo scan
- merge fromcoca
- multiple platform support
- macOS
- GNU/Linux
- Windows
- fix tests
- make it works
- C4 Model
- PUML for call chain
- symbol design - IsA, Use-In-The-Interface, Uses-In-The-Implementation
- PUML for call chain
- plugin
- struct analysis
- ctags
- visual
- uml
- swagger
- Jenkinsfile
Dockerfile
- struct analysis
Visual and Reporter
- visual api
- static files server
- http server:actix_web
- static server:Rust Embed
- export assets
- cli prompt for projects
- query JSON API
- CLI JSON API
- static files server
- visual web
- spike d3.js code organization
- typescript with frontend framework
- use Deno ?
- architecture
- first demo
- code flower 1,D3.js code flower
- circle
- git
- branch history
- 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
- advanced code flower,Polyglot Code Explorer
- source code:https://github.com/kornysietsma/polyglot-code-explorer/tree/master/src
- Weighted Voronoi diagram
- Age since last change
- Creation date
- Unique changers
- Temporal Coupling
- reporter
- framework
- cloc
- git
- architecture
DevOps pipeline
- Jenkinsfile of Coco's examples
Tech Debt Integration
- Git 2
- Code check with:https://github.com/kornysietsma/polyglot-code-scanner
- Integration Sonarqube ?
Refs:Libgit2 Documents
Download Coco to your Mac fromrelease
Move it(Coco) to your preferred directory,such as:
mkdir~/.cocomv~/Downloads/coco_macos~/.coco/
Set up an alias to make it easier to use,such as:
export'alias coco="~/.coco/coco_macos"'>>~/.zshrc
Try to use execute it by aliascoco:
coco -h
If it show no permission,you can execute the following command:
chmod -R u=rwx,g=rw,o=r~/.coco/coco_macosThen retry:
coco -h
Good luck!
ctags analysis based onhttps://github.com/dalance/ptags with MIT, see insrc
ctags parser rewrite from Golang'shttps://github.com/ruben2020/tags2uml with Apache License.
@ 2020~2021 This code is distributed under the MIT license. SeeLICENSE in this directory.
About
An effective DevOps analysis and auto-suggest tool。Coco 是一个研发效能分析工具,如团队发展现状(根据架构复杂度及行数变更)、团队演进、历史分析等。生成可视化报告及对应的改进建议。
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Contributors9
Uh oh!
There was an error while loading.Please reload this page.