Pipelines
DocsGitHub5

Connector scaffold

Below is a visualization of the connector registry scaffolds. Each section shows the folder layout generated by the scaffold and the intent of the key folders.

Meta scaffold

  • {connector}
    • _meta
      • README.md
      • connector.json
      • assets
    • {version}
      • _meta
        • README.md
        • version.json
        • assets
      • {author}
        • _meta
          • README.md
          • CHANGELOG.md
          • LICENSE
          • connector.json
          • assets
        • python
        • typescript

Python implementation scaffold

  • python
    • {implementation}
      • .gitignore
      • .env.example
      • README.md
      • pyproject.toml
      • docs
        • getting-started.md
        • configuration.md
        • schema.md
        • limits.md
      • schemas
        • index.json
        • raw
          • json
            • README.md
            • events.schema.json
            • events.md
          • files
            • README.md
          • relational
            • tables.json
            • tables.sql
            • README.md
        • extracted
          • json
            • README.md
            • events.schema.json
            • events.md
          • relational
            • tables.json
            • tables.sql
            • README.md
      • src
        • {packageName}
          • __init__.py
          • client.py
          • config.py
          • auth
            • __init__.py
            • base.py
            • api_key.py
            • oauth2.py
          • extract
            • __init__.py
            • base_extractor.py
          • transform
            • __init__.py
            • base_transformer.py
          • load
            • __init__.py
            • base_loader.py
      • tests
        • test_client.py
      • examples
        • basic_usage.py

TypeScript implementation scaffold

  • typescript
    • {implementation}
      • .gitignore
      • .env.example
      • README.md
      • package.json
      • tsconfig.json
      • vitest.config.ts
      • docs
        • getting-started.md
        • configuration.md
        • schema.md
        • limits.md
      • schemas
        • index.json
        • raw
          • json
            • README.md
            • events.schema.json
            • events.md
          • files
            • README.md
          • relational
            • tables.json
            • tables.sql
            • README.md
        • extracted
          • json
            • README.md
            • events.schema.json
            • events.md
          • relational
            • tables.json
            • tables.sql
            • README.md
      • src
        • index.ts
        • client.ts
        • config.ts
        • auth
          • base.ts
          • apiKey.ts
          • oauth2.ts
        • extract
          • baseExtractor.ts
        • transform
          • baseTransformer.ts
        • load
          • baseLoader.ts
      • tests
        • client.test.ts
      • examples
        • basic-usage.ts

What the folders mean

{connector}/_meta

  • Holds connector-level metadata that is provider-agnostic.
  • Files: connector.json, README.md, and assets/ for shared logos/images.
  • Do not place documentation here; documentation belongs with the language implementation directories.

{connector}/{version}/_meta

  • Version-level metadata for the connector.
  • Files: version.json, README.md, and assets/.

{connector}/{version}/{author}/_meta

  • Provider/author-specific metadata and assets.
  • Files: connector.json (capabilities, languages), CHANGELOG.md, LICENSE, assets/.

Language implementations under {connector}/{version}/{author}

  • typescript/{implementation}/ (and optionally python/ if provided) contain the runnable implementation.
  • Follow these conventions:
    • docs/ for human-facing guides (getting started, configuration, limits, schema docs)
    • schemas/ at the top level of the language directory for machine-readable definitions and related Markdown
    • src/ for code with subfolders like auth/, extract/, transform/, load/
    • tests/ for unit tests
    • examples/ for usage samples

Notes

  • _meta folders should not include docs; keep docs with the language-specific implementation.
  • Schemas should live at the top level of each language implementation (not under src).