Products

Contributing

OpenETL accepts contributions through GitHub. This document covers the contribution process, development setup, and code standards.

Contribution Types

Adapter Development

New adapter implementations for additional data sources (APIs, databases, file systems). See Custom Adapters for the adapter interface specification.

Bug Fixes

Fixes for framework bugs, adapter issues, or documentation errors.

Feature Enhancements

Improvements to existing functionality, optimization, or new framework features.

Development Setup

Repository Setup

git clone https://github.com/jspreadsheet/openetl.git
cd openetl
npm install

Development Workflow

  1. Create a feature branch from main
  2. Implement changes with appropriate tests
  3. Run test suite: npm test
  4. Ensure TypeScript compilation: npm run build

Pull Request Process

Before Submitting

  1. Code Quality: Follow TypeScript coding standards
  2. Tests: Include unit tests for new functionality
  3. Documentation: Update relevant documentation
  4. Type Definitions: Ensure TypeScript types are correct

Submission Steps

  1. Commit Changes:
git add .
git commit -m "Descriptive commit message"
git push origin feature-branch
  1. Create Pull Request:

    • Navigate to GitHub repository
    • Create pull request against main branch
    • Provide description of changes
    • Reference related issues
  2. Review Process:

    • Address review feedback
    • Update pull request with requested changes
    • Maintain clean commit history

Code Standards

TypeScript

  • Use strict TypeScript compilation
  • Provide type definitions for all public APIs
  • Avoid any types where possible

Testing

  • Unit tests for adapter methods
  • Integration tests for complete pipelines
  • Mock external dependencies
  • See Custom Adapters for testing examples

Documentation

  • Document public APIs and interfaces
  • Include code examples for new features
  • Update relevant guide documents