Quick Start#
Install#
Download binary (no Go required):
Download the latest binary for your platform from GitHub Releases.
# macOS (Intel)
tar -xzf gomarklint_Darwin_x86_64.tar.gz
# Linux (x86_64)
tar -xzf gomarklint_Linux_x86_64.tar.gz
sudo mv gomarklint /usr/local/bin/
# or install to user-local directory (no sudo required)
mkdir -p ~/.local/bin && mv gomarklint ~/.local/bin/# Windows (PowerShell)
Expand-Archive -Path gomarklint_Windows_x86_64.zip -DestinationPath "$env:LOCALAPPDATA\Programs\gomarklint"
# Add to PATH (run once)
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";$env:LOCALAPPDATA\Programs\gomarklint", "User")Via go install:
go install github.com/shinagawa-web/gomarklint@latestBuild from source:
git clone https://github.com/shinagawa-web/gomarklint
cd gomarklint
make build # or: go build -o gomarklint .1) Initialize config (optional but recommended)#
gomarklint initThis creates .gomarklint.json with sensible defaults:
{
"minHeadingLevel": 2,
"enableLinkCheck": false,
"linkCheckTimeoutSeconds": 5,
"skipLinkPatterns": [],
"include": ["README.md", "testdata"],
"ignore": [],
"output": "text",
"enableDuplicateHeadingCheck": true,
"enableHeadingLevelCheck": true,
"enableNoMultipleBlankLinesCheck": true,
"enableNoSetextHeadingsCheck": true,
"enableFinalBlankLineCheck": true
}You can edit it anytime — CLI flags override config values.
2) Run it#
# lint current directory recursively
gomarklint .
# lint specific targets
gomarklint docs README.md internal/ruleExit code is non-zero if any violations are found, zero otherwise.
3) JSON output (for CI / tooling)#
gomarklint . --output json