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.
The preferred method is installation via Homebrew.
brew install salsadigitalauorg/shipshape/shipshapecurl -L -o shipshape https://github.com/salsadigitalauorg/shipshape/releases/latest/download/shipshape-$(uname -s)-$(uname -m)
chmod +x shipshape
mv shipshape /usr/local/bin/shipshapeRun directly from a docker image:
docker run --rm ghcr.io/salsadigitalauorg/shipshape:latest shipshape --versionOr add to your docker image:
COPY --from=ghcr.io/salsadigitalauorg/shipshape:latest /usr/local/bin/shipshape /usr/local/bin/shipshapeCheck out our documentation at https://salsadigitalauorg.github.io/shipshape/.
git clone git@github.com:salsadigitalauorg/shipshape.git && cd shipshape
go generate ./...
go build -ldflags="-s -w" -o build/shipshape .
go run . -hgo generate ./...
go test -v ./... -coverprofile=build/coverage.outView coverage results:
go tool cover -html=build/coverage.outcd docs
npm install
npm run dev