Contributing
Development Setup
- Fork and clone the repository:
git clone https://github.com/Abubakr-Alsheikh/max-cli.git
cd max-cli
- Create a virtual environment:
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
- Install dev dependencies:
Code Style
- Follow PEP 8 with 88 character line length
- Use type hints for all function signatures
- Run
ruff format before committing
Running Tests
# Run all tests
pytest
# Run specific test file
pytest tests/test_core_images.py
# Run with coverage
pytest --cov=max_cli
Running Linters
# Check code style
ruff check .
# Format code
ruff format .
# Type check
mypy src/
Submitting PRs
- Create a feature branch
- Make changes and run quality checks
- Commit with a clear message
- Push and create a PR
Project Structure
src/max_cli/
├── core/ # Business logic engines
├── interface/ # Typer CLI commands
├── common/ # Shared utilities
├── plugins/ # Plugin system
└── config.py # Configuration