Skip to content

Repository files navigation

ShipShape

GitHub go.mod Go version Go Report Card Coverage Status Release

Config versions

Shipshape has two configuration formats, and the same binary runs both.

  • 1.x — recommended. The composable pipeline (collect / analyse / output) is the format to use going forward. It's used in production and is where new capabilities land.
  • 0.x — fully supported. The legacy checks: format continues to run without changes. There is no forced migration — migrate when it suits you.

1.x takes a compose-don't-port approach: instead of one dedicated check per task, you wire a small set of general-purpose plugins together to get the same outcome.

Closing the gaps: a few 0.x checks don't have a documented 1.x recipe yet. We're actively closing that gap. See the gaps matrix for what's covered today and the roadmap for what's coming. Full comparison: Config versions.

Installation

MacOS

The preferred method is installation via Homebrew.

brew install salsadigitalauorg/shipshape/shipshape

Linux

curl -L -o shipshape https://github.com/salsadigitalauorg/shipshape/releases/latest/download/shipshape-$(uname -s)-$(uname -m)
chmod +x shipshape
mv shipshape /usr/local/bin/shipshape

Docker

Run directly from a docker image:

docker run --rm ghcr.io/salsadigitalauorg/shipshape:latest shipshape --version

Or add to your docker image:

COPY --from=ghcr.io/salsadigitalauorg/shipshape:latest /usr/local/bin/shipshape /usr/local/bin/shipshape

Documentation

Check out our documentation at https://salsadigitalauorg.github.io/shipshape/.

Local development

Build

git clone git@github.com:salsadigitalauorg/shipshape.git && cd shipshape
go generate ./...
go build -ldflags="-s -w" -o build/shipshape .
go run . -h

Run tests

go generate ./...
go test -v ./... -coverprofile=build/coverage.out

View coverage results:

go tool cover -html=build/coverage.out

Documentation

cd docs
npm install
npm run dev

About

Go cli that reads yaml-based policies and runs them against a directory

Resources

Stars

5 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages