# Contributing Thanks for your interest in MCP-Scope! ## Development Setup ```bash git clone https://github.com/Carlos-Projects/mcpscope cd mcpscope pip install -e ".[dev]" ``` ## Running Tests ```bash pytest -v ``` All tests must pass before submitting a PR. ## Code Style - Format: `ruff format .` - Lint: `ruff check .` - No commented-out code - Type hints required for all public functions ## Pull Request Process 1. Create a feature branch from `main` 2. Write tests for your changes 3. Ensure all tests pass 4. Update `CHANGELOG.md` if applicable 5. Open a PR with a clear description ## Commit Messages Follow [Conventional Commits](https://www.conventionalcommits.org/): ``` feat: add new scanner parser fix: handle null severity in report deps: bump fastapi to 0.136.0 docs: update README badges ``` ## Adding a New Scanner 1. Create `mcpscope/ingest/new_scanner.py` extending `BaseParser` 2. Implement `parse()` and set `SCANNER_NAME` 3. Add to `PARSERS` dict in `cli.py` 4. Create test fixtures in `tests/fixtures/` 5. Add tests in `tests/test_parsers.py` 6. Update `README.md` supported scanners table ## Reporting Issues Open a [GitHub Issue](https://github.com/Carlos-Projects/mcpscope/issues/new/choose) using the appropriate template.