Contributing to AgentArea
Thank you for your interest in contributing to AgentArea! This guide will help you get started with contributing to our open-source AI agents platform.
π Quick Start for Contributors
π Ways to Contribute
Code Contributions
- Bug fixes and new features
- Performance improvements
- Documentation updates
- Test coverage improvements
Community Contributions
- Bug reports and feature requests
- Documentation improvements
- Community support and discussions
- Translation and localization
π Reporting Issues
Bug Reports
When reporting bugs, please include:Feature Requests
For feature requests, please describe:- Use case: What problem does this solve?
- Proposed solution: How should it work?
- Alternatives: What other approaches have you considered?
- Impact: How would this benefit the community?
π» Development Guidelines
Code Style
- Python (Backend)
- TypeScript (Frontend)
- Go (MCP Manager)
Testing
Unit Tests
- Write tests for all new functionality
- Maintain >80% code coverage
- Use descriptive test names
- Mock external dependencies
Integration Tests
- Test API endpoints end-to-end
- Test agent communication flows
- Test MCP server interactions
- Use test fixtures and factories
Documentation
- Code comments: Explain complex logic and business rules
- API documentation: Update OpenAPI specs for API changes
- User documentation: Update guides when adding user-facing features
- README updates: Keep installation and setup instructions current
π Pull Request Process
Before Submitting
PR Template
Review Process
- Automated checks: CI/CD pipeline runs tests and linting
- Code review: Maintainer reviews code and provides feedback
- Iteration: Address feedback and update PR
- Approval: Maintainer approves and merges
ποΈ Architecture Guidelines
Project Structure
Design Principles
Modularity
- Loosely coupled components
- Clear interfaces and contracts
- Plugin-based architecture
- Dependency injection
Scalability
- Horizontal scaling support
- Async/await patterns
- Efficient resource usage
- Caching strategies
π Release Process
We follow Semantic Versioning. Releases use a build-once / promote-on-tag model:- Actions β βPrepare Releaseβ (patch/minor/major) β opens a release PR that bumps
VERSION. - Review and merge the PR.
ci.ymlbuilds immutable<version>-<sha>Docker images. - Locally:
./scripts/release.shβ runs pre-flight checks, creates and pushesvX.Y.Ztag. - The tag push triggers retag of the pre-built images to
<version>,<maj.min>,<maj>,latest, creates the GitHub Release, and publishes the Helm chart. No rebuild.
π€ Community Guidelines
Code of Conduct
We follow the Contributor Covenant:- Be respectful and inclusive
- Welcome newcomers and help them learn
- Provide constructive feedback
- Focus on whatβs best for the community
Communication Channels
GitHub Issues
Bug reports, feature requests, and project discussions
GitHub Discussions
Community discussions, support, and collaboration
GitHub Discussions
Design discussions, Q&A, and community announcements
π Learning Resources
For New Contributors
- AgentArea Architecture - Understanding the system design
- Getting Started Guide - Setting up your development environment
- API Reference - Complete API documentation
- Building Agents - Learn how to create AI agents
Advanced Topics
- MCP Integration - Model Context Protocol implementation
- Agent Communication - Multi-agent patterns
- Deployment Guide - Production deployment strategies
π Getting Help
Stuck on something? Donβt hesitate to ask for help:
- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For community support and design questions
- Documentation: Check our comprehensive guides and API reference
Thank you for contributing to AgentArea and helping us build the future of AI agent platforms! π€β¨