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`).