Consider a leaner Meltano Project scaffold #7230
Replies: 3 comments 6 replies
-
There's also the |
Beta Was this translation helpful? Give feedback.
-
@aaronsteers I'm in favor of simplifying the starting experience. While it's possibly nice that we show users they can do more with Meltano, it can be distracting and it's not necessary early in the project lifecycle. I don't like dropping the meltano.yml to a Going even further - do we really need even the extract, load, and transform folders? Those can be added as needed, but even when you add an extractor or a loader nothing goes in there. Unless we're seeding it with Would it be crazy if we did something like this? @sbalnojan @DouweM what do you think?
One other thing we'd need to check - I think some of the simpler targets might write to |
Beta Was this translation helpful? Give feedback.
-
Counting the
.meltano
system directory and theplugins
directory (not shown below), this is a total of 9 directories, 7 of which are empty besides the.gitkeep
files.I think we can safely remove these:
/requirements.txt
/analyze/.gitkeep
/notebook/.gitkeep
We could optionally drop these as well from the first-run experience, if the parent folder would get added as part of the scaffold for
dbt
andAirflow
, respectively./transform/.gitkeep
/orchestrate/.gitkeep
Then, the new user experience would create a leaner scaffold with less wasted attention on empty dirs.
Additionally, I think even for directories we will keep, we can replace
.gitkeep
files with aREADME.md
that explains how each subdirectory can be used.Regarding the
output/
folder, I think we added this becausetarget-csv
and/ortarget-jsonl
would fail in tutorials if the folder did not exist. Now, I think one or both have since added "add directory if not exists" behavior, so we can consider removing that output folder as well. If any of our default targets does not auto-create the base directory, we should just add that behavior anyway.My personal preference would be to remove output directory from the scaffold, but add
output
(and/or.output
) to the default root.gitignore
file. Many types of projects automatically hide their build results and temporary output files, so for Meltano to also default a folder called 'output' to ignored in Git, I think that would be a very reasonable default - which users could disable if they really wanted to.Beta Was this translation helpful? Give feedback.
All reactions