Skip to content

Latest commit

 

History

History
107 lines (76 loc) · 2.67 KB

File metadata and controls

107 lines (76 loc) · 2.67 KB

Contributing to SentinelAI

Made by threatvec & talkdedsec

Thank you for your interest in contributing to SentinelAI! This guide will help you get started.

Code of Conduct

By contributing, you agree to abide by our Code of Conduct.

How to Contribute

Reporting Bugs

  1. Check existing issues first
  2. Use the bug report template
  3. Include: OS, Python version, SentinelAI version, steps to reproduce

Feature Requests

  1. Open a feature request
  2. Describe the use case and expected behavior
  3. Explain why this would benefit the community

Pull Requests

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Write tests for your changes
  4. Ensure all tests pass: pytest
  5. Lint your code: ruff check .
  6. Commit with clear messages
  7. Push to your fork and submit a PR

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/SentinelAI.git
cd SentinelAI

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linter
ruff check .

# Run type checker
mypy src/sentinelai

Code Standards

  • Python 3.11+ required
  • Type hints on all public functions
  • Docstrings on all public classes and methods
  • 100 character line length limit
  • ruff for linting and formatting
  • pytest for testing with >80% coverage target

Commit Messages

Use clear, descriptive commit messages:

feat: add SSRF detection to code scanner
fix: false positive in secret scanner for test files
docs: update LLM firewall configuration guide
test: add tests for PII detection edge cases

Project Structure

src/sentinelai/
├── core/           # Core engine - touch with care
├── scanners/       # Add new scanners here
├── llm_firewall/   # LLM protection modules
├── agent_monitor/  # Agent monitoring
├── dashboard/      # Web UI
├── reports/        # Report generation
└── utils/          # Shared utilities

Adding a New Scanner

  1. Create a new file in src/sentinelai/scanners/
  2. Extend the BaseScanner class
  3. Implement scan() method
  4. Add rules to rules/ directory
  5. Register in scanners/__init__.py
  6. Write tests in tests/

License

By contributing, you agree that your contributions will be licensed under the SentinelAI Proprietary License.


SentinelAI - Copyright (c) 2026 threatvec & talkdedsec. All rights reserved.