Pipeline scaffold
Below is a visualization of the pipeline registry scaffolds. Each section shows the folder layout generated by the scaffold and the intent of the key folders.
Meta scaffold
- {pipeline}
- _meta
- README.md
- pipeline.json
- assets
- from
- README.md
- to
- README.md
- {version}
- _meta
- README.md
- version.json
- assets
- {author}
- _meta
- README.md
- CHANGELOG.md
- LICENSE
- pipeline.json
- assets
- python
- typescript
Python implementation scaffold
- python
- {implementation}
- .gitignore
- .env.example
- README.md
- pyproject.toml
- docs
- getting-started.md
- configuration.md
- outputs.md
- scripts
- lineage.py
- schemas
- index.json
- lineage
- schemas
- index.json
- relational
- tables.json
- README.md
- files
- manifest.json
- README.md
- moose
- lineage.manifest.json
- src
- {packageName}
- __init__.py
- runner.py
- config.py
- extract
- __init__.py
- base_extractor.py
- transform
- __init__.py
- base_transformer.py
- load
- __init__.py
- base_loader.py
- tests
- test_runner.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
- outputs.md
- schemas
- index.json
- moose
- lineage.manifest.json
- lineage
- schemas
- index.json
- relational
- tables.json
- README.md
- files
- manifest.json
- README.md
- src
- index.ts
- runner.ts
- config.ts
- extract
- baseExtractor.ts
- transform
- baseTransformer.ts
- load
- baseLoader.ts
- scripts
- lineage.mjs
- tests
- runner.test.ts
- examples
- basic-usage.ts
What the folders mean
{pipeline}/_meta
- Holds pipeline-level metadata that is provider-agnostic.
- Files:
pipeline.json
,README.md
, andassets/
for images and lineage diagrams. - Avoid placing detailed implementation docs here; keep docs near the language implementation.
{pipeline}/{version}/_meta
- Version-level metadata for the pipeline.
- Files:
version.json
,README.md
, andassets/
.
{pipeline}/{version}/{author}/_meta
- Provider/author-specific metadata and lineage assets.
- Files:
pipeline.json
(executable spec),CHANGELOG.md
,LICENSE
,assets/
(e.g.,lineage.mmd
,lineage.svg
).
Language implementations under {pipeline}/{version}/{author}
python/{implementation}/
andtypescript/{implementation}/
contain helpers and runnable code.- Prefer placing docs adjacent to the implementation:
docs/
for human-facing guides (getting started, config, outputs)schemas/
at the top level of the language directory for machine-readable datasets/indexsrc/
for code (with subfolders likeextract/
,transform/
,load/
)tests/
for unit testsscripts/
for automation like lineage generation
Notes
_meta
folders are for metadata and assets. Keep implementation docs inside the language directories.- Place schemas at the top level of each language implementation (not under
src
).