Contributing to MacScrape
We welcome contributions to MacScrape! This document provides guidelines for contributing to the project.
Getting Started
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment
git clone https://github.com/amacsmith/mac-scrape.git
cd mac-scrape
pip install -r requirements.txt
pip install -r requirements-dev.txt
Development Workflow
- Create a new branch for your feature or bugfix
- Make your changes
- Write or update tests
- Run the test suite
- Submit a pull request
git checkout -b feature-or-bugfix-name
# Make your changes
pytest
git push origin feature-or-bugfix-name
Coding Standards
We follow PEP 8 for Python code style. Use black
for code formatting and flake8
for linting.
Commit Messages
Follow the Conventional Commits specification:
Example:
feat(scraper): add support for JavaScript rendering
This commit adds Playwright integration to render JavaScript-heavy pages
before scraping.
Closes #123
Pull Request Process
- Ensure your code adheres to the project's coding standards
- Update the documentation if you're adding or changing features
- Add or update tests to cover your changes
- Ensure all tests pass
- Update the CHANGELOG.md file
- Submit the pull request with a clear title and description
Reporting Bugs
Use the GitHub issue tracker to report bugs. Include:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- MacScrape version and environment details
Requesting Features
Feature requests are welcome. Use the GitHub issue tracker and include:
- A clear, descriptive title
- A detailed description of the proposed feature
- Any relevant examples or use cases
- Potential drawbacks or challenges
Code of Conduct
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.