Skip to content

Conversation

@mattpodwysocki
Copy link
Contributor

@mattpodwysocki mattpodwysocki commented Feb 11, 2026

Summary

Adds automated link checking to the CI workflow and sets up git hooks to run all CI checks locally before pushing.

Changes

Link Checking

  • Added lychee-action to GitHub Actions workflow
  • Created .lycheeignore file to exclude:
    • Localhost URLs
    • Example/placeholder URLs
    • Placeholder tokens (YOUR_TOKEN, etc.)
    • Rate-limited sites (LinkedIn, Twitter)
  • Configured retries and timeouts for reliability

Pre-Push Git Hooks

  • Added .githooks/pre-push hook that runs all CI checks locally:
    • Prettier formatting validation
    • cspell spell checking
    • markdownlint markdown linting
    • Skills structure validation
  • Created scripts/setup-hooks.sh to install hooks automatically
  • Updated package.json with setup and postinstall scripts
  • Documented setup in CONTRIBUTING.md with usage instructions

Why

Link Checking:
Broken documentation links create poor developer experience. This CI check:

  • ✅ Catches broken links before merge
  • ✅ Validates external documentation references
  • ✅ Ensures examples link to valid resources
  • ✅ Prevents link rot over time

Pre-Push Hooks:
Running CI checks locally prevents common CI failures and provides faster feedback:

  • ✅ Catches formatting, spelling, and linting issues before push
  • ✅ Reduces CI failures and wasted time
  • ✅ Provides immediate feedback to developers
  • ✅ Runs the exact same checks as CI

Installation

After cloning or pulling this branch, run:

npm install

The postinstall script will automatically set up the git hooks. You can also run manually:

npm run setup

Usage

Automatic (recommended):
The pre-push hook runs automatically before every push.

Manual checks:

npm run check          # Run all checks
npm run format:check   # Check formatting
npm run spellcheck     # Check spelling
npm run lint:markdown  # Lint markdown
npm run validate:skills # Validate skills

Bypass (not recommended):

git push --no-verify

Testing

The link checker and other CI checks will run automatically on this PR.

🤖 Generated with Claude Code

Adds automated link checking using lychee-action to validate all
documentation links in markdown files.

Features:
- Checks all *.md files for broken links
- Excludes localhost, example URLs, and placeholder tokens
- Retries failed requests up to 3 times
- Uses GitHub token for API rate limiting
- Configured via .lycheeignore for maintainability

This helps prevent broken documentation links and ensures all
external references remain valid.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@mattpodwysocki mattpodwysocki requested a review from a team as a code owner February 11, 2026 15:18
Set up automatic git hooks that run all CI validation checks before pushing code. This prevents common CI failures by catching issues early in the development workflow.

Changes:
- Add .githooks/pre-push that runs format, spell, lint, and validation checks
- Add scripts/setup-hooks.sh to install hooks into .git/hooks/
- Update package.json with setup and postinstall scripts for automatic installation
- Document git hooks setup in CONTRIBUTING.md with usage instructions

The pre-push hook runs the same checks as CI:
- Prettier formatting validation
- cspell spell checking
- markdownlint markdown linting
- Skills structure validation

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant