Skip to content

[SEP-033][P1] Write 'Add Your Own Transform' contributor guide #33

@samudzi

Description

@samudzi

Summary

Create a step-by-step guide showing how to write a custom ODS-E transform for a new data source (inverter brand, SCADA historian, API format). This is the key contributor funnel — turning users into contributors.

Motivation

MCP's growth was partly driven by community-contributed servers. ODS-E needs the same contributor flywheel for transforms. Currently, adding a new transform requires reading existing transformer source code and reverse-engineering the pattern. A clear guide lowers the barrier to contribution.

Proposed Content

  1. When to write a transform — Your data source isn't covered by the generic CSV mapper
  2. Transform anatomy — BaseTransformer class, required methods, record output format
  3. Step-by-step:
    • Copy the template transform
    • Implement parse_row() and get_metadata()
    • Register the source alias
    • Add test fixtures
    • Run the test suite
  4. Testing your transform — Required test cases, fixture format, CI expectations
  5. Submitting your transform — PR checklist, SEP process for new transforms

Acceptance Criteria

  • Published at /docs/guides/add-transform/
  • Includes a downloadable transform template
  • A developer unfamiliar with the codebase can follow it to add a new transform
  • Covers testing requirements and PR checklist

Dependencies

  • SEP-020 (generic CSV transform — explains when custom > generic)
  • SEP-032 (architecture page — referenced for context)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions