Contributing Guide
We welcome contributions to Spotter! This guide will help you get started with contributing code, documentation, security rules, and more.
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Go: Required for building Spotter
- Git: For version control
- Make: For build automation
- Docker: For containerized development (optional)
- Kubernetes cluster: For testing (kind, minikube, or cloud cluster)
Development Setup
Section titled “Development Setup”- Fork and Clone
# Fork the repository on GitHub# Then clone your forkgit clone https://github.com/YOUR_USERNAME/spotter.gitcd spotter
# Add upstream remotegit remote add upstream https://github.com/madhuakula/spotter.git
- Install Dependencies
# Install Go dependenciesgo mod download
- Build and Test
# Build the projectmake build
# Run testsmake test
# Run lintingmake lint
Development Workflow
Section titled “Development Workflow”1. Create a Feature Branch
Section titled “1. Create a Feature Branch”# Update main branchgit checkout maingit pull upstream main
# Create feature branchgit checkout -b feature/your-feature-name
# Or for bug fixesgit checkout -b fix/issue-number-description
2. Make Changes
Section titled “2. Make Changes”# Make your changes# Add tests for new functionality# Update documentation if needed
# Run tests frequentlymake test
# Check code qualitymake lint
3. Commit Changes
Section titled “3. Commit Changes”# Stage changesgit add .
# Commit with descriptive messagegit commit -m "feat: add new security rule for privileged containers"
# Follow conventional commit format:# feat: new feature# fix: bug fix# docs: documentation changes# style: formatting changes# refactor: code refactoring# test: adding tests# chore: maintenance tasks
4. Push and Create PR
Section titled “4. Push and Create PR”# Push to your forkgit push origin feature/your-feature-name
# Create pull request on GitHub# Fill out the PR template# Link related issues
Community Guidelines
Section titled “Community Guidelines”Code of Conduct
Section titled “Code of Conduct”We follow the Contributor Covenant Code of Conduct. Please be respectful and inclusive in all interactions.
Communication Channels
Section titled “Communication Channels”- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: General questions and discussions
Getting Help
Section titled “Getting Help”- Check Documentation: Start with the docs
- Search Issues: Look for existing discussions
- Ask Questions: Use GitHub Discussions
Recognition
Section titled “Recognition”We recognize contributors through:
- Contributors file: Listed in CONTRIBUTORS.md
- Release notes: Mentioned in changelogs
- Social media: Highlighted on Twitter/LinkedIn
Thank you for contributing to Spotter! Your contributions help make Kubernetes security accessible to everyone.