Files
proxy/scripts/check-docs.sh
T
2026-08-30 11:35:52 +08:00

39 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set -eu
repo=$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)
require_text() {
file=$1
shift
test -s "$file"
for text
do
grep -Fq "$text" "$file" || {
echo "$file is missing required documentation: $text" >&2
exit 1
}
done
}
require_text "$repo/README.md" \
'## Install' 'go install ./cmd/proxyctl' '## Quick start' \
'## Shell integration' 'proxyctl doctor' 'proxyctl reset' \
'no telemetry' 'docs/user-guide.md' 'docs/security.md' 'docs/development.md'
require_text "$repo/docs/user-guide.md" \
'## Profiles' 'Protocol Probe' '## Target states' 'Enabled' 'Disabled' \
'External' 'Drifted' 'Shell' 'APT' 'Docker daemon' \
'Docker containers/builds' 'GNOME' 'NO_COLOR'
require_text "$repo/docs/security.md" \
'proxyctl never starts `sudo`' 'Configuration recovery' \
'no automatic update checks' 'does **not** manage or supervise proxy processes' \
'Support is limited'
require_text "$repo/docs/development.md" \
'go test ./...' 'go vet ./...' 'test-hermetic.sh' \
'test-release.sh' 'verify-clean-machine.sh' 'SHA256SUMS'
printf 'documentation contract passed\n'