botserver/docs/src/chapter-13-community
2025-11-24 18:09:17 -03:00
..
code-of-conduct-pt-br.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00
code-of-conduct.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00
community.md - Finishing text. 2025-11-24 18:09:17 -03:00
contributing-guidelines.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00
documentation.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00
ide-extensions.md - Almost done, documentation base for 6.1.0. 2025-11-24 13:36:09 -03:00
pull-requests.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00
README.md - Fix .svgs. 2025-11-24 14:15:01 -03:00
setup.md - Almost done, documentation base for 6.1.0. 2025-11-24 13:36:09 -03:00
standards.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00
testing.md - From 8 to 13.5 2025-11-24 13:02:30 -03:00

Contributing to General Bots

Welcome to the General Bots community! We appreciate your interest in contributing to this open-source project. This chapter provides comprehensive guidance for contributors.

Overview

General Bots is an open-source conversational AI platform built in Rust, actively used in production since 2018. We welcome contributions of all kinds:

  • Code improvements
  • Documentation updates
  • Bug reports
  • Feature suggestions
  • Testing
  • Community support

Getting Started

Prerequisites

Before contributing, ensure you have:

  • Rust 1.70 or later
  • Git experience
  • Basic understanding of General Bots architecture

First Steps

  1. Fork the Repository

    git clone https://github.com/GeneralBots/BotServer.git
    cd botserver
    
  2. Set Up Development Environment

    • Follow the Development Setup guide
    • Run the bootstrap process
    • Verify everything works
  3. Find Something to Work On

Types of Contributions

Code Contributions

Bug Fixes:

  • Reproduce the issue
  • Write a test case
  • Implement the fix
  • Submit a pull request

New Features:

  • Discuss in an issue first
  • Design the solution
  • Implement with tests
  • Document the feature

Performance Improvements:

  • Benchmark existing code
  • Implement optimization
  • Prove improvement with metrics
  • Ensure no regressions

Documentation

Areas Needing Help:

  • API documentation
  • BASIC keyword examples
  • Tutorial content
  • Translation

Documentation Standards:

  • Clear and concise
  • Include examples
  • Keep up-to-date
  • Follow markdown conventions

Testing

Test Coverage:

  • Unit tests for new code
  • Integration tests for features
  • Regression tests for bugs
  • Performance benchmarks

Testing Guidelines:

  • Test edge cases
  • Mock external dependencies
  • Keep tests fast
  • Use descriptive names

Development Process

1. Planning

Before starting work:

  • Check existing issues
  • Discuss major changes
  • Get feedback on approach
  • Claim the issue

2. Development

While coding:

  • Follow Code Standards
  • Write tests first (TDD)
  • Keep commits atomic
  • Update documentation

3. Testing

Before submitting:

  • Run all tests locally
  • Check code formatting
  • Verify no warnings
  • Test manually

4. Submission

Creating a pull request:

  • Clear description
  • Reference related issues
  • Include test results
  • Update CHANGELOG if needed

Communication

GitHub Discussions

For questions and ideas:

  • Feature proposals
  • Architecture discussions
  • Community support
  • General questions

Issue Tracker

For specific problems:

  • Bug reports
  • Feature requests
  • Documentation issues
  • Performance problems

Pull Requests

For code review:

  • Implementation feedback
  • Design discussions
  • Testing verification
  • Merge coordination

Contribution Guidelines

Code Quality

Requirements:

  • Pass all tests
  • No compiler warnings
  • Formatted with cargo fmt
  • Clean cargo clippy output

Best Practices:

  • Write self-documenting code
  • Add comments for complex logic
  • Keep functions small
  • Follow SOLID principles

Commit Messages

Format:

type(scope): brief description

Detailed explanation if needed.

Fixes #issue-number

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Formatting
  • refactor: Code restructuring
  • test: Test additions
  • chore: Maintenance

Pull Request Process

  1. Create Feature Branch

    git checkout -b feature/your-feature
    
  2. Make Changes

    • Implement feature
    • Add tests
    • Update docs
  3. Submit PR

    • Push to your fork
    • Open pull request
    • Fill template
    • Request review
  4. Code Review

    • Address feedback
    • Update as needed
    • Maintain discussion
  5. Merge

    • Squash if requested
    • Ensure CI passes
    • Maintainer merges

Recognition

Contributors

All contributors are recognized:

  • Listed in CONTRIBUTORS.md
  • Mentioned in release notes
  • Community appreciation

Core Team

Regular contributors may be invited to:

  • Join core team
  • Get merge permissions
  • Mentor others

Resources

Documentation

Tools

  • Rust toolchain
  • VS Code with rust-analyzer
  • Git and GitHub CLI
  • LXC (optional)

Learning

  • Rust documentation
  • BotServer architecture docs
  • BASIC language reference
  • Zitadel documentation

Code of Conduct

We maintain a welcoming community:

  • Be respectful
  • Be inclusive
  • Be collaborative
  • Be professional

See our full Code of Conduct.

Getting Help

For Contributors

  • Ask in pull requests
  • Create discussion topics
  • Review existing code
  • Read documentation

For Maintainers

  • Provide clear feedback
  • Be responsive
  • Guide new contributors
  • Maintain standards

Licensing

  • BotServer uses AGPL-3.0 license
  • Contributions must be compatible
  • You retain copyright
  • Grant project license rights

Contributor Agreement

By contributing, you agree that:

  • You have the right to contribute
  • Your contribution is original
  • You grant necessary licenses
  • You follow the Code of Conduct

Thank You!

Your contributions make BotServer better for everyone. Whether you're fixing a typo, adding a feature, or helping others, every contribution matters.

Welcome to the community!

See Also


General Bots