Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Be respectful, inclusive, and professional in all interactions.
- Check if the bug already exists in Issues
- Create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Python version, AWS region)
- Relevant logs or screenshots
- Check if the feature is already requested
- Create a new issue with:
- Clear use case
- Proposed implementation
- Potential challenges
- Alternative approaches
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests for new functionality
- Ensure all tests pass:
pytest tests/ - Update documentation
- Commit with clear messages:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
# Clone your fork
git clone https://github.com/yourusername/devops-intelligence-agent.git
cd devops-intelligence-agent
# 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
# Install pre-commit hooks
pre-commit install- Follow PEP 8 for Python code
- Use Black for code formatting:
black src/ - Use pylint for linting:
pylint src/ - Type hints for all functions
- Docstrings for all classes and functions
# Run all tests
pytest tests/
# Run with coverage
pytest --cov=src tests/
# Run specific test file
pytest tests/test_agent.py- Update README.md for user-facing changes
- Update ARCHITECTURE.md for architectural changes
- Add docstrings for all new functions
- Update API documentation
Follow conventional commits:
feat: Add new featurefix: Fix bugdocs: Update documentationtest: Add testsrefactor: Refactor codechore: Update dependencies
- Maintainers will review your PR
- Address feedback and make requested changes
- Once approved, PR will be merged
By contributing, you agree that your contributions will be licensed under the MIT License.