Contributing to AgenticAI Core SDK
Thank you for your interest in contributing to the AgenticAI Core SDK! This document provides guidelines and instructions for contributing to the project.Ways to Contribute
There are many ways to contribute to AgenticAI Core:- 🐛 Report Bugs - Help us identify and fix issues
- ✨ Suggest Features - Share ideas for new functionality
- 📝 Improve Documentation - Enhance guides, examples, and API docs
- 💻 Submit Code - Fix bugs or implement new features
- 🧪 Write Tests - Improve test coverage
- 📖 Share Examples - Contribute real-world usage examples
Getting Started
1. Fork and Clone
2. Set Up Development Environment
3. Create a Branch
Development Workflow
Running Tests
Code Style
We use the following tools to maintain code quality:Pre-commit Checks
Before committing, ensure:- ✅ All tests pass
- ✅ Code is formatted with black
- ✅ Linting passes
- ✅ Type hints are added for new code
- ✅ Docstrings are added for public APIs
Documentation
When adding or modifying public APIs:- Add Docstrings - Use Google/NumPy style
- Update API Docs - Add corresponding
.mdfiles indocs/api/ - Add Examples - Include usage examples in docstrings
- Update Guides - Update user guides if needed
Coding Standards
Python Style
- Follow PEP 8 guidelines
- Use type hints for function signatures
- Maximum line length: 88 characters (black default)
- Use meaningful variable and function names
Docstring Format
Use Google-style docstrings:2. Push Changes
3. Create Pull Request
- Go to GitHub and create a Pull Request
- Fill out the PR template:
- Description: What does this PR do?
- Related Issue: Link to related issue(s)
- Testing: How was this tested?
- Breaking Changes: Any breaking changes?
4. Code Review
- Address reviewer feedback
- Keep the PR focused and small
- Update documentation as needed
- Ensure CI/CD checks pass
5. Merge
Once approved, your PR will be merged by a maintainer.Reporting Bugs
Before Reporting
- Check if the bug has already been reported
- Try to reproduce with the latest version
- Gather relevant information
Bug Report Template
Suggesting Features
We welcome feature suggestions! Please:- Check if similar features have been requested
- Describe the use case clearly
- Explain why this would benefit users
- Consider implementation complexity
Feature Request Template
Code of Conduct
Our Pledge
We are committed to providing a welcoming and inclusive environment for all contributors.Our Standards
Positive behavior:- Using welcoming and inclusive language
- Being respectful of differing viewpoints
- Gracefully accepting constructive criticism
- Focusing on what’s best for the community
- Harassment, discrimination, or offensive comments
- Trolling, insulting/derogatory comments
- Public or private harassment
- Publishing others’ private information
Enforcement
Instances of unacceptable behavior may be reported to Support.Development Setup Details
Project Structure
Dependencies
Core dependencies:pydantic>=2.0- Data validationtyping-extensions- Type hints support
pytest- Testing frameworkpytest-cov- Coverage reportingblack- Code formatterruff- Fast Python lintermypy- Type checker
mkdocs- Documentation generatormkdocs-material- Material thememkdocstrings[python]- API docs from docstrings