DocsGitHub7

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.

Python implementation scaffold

  • python
    • {implementation}
      • _meta
        • connector.json
        • README.md
        • CHANGELOG.md
        • LICENSE
        • assets
      • .gitignore
      • .env.example
      • README.md
      • install.config.toml
      • 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
        • __init__.py
        • client.py
        • lib
          • __init__.py
          • paginate.py
          • make_resource.py
          • hooks.py
          • send.py
        • {resource}
          • __init__.py
          • model.py
      • tests
        • test_client.py
      • examples
        • basic_usage.py

TypeScript implementation scaffold

  • typescript
    • {implementation}
      • .gitignore
      • .env.example
      • README.md
      • install.config.toml
      • scripts
        • postinstall.sh
      • package.json
      • tsconfig.json
      • jest.config.cjs
      • tsconfig.test.json
      • docs
        • getting-started.md
        • configuration.md
        • schema.md
        • limits.md
        • observability.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
        • generated
          • .gitkeep
        • observability
          • logging-hooks.ts
          • metrics-hooks.ts
        • index.ts
        • client
          • connector.ts
        • lib
          • paginate.ts
          • make-resource.ts
        • resources
          • {resource}.ts
          • index.ts
      • tests
        • observability.test.ts
        • resource.test.ts
      • examples
        • basic-usage.ts

What the folders mean

{connector}/{version}/{author}/{language}/{implementation}/_meta

  • Holds all connector metadata at the implementation level.
  • Files: `connector.json` (identifier, name, author, version, capabilities, etc.), `README.md`, `CHANGELOG.md`, `LICENSE`, and `assets/` for logos/images.
  • Each implementation has its own `_meta` folder, allowing different implementations to have different metadata, maintainers, and assets.

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

  • `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

  • The `_meta` folder is now at the implementation level, containing all metadata for that specific implementation.
  • Documentation goes in the `docs/` folder within each implementation, not in the `_meta` folder.
  • Schemas should live at the top level of each language implementation in the `schemas/` folder (not under `src`).