Skip to content

Latest commit

 

History

History
99 lines (66 loc) · 2.14 KB

File metadata and controls

99 lines (66 loc) · 2.14 KB

Contributing to maestro-runner

Thank you for your interest in contributing! This document provides guidelines for contributing to the project.

Code of Conduct

Please read and follow our Code of Conduct.

Getting Started

See README.md for installation and setup instructions.

# Run tests
make test

# Run all checks (lint, vet, test)
make check

How to Contribute

Reporting Bugs

  1. Check existing issues to avoid duplicates
  2. Use the bug report template
  3. Include:
    • Go version (go version)
    • OS and version
    • Steps to reproduce
    • Expected vs actual behavior
    • Relevant flow files (anonymized)

Suggesting Features

  1. Check existing issues and discussions
  2. Use the feature request template
  3. Explain the use case and expected behavior

Pull Requests

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes
  4. Run checks: make check
  5. Commit with clear messages
  6. Push and create a Pull Request

Development Guidelines

Code Style

  • Follow standard Go conventions
  • Run make check before committing
  • Keep functions small and focused
  • Add comments for exported types and functions

Commit Messages

Use clear, descriptive commit messages:

Add support for swipe gestures

- Implement SwipeStep parsing
- Add swipe command to Appium driver
- Add tests for swipe directions

Testing

  • Write tests for new functionality
  • Maintain or improve code coverage

Documentation

  • Update relevant documentation for changes
  • Add godoc comments for exported APIs
  • Update CHANGELOG.md for notable changes

Project Structure

See DEVELOPER.md for architecture details and extension guides.

Review Process

  1. All PRs require at least one review
  2. CI must pass (lint, test, build)
  3. New features need tests
  4. Breaking changes need discussion first

Getting Help

  • Open an issue for questions
  • Tag maintainers if blocked

License

By contributing, you agree that your contributions will be licensed under the Apache License 2.0.