Contributing

We welcome contributions to the Amazon Bedrock Agents with Return Control SDK! This section provides guidelines for contributing to the project.

Note

This project is maintained by Mike Chambers and is not an official AWS project.

Setting Up Development Environment

  1. Clone the repository:

    git clone https://github.com/mikegc-aws/Amazon-Bedrock-Inline-Agents-with-Return-Control.git
    cd Amazon-Bedrock-Inline-Agents-with-Return-Control
    
  2. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install development dependencies:

    pip install -e ".[dev]"
    

Code Style

We follow the PEP 8 style guide for Python code. We use the following tools to enforce code style:

  • Black: For code formatting

  • isort: For import sorting

  • flake8: For linting

You can run these tools with the following commands:

black .
isort .
flake8

Testing

We use pytest for testing. You can run the tests with the following command:

pytest

When adding new features, please add tests to cover your code. We aim for high test coverage to ensure code quality.

Documentation

We use Sphinx for documentation. You can build the documentation with the following commands:

cd docs
make html

The documentation will be available in the docs/build/html directory.

When adding new features, please update the documentation to reflect your changes.

Pull Request Process

  1. Fork the repository and create a new branch for your feature or bug fix.

  2. Add your changes, including tests and documentation.

  3. Run the tests to ensure they pass.

  4. Run the code style tools to ensure your code follows our style guidelines.

  5. Submit a pull request to the main repository.

  6. The maintainers will review your pull request and provide feedback.

  7. Once your pull request is approved, it will be merged into the main branch.

Reporting Issues

If you find a bug or have a feature request, please open an issue on the GitHub repository. Please include as much detail as possible, including:

  • A clear and descriptive title

  • A detailed description of the issue or feature request

  • Steps to reproduce the issue (for bugs)

  • Expected behavior

  • Actual behavior

  • Screenshots or code snippets (if applicable)

  • Environment information (OS, Python version, etc.)

Code of Conduct

We expect all contributors to follow our code of conduct. Please be respectful and considerate of others when contributing to the project.

License

By contributing to this project, you agree that your contributions will be licensed under the project’s license.