Thank you for your interest in contributing to AIOps! This document provides guidelines and instructions for contributing.
- Code of Conduct
- Getting Started
- Development Setup
- Making Changes
- Pull Request Process
- Coding Standards
- Testing
Please read and follow our Code of Conduct.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/AIOps.git - Add upstream remote:
git remote add upstream https://github.com/ORIGINAL_OWNER/AIOps.git
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Set up pre-commit hooks
pre-commit install
# Copy environment file
cp .env.example .env
# Edit .env with your configuration- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
pytest - Run linting:
make lint - Commit your changes with a descriptive message
type(scope): description
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, test, chore
Example: feat(agents): add new performance analyzer agent
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG.md
- Request review from maintainers
- Follow PEP 8 style guide
- Use type hints for all functions
- Write docstrings for all public functions and classes
- Keep functions focused and under 50 lines when possible
- Use meaningful variable and function names
# Run all tests
pytest
# Run with coverage
pytest --cov=aiops --cov-report=html
# Run specific test file
pytest aiops/tests/test_specific.py
# Run tests matching a pattern
pytest -k "test_pattern"- All new features must have tests
- Maintain minimum 70% code coverage
- Use pytest fixtures for common setup
- Mock external services (LLM APIs, databases)
If you have questions, please open an issue or reach out to the maintainers.