Skip to content

Latest commit

 

History

History
143 lines (99 loc) · 3.33 KB

File metadata and controls

143 lines (99 loc) · 3.33 KB

Contributing to CiberWebScan

Thank you for your interest in contributing to CiberWebScan! This document provides guidelines and information for contributors.

Getting Started

If you are new to the project, the best way to start is by looking for issues labeled good first issue or help wanted.

Code of Conduct

This project follows a code of conduct to ensure a welcoming environment for all contributors. By participating, you agree to:

  • Be respectful to others
  • Focus on constructive feedback
  • Accept responsibility for mistakes
  • Show empathy towards other contributors
  • Help create a positive community

Ways to Contribute

Bug Reports

  • Use the issue tracker to report bugs
  • Include detailed steps to reproduce
  • Provide system information and error messages
  • Suggest potential fixes if possible

Feature Requests

  • Check if the feature is already requested
  • Provide detailed use cases
  • Explain the benefit to users
  • Consider implementation complexity

Code Contributions

  • Fix bugs
  • Add new features
  • Improve documentation
  • Write tests
  • Performance improvements

Documentation

  • Improve existing documentation
  • Translate documentation
  • Add examples and tutorials
  • Fix typos and errors

Development Setup

See DEVELOPMENT.md for detailed setup instructions.

Pull Request Process

  1. Fork the repository
  2. Create a feature branch from main
  3. Make your changes
  4. Test thoroughly
  5. Update documentation if needed
  6. Submit a pull request

Branch Naming

Use descriptive branch names:

feature/add-new-analyzer
fix/ssl-validation-bug
docs/update-api-docs
test/add-integration-tests

Pull Request Guidelines

  • Title: Clear, descriptive title
  • Description: Detailed explanation of changes
  • Tests: Include tests for new functionality
  • Documentation: Update docs for API changes
  • Breaking Changes: Clearly mark breaking changes
  • Screenshots: Include for UI changes

Code Standards

Python Style

  • Follow PEP 8
  • Use type hints
  • Write docstrings
  • Keep functions small and focused

Testing

  • Write unit tests for new code
  • Test edge cases and error conditions
  • Use descriptive test names

Documentation

  • Update relevant documentation
  • Add docstrings to public functions
  • Include examples in docstrings
  • Keep README up to date

Review Process

  1. Automated Checks: CI runs tests, linting, and type checking
  2. Peer Review: At least one maintainer reviews changes
  3. Feedback: Address review comments
  4. Approval: Maintainers approve and merge

Review Criteria

  • Code quality and style
  • Test coverage
  • Documentation
  • Performance impact
  • Security considerations
  • Breaking changes

Security

  • Report security issues privately to maintainers
  • Do not commit sensitive information
  • Follow secure coding practices
  • Use secure defaults

Licensing

By contributing, you agree that your contributions will be licensed under the Apache 2.0 license.

Getting Help

  • Issues: For bugs and feature requests
  • Discussions: For questions and ideas
  • Documentation: Check existing docs first
  • Maintainers: Contact for sensitive issues

Development Roadmap

See the GitHub issues and project board for planned features and priorities.

Thank you for contributing to CiberWebScan ❤️!