This README is available in multiple languages. Click below to switch:
Deadlink-Hunter is an open-source project designed to find broken links in GitHub repositories (with future support for other platforms). The goal is to help maintainers keep their documentation clean, reliable, and frustration-free for readers.
Deadlink Hunter Website is the frontend of the website.
You can also check Broken-Link-Checker, this is the backend of the project that checks if a link is broken or not. Additionally, check out Deadlink-Crawler, a new repository for crawling and analyzing links efficiently.
The project was inspires as a way to give back to the open source community, everyone is welcome.
This is the general design desired for the website, generated by Lovable, just to provide inspiration.
You can check the more elaborated ui that was created with base44 as initial inspiration.
In order to see the ui log in.
- The why
- Contributing
- Contributors
- Docker Setup
- Mantine Vite template
- Features
- pnpm scripts
- Build and dev scripts
Documentation is the first entry point for most developers exploring a project. Yet, README files and docs often contain outdated or broken links – even in large, well-maintained repositories.
But aren’t there already broken link checkers? There are — but most of them don’t look very good, their UIs are not user-friendly, and their broken link detection doesn’t cover all cases (for example, localhost:4000 is not actually broken).
Go back to the top of the page
Contributions are welcome and greatly appreciated!
To contribute:
- Fork this repository to your own GitHub account.
- Clone your fork locally:
git clone https://github.com/<your-username>/Deadlink-Hunter.git cd Deadlink-Hunter
- (Optional) Install pnpm package manager from this link.
- Install dependencies using pnpm (please do not use npm or yarn):
pnpm install
- Run this project:
pnpm run dev
- Create a new branch for your feature or fix:
git checkout -b my-feature
- Make your changes and commit them with clear messages.
- Push your branch to your fork:
git push origin my-feature
- Create a Pull Request from your repository’s branch to the
mainbranch of the original repository.
Go back to the top of the page
This project includes a .env.example file in the repository that lists the environment variables required to run the app.
Before running the project, create a local .env file based on the example.
You can copy it quickly using the command below:
# macOS / Linux
cp .env.example .env
# PowerShell
Copy-Item .env.example .envThis project includes Docker support for easy deployment and development. You can run the application using Docker in two ways:
The easiest way to run the application is using Docker Compose:
# Build and start the application
docker-compose up --build
# Or run in detached mode (background)
docker-compose up --build -dThe application will be available at http://localhost
To stop the application:
docker-compose downYou can also build and run the Docker container directly:
# Build the Docker image
docker build -t deadlink-hunter .
# Run the container
docker run -p 80:6006 deadlink-hunterThe application will be available at http://localhost
- Port: The application runs on port
6006inside the container and is mapped to port80on your host machine - Web Server: Uses nginx to serve the built application
- Build Process: Multi-stage build that installs dependencies, builds the app, and serves it with nginx
- Base Image: Built on
node:20-alpinefor the build stage andnginx:1.27-alpinefor the runtime
Go back to the top of the page
This project is based on the Mantine Vite template.
Go back to the top of the page
## FeaturesThis template comes with the following features:
- PostCSS with mantine-postcss-preset
- TypeScript
- Storybook
- Vitest setup with React Testing Library
- ESLint setup with eslint-config-mantine
Go back to the top of the page
Go back to the top of the page
## Build and dev scriptsdev– start development serverbuild– build production version of the apppreview– locally preview production build
typecheck– checks TypeScript typeslint– runs ESLintprettier:check– checks files with Prettiervitest– runs vitest testsvitest:watch– starts vitest watchtest– runsvitest,prettier:check,lintandtypecheckscripts
storybook– starts storybook dev serverstorybook:build– build production storybook bundle tostorybook-staticprettier:write– formats all files with Prettier
Go back to the top of the page
## ContributorsThanks to all the amazing contributors who have helped make this project better! 🎉