- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/pentestai.git - Install in development mode:
pip install -e ".[dev]" - Create a branch:
git checkout -b feature/my-feature
# Install with dev dependencies
pip install -e ".[dev]"
# Run linter
ruff check src/
# Run type checker
mypy src/
# Run tests
pytest tests/- Follow PEP 8
- Use type annotations for function signatures
- Maximum line length: 120 characters
- Run
ruff check --fix src/before committing
This is a security tool. When contributing:
- Never commit credentials, API keys, or secrets
- Never include real target information in examples (use
example.com,192.0.2.x) - Sanitize all user inputs that go into shell commands (use
src/tools/sanitize.py) - Test scope guard enforcement for new tools
- Do not add exploit code targeting specific real systems
- Update documentation if you add new features
- Add tests for new functionality
- Ensure linting passes
- Describe what your PR does and why
If you find a security vulnerability in PentestAI itself, please report it privately rather than opening a public issue.