# ๐Ÿค Contributing to AegisAI Thank you for your interest in contributing to AegisAI! This document provides guidelines and instructions for contributing. --- ## ๐Ÿ“‹ Table of Contents - [Code of Conduct](#code-of-conduct) - [Getting Started](#getting-started) - [Development Workflow](#development-workflow) - [Coding Standards](#coding-standards) - [Testing Guidelines](#testing-guidelines) - [Submitting Changes](#submitting-changes) - [Community](#community) --- ## ๐Ÿ“œ Code of Conduct ### Our Pledge We are committed to providing a welcoming and inclusive environment for all contributors, regardless of: - Experience level - Background - Identity - Personal characteristics ### Expected Behavior - โœ… Be respectful and constructive - โœ… Welcome newcomers warmly - โœ… Accept constructive criticism gracefully - โœ… Focus on what's best for the project - โœ… Show empathy towards others ### Unacceptable Behavior - โŒ Harassment or discrimination - โŒ Trolling or insulting comments - โŒ Personal or political attacks - โŒ Publishing others' private information - โŒ Unprofessional conduct --- ## ๐Ÿš€ Getting Started ### Prerequisites Before contributing, ensure you have: - **Git** installed and configured - **Node.js 18+** for frontend development - **Python 3.9+** for backend development - **Docker** (optional, for testing deployments) - **Code editor** (VS Code recommended) ### Fork and Clone ```bash # 1. Fork the repository on GitHub # Click "Fork" button at https://github.com/Thimethane/aegisai # 2. Clone your fork git clone https://github.com/YOUR_USERNAME/aegisai.git cd aegisai # 3. Add upstream remote git remote add upstream https://github.com/Thimethane/aegisai.git # 4. Verify remotes git remote -v ``` ### Initial Setup ```bash # Install frontend dependencies cd frontend npm install # Install backend dependencies cd ../backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt pip install -r requirements-dev.txt # Development tools # Install pre-commit hooks pip install pre-commit pre-commit install ``` --- ## ๐Ÿ”„ Development Workflow ### Branch Strategy We use **feature branches** for development: ```bash # Update your main branch git checkout main git pull upstream main # Create feature branch git checkout -b feature/your-feature-name # OR for bug fixes git checkout -b fix/bug-description # OR for documentation git checkout -b docs/what-you-are-documenting ``` ### Branch Naming Convention - `feature/` - New features (e.g., `feature/multi-camera-support`) - `fix/` - Bug fixes (e.g., `fix/camera-permission-error`) - `docs/` - Documentation (e.g., `docs/api-guide`) - `refactor/` - Code refactoring (e.g., `refactor/agent-architecture`) - `test/` - Test additions (e.g., `test/integration-tests`) ### Making Changes ```bash # Make your changes # Edit files, add features, fix bugs # Check status git status # Stage changes git add . # Commit with meaningful message git commit -m "feat: add multi-camera support" # Push to your fork git push origin feature/your-feature-name ``` ### Commit Message Format We follow **Conventional Commits**: ``` ():