Contributing Guide
Guidelines for contributing to the MCP-Crawl4AI project
Contributing to MCP-Crawl4AI
Thank you for your interest in contributing to MCP-Crawl4AI! This guide will help you get started with the development process and outline our contribution guidelines.
We welcome contributions of all sizes, from fixing typos in documentation to implementing new features.
Getting Started
Prerequisites
- Python 3.13+
- uv (recommended package manager)
- Node.js 18+ (for documentation website)
- Git
Setting Up the Development Environment
Development Workflow
Branching Strategy
We follow a simplified GitHub flow:
- Fork the repository (if you're an external contributor)
- Create a feature branch from
main - Make your changes
- Submit a pull request to
main
Branch naming convention: <type>/<short-description>
- Types:
feature,bugfix,docs,refactor,test, etc.
Example: feature/add-llm-extraction
Code Style
We use the following tools to maintain code quality:
- Ruff: For linting and formatting (configured in
pyproject.toml) - ty: For static type checking
Run the linting and formatting tools:
Testing
We use pytest for testing with asyncio support.
Pull Request Process
- Ensure your code passes all tests and linting
- Update documentation if necessary
- Include a clear description of the changes in your PR
- Link to any related issues using keywords (e.g., "Fixes #123")
- Wait for review from maintainers
Please do not include multiple unrelated changes in a single PR. Create separate PRs for unrelated features or fixes.
Documentation
If you're adding a new feature, please update the relevant documentation:
- Update or add appropriate MDX files in
docs/content/docs/ - Update API reference if necessary in
docs/content/docs/api-reference.mdx - Consider adding examples if applicable
To preview documentation changes locally:
Then visit http://localhost:3000 to preview the changes.
Community Guidelines
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
- Give credit where it's due
Thank you for contributing to MCP-Crawl4AI! Your help makes this project better for everyone.
Found an issue with this page? Submit a GitHub issue