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