Skip to main content

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

1

Fork & Clone

2

Set Up Development Environment

3

Create a Branch

4

Make Your Changes

Follow our coding standards and add tests for your changes

πŸ“‹ 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

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

  1. Automated checks: CI/CD pipeline runs tests and linting
  2. Code review: Maintainer reviews code and provides feedback
  3. Iteration: Address feedback and update PR
  4. 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:
  1. Actions β†’ β€œPrepare Release” (patch/minor/major) β€” opens a release PR that bumps VERSION.
  2. Review and merge the PR. ci.yml builds immutable <version>-<sha> Docker images.
  3. Locally: ./scripts/release.sh β€” runs pre-flight checks, creates and pushes vX.Y.Z tag.
  4. 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.
See VERSIONING.md for the full process, tag semantics, invariants, and troubleshooting.

🀝 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

Advanced Topics

πŸ“ž 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
We’re here to help you succeed in contributing to AgentArea! πŸš€

Thank you for contributing to AgentArea and helping us build the future of AI agent platforms! πŸ€–βœ¨