README ¶ go-rules Go rules linter How to use: Full installation example: https://github.com/peakle/dc-rules-example Install rules: go get -v github.com/peakle/go-rules Create rules.go file in your project like in example Add linter to your pipeline: Like another one check in golangci-lint (will work for golangci-lint >v1.46.0): linters: enable: - gocritic linters-settings: gocritic: enabled-checks: - ruleguard settings: ruleguard: rules: "YourDir/rules.go" Like explicit check WITHOUT golangci-lint: install binary by curl or go install: curl -sSfL https://raw.githubusercontent.com/peakle/go-rules/master/releaser/install.sh | sh -s -- -d -b $(go env GOPATH)/bin latest OR go install -v github.com/peakle/go-rules/cmd/goRules@latest Run lint: goRules ./... Like file watcher in Goland IDE (will work for golangci-lint >v1.46.0): add golangci-lint as File Watcher in IDE (Preferences -> Tools -> File Watchers -> Add) set Arguments field where .golangci.yml file will be like example above: run $FileDir$ --config=$ProjectFileDir$/.golangci.yml How to update to new rules version: update rules version in your go.mod file download new rules version: go get github.com/peakle/go-rules@newVersion if you using golangci-lint update cache: golangci-lint cache clean How to add new checks: Ruleguard tour for newbees: https://go-ruleguard.github.io/by-example Fork repo && open PR :D Expand ▾ Collapse ▴ Documentation ¶ Index ¶ Variables Constants ¶ This section is empty. Variables ¶ View Source var Bundle = dsl.Bundle{} Functions ¶ This section is empty. Types ¶ This section is empty. Source Files ¶ View all Source files rules.go Directories ¶ Show internal Expand all Path Synopsis cmd goRules example pkg module precompile rulesdata releaser Click to show internal directories. Click to hide internal directories.