Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 2.35 KB

File metadata and controls

94 lines (68 loc) · 2.35 KB

Contributing to ScayOSINT

Thank you for your interest in contributing to ScayOSINT! This document provides guidelines and instructions for contributing.

Code of Conduct

By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.

How Can I Contribute?

Reporting Bugs

  • Check if the bug has already been reported
  • Use the bug report template
  • Include detailed steps to reproduce
  • Include screenshots if applicable
  • Specify your environment (OS, Go version, etc.)

Suggesting Features

  • Check if the feature has already been suggested
  • Use the feature request template
  • Explain why this feature would be useful
  • Include any relevant examples

Pull Requests

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Development Setup

  1. Install Go 1.21 or later
  2. Fork and clone the repository
  3. Install dependencies:
    go mod download
  4. Make your changes
  5. Run tests:
    go test ./...

Style Guide

Go Code

  • Follow the Go Code Review Comments
  • Use gofmt for formatting
  • Write tests for new features
  • Document exported functions and types

Commit Messages

  • Use present tense ("Add feature" not "Added feature")
  • Use imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally

Documentation

  • Update README.md if needed
  • Add comments to new code
  • Update example-config.yaml if adding new configuration options
  • Document any new API endpoints or features

Testing

  • Write unit tests for new features
  • Ensure all tests pass before submitting PR
  • Add integration tests for complex features
  • Test on multiple platforms if possible

Release Process

  1. Update version numbers
  2. Update CHANGELOG.md
  3. Create a new release tag
  4. Build binaries for all platforms
  5. Create GitHub release with binaries

Questions?

Feel free to:

Thank you for contributing to ScayOSINT! 🚀