First off, thank you for considering contributing to Crawlith! It's people like you that make Crawlith such a great tool.
By participating in this project, you agree to abide by our Code of Conduct (if applicable) and maintain a respectful, welcoming environment.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/Crawlith/crawlith.git cd crawlith - Install dependencies:
This project uses npm workspaces. Run:
npm install
- Build the packages:
npm run build
We use a package-first monorepo structure:
packages/core: The core crawling and graph analysis logic.packages/cli: The CLI interface and commands.packages/server: The web server/API.packages/web: The UI dashboard.
To test your CLI changes locally, you can run:
npm run crawlith -- [command] [options]
# Or link it globally for testing
cd packages/cli
npm link- Create a new feature branch from
main:git checkout -b feature/my-awesome-feature. - Please make sure all tests pass (
npm test) and code is linted (npm run lint). - Commit your changes. Use descriptive commit messages.
- Push your branch to your fork.
- Open a Pull Request on the main repository.
- Small Commits: Keep your commits small and focused.
- Explain Why: In your PR, explain why the change is needed, not just what it does.
- Tests: Include tests for your changes if applicable.
We look forward to reviewing your PR!