Skip to content

Latest commit

 

History

History
104 lines (67 loc) · 5.12 KB

CONTRIBUTING.md

File metadata and controls

104 lines (67 loc) · 5.12 KB

Contribution Guide

Welcome to the surrealdb_wasm project! We're excited to have you as a potential contributor. This guide will help you get started and make meaningful contributions to our project.

Table of Contents

  1. Project Overview
  2. Licensing
  3. Code of Conduct
  4. Getting Started
  5. Contributor Guidelines
  6. Coding Standards
  7. Issue and Pull Request Management
  8. Testing and Quality Assurance
  9. Documentation
  10. Community Guidelines
  11. Recognizing Contributions
  12. Updating the Guide
  13. Feedback and Support

Project Overview

The Flutter SurrealDB WebAssembly (WASM) package is a powerful integration for Flutter, built upon the foundation of surrealdb.wasm, the WebAssembly engine for the SurrealDB JavaScript SDK. Consequently, the surrealdb_js package will provide an unified API for the WebAssembly engine. We value contributions that enhance this project's functionality and maintain its quality.

Licensing

This project is licensed under the MIT License. By contributing, you agree to license your contributions under the same terms.

Code of Conduct

Please review our Code of Conduct before contributing. We prioritize a welcoming and inclusive community.

Getting Started

  1. Fork and clone the repository: https://github.com/limcheekin/surrealdb_wasm/fork
  2. Install dependencies: flutter pub get
  3. Set up your development environments:

Contributor Guidelines

We welcome various types of contributions, including code, documentation, and testing. To contribute:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Implement your changes.
  4. Write tests where applicable.
  5. Submit a pull request following the template provided.

Coding Standards

The project utilizes the very_good_analysis package. Before committing any changes to the repository, please ensure that, after running the flutter analyze command, you receive the message 'No issues found!'.

Issue and Pull Request Management

Testing and Quality Assurance

We maintain a rigorous testing process. Please ensure thorough testing of your changes by following these steps:

  1. To execute integration tests using the flutter drive command, start chromedriver with the following command before running any integration tests:

    ./chromedriver --port=4444
  2. Run the integration tests in debug mode using the following command and resolve any failed tests:

    ./local-integration-test.sh
  3. Execute the integration tests in release and headless mode using the following command:

    ./ci-integration-test.sh

Please verify that you see the message 'All tests passed.' on the console in both steps 2 and 3.

Documentation

Thorough documentation is of paramount importance. We kindly request that you create comprehensive DartDoc documentation for the newly implemented features in lib/src/surrealdb_wasm.dart by refer to the documentation present in assets/wasm/surrealdb/index.js. This documentation will greatly assist both users and contributors in gaining a better understanding of the project.

Community Guidelines

We encourage a positive and collaborative atmosphere. Please be respectful and constructive in your interactions.

Recognizing Contributions

We acknowledge contributors in our README and release notes. Your contributions are highly valued!

Updating the Guide

If you find errors or want to improve this guide, feel free to open a pull request.

Feedback and Support

For questions, feedback, or support, please contact [email protected].