Skip to main content
Thank you for considering contributing to Linkspector! We welcome contributions from the community to help improve and grow this tool. This guide will help you understand how to contribute effectively.

Getting Started

Before you start contributing, please make sure you have:
  • Familiarized yourself with the project’s goals and objectives
  • Read and understood the project’s Apache 2.0 License
  • Set up a GitHub account if you don’t already have one
  • Reviewed our Code of Conduct

Code of Conduct

We are committed to providing a friendly, safe and welcoming environment for all contributors. Please review and adhere to our Code of Conduct to ensure a respectful and inclusive environment.
All contributors must follow our Code of Conduct. Violations will not be tolerated.

Our Standards

  • Be kind and courteous. There’s no need to be mean or rude
  • Respect that people have differences of opinion and that every design or implementation choice carries a trade-off
  • Avoid using overtly sexual aliases or nicknames that might detract from a welcoming environment
  • Keep unstructured critique to a minimum. If you have solid ideas, make a fork and experiment
  • Private harassment is also unacceptable. If you feel harassed, please contact the maintainers immediately
  • No spamming, trolling, flaming, baiting or other attention-stealing behavior
Our Code of Conduct is adapted from the Rust Code of Conduct.

How to Contribute

Reporting Issues

If you encounter a bug, have a feature request, or have questions about the project, please open an issue on the GitHub Issues page. When reporting issues, be sure to provide:
  • A clear and descriptive title
  • Steps to reproduce the issue
  • Expected behavior vs. actual behavior
  • Any relevant error messages or screenshots
  • Your environment details (OS, Node.js version, etc.)
Before creating a new issue, please search existing issues to avoid duplicates.

Submitting Pull Requests

We welcome contributions in the form of pull requests (PRs). Follow these steps to submit a PR:
1

Fork the repository

Fork the Linkspector repository to your own GitHub account.
2

Create a feature branch

Create a new branch from the main branch for your changes:
git checkout -b feature/your-feature-name
3

Make your changes

Make your changes and commit them with clear and concise messages. See Commit Messages for guidelines.
4

Run tests

Before submitting, make sure all tests pass:
npm test
5

Push to your fork

Push your branch to your forked repository:
git push origin feature/your-feature-name
6

Create a pull request

Create a pull request from your branch to the main branch of the UmbrellaDocs/linkspector repository.
Our maintainers will review your PR as soon as possible and provide feedback if needed. Once your PR is approved, it will be merged into the project.

Commit Messages

Follow these guidelines for commit messages:
  • Use clear and concise messages that explain the purpose of the commit
  • Start the message with a verb in the present tense (e.g., “Add feature,” “Fix bug,” “Update documentation”)
  • Reference related issues or pull requests by including their numbers (e.g., “Fixes #123,” “Closes #456”)

Examples

Good commit messages:
Add support for ReStructured Text files
Fix broken link detection for redirected URLs
Update README with Docker installation instructions
Bad commit messages:
fixed stuff
updates
asdfasdf

Testing

Before submitting a pull request, make sure to run the test suite to ensure that your changes do not introduce any regressions:
npm test
For continuous testing during development:
npm run test:watch
All pull requests must pass the existing test suite. If you’re adding new functionality, please include appropriate tests.

License

By contributing to this project, you agree that your contributions will be licensed under the project’s Apache 2.0 License.

Questions?

If you have any questions about contributing, feel free to: We appreciate your contributions and look forward to working with you!

Build docs developers (and LLMs) love