2025-09-11 15:59:53 +00:00
2025-09-11 15:59:53 +00:00
2025-09-11 15:59:53 +00:00

Validate external links across your repository. Ships as a self-contained GitHub Action (Docker) and a CLI.

Quick start (GitHub Action)

Add a workflow:

name: Slinky
on:
  pull_request:
    branches: [ main ]
jobs:
  slinky:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - name: Run Slinky
        uses: LukeHagar/slinky@v1

Inputs

  • path: Root path to scan. Default: .
  • patterns: Comma-separated doublestar patterns (e.g. docs/**/*.md,**/*.go). Default: **/*
  • concurrency: Max concurrent requests. Default: 16
  • timeout: HTTP timeout seconds. Default: 10
  • json-out: Optional JSON results path. Default: results.json
  • md-out: Optional Markdown report path. Default: results.md
  • repo-blob-base: Override GitHub blob base URL (https://github.com/<owner>/<repo>/blob/<sha>). Auto-detected in Actions.
  • fail-on-failures: Fail job on any broken links. Default: true
  • comment-pr: Post Markdown as a PR comment when applicable. Default: true
  • step-summary: Append report to the job summary. Default: true

When running on PRs, Slinky auto-links files using the PR head commit. You can override with repo-blob-base.

CLI

Install (from source):

go build -o slinky ./

Usage:

# Headless: provide one or more targets (files, dirs, or globs)
slinky check **/*
slinky check ./docs/**/* ./markdown/**/*

# TUI mode: same targets
slinky run **/*

Notes:

  • Targets can be files, directories, or doublestar globs. Multiple targets are allowed.
  • If no targets are provided, the default is **/* relative to the current working directory.
  • Legacy flags --glob and --patterns are still supported, but positional targets are preferred.

Notes

  • Respects .gitignore.
  • Skips likely binary files and files > 2 MiB.
  • Uses a browser-like User-Agent to reduce false negatives.
Description
No description provided
Readme 6 MiB
Languages
Go 95.2%
Shell 3.1%
Makefile 1.2%
Dockerfile 0.5%