goanalyzer

command module
v0.0.0-...-9993f1c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

README

Go Analyzer License

Go Analyzer

A web application that generates a report on the quality of an open source Go project. It uses several measures, including gofmt, go vet, go lint and gocyclo. To get a report on your own project, try goanalyzer.khulnasoft.com.

Sponsors

Support us over on Patreon!

Installation
git clone https://github.com/khulnasoft-lab/goanalyzer.git
cd goanalyzer
make install

Now run:

GRC_DATABASE_PATH=./db make start

and you should see

Running on :8000...

Navigate to localhost:8000 and you should see the Go Analyzer front page.

Command Line Interface

There is also a CLI available for grading applications on your local machine.

Example usage:

git clone https://github.com/khulnasoft-lab/goanalyzer.git
cd goanalyzer
make install
go install ./cmd/goanalyzer-cli
goanalyzer-cli
Grade .......... A+  99.9%
Files ................ 362
Issues ................. 2
gofmt ............... 100%
go_vet ............... 99%
gocyclo .............. 99%
golint .............. 100%
ineffassign ......... 100%
license ............. 100%
misspell ............ 100%

Verbose output:

goanalyzer-cli -v
Grade .......... A+  99.9%
Files ................ 362
Issues ................. 2
gofmt ............... 100%
go_vet ............... 99%
go_vet  vendor/github.com/prometheus/client_golang/prometheus/desc.go:25
        error: cannot find package "github.com/prometheus/client_model/go" in any of: (vet)

gocyclo .............. 99%
gocyclo download/download.go:22
        warning: cyclomatic complexity 17 of function download() is high (> 15) (gocyclo)

golint .............. 100%
ineffassign ......... 100%
license ............. 100%
misspell ............ 100%
Contributing

Go Analyzer is an open source project run by volunteers, and contributions are welcome! Check out the Issues page to see if your idea has already been mentioned. Feel free to raise an issue or submit a pull request.

Academic Citation

If you use Go Analyzer for academic purposes, please use the following citation:

@Misc{schaaf-smith-goanalyzer,
    author = {Schaaf, Herman and Smith, Shawn},
    title  = {Go Analyzer: A report card for your Go application},
    year   = {2015--},
    url    = {https://www.goanalyzer.khulnasoft.com/},
    note   = {[Online; accessed <today>]}
}
License

The code is licensed under the permissive Apache v2.0 license. Read this for a summary.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
tools
db

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL