wireit / test2

0 stars 0 forks source link

Make project more legible to newcomers #3

Open aomarks opened 7 months ago

aomarks commented 7 months ago

From test2 created by aomarks: aomarks/test2#1

From labs-prototypes created by dglazkov: google/breadboard-ai#146

Right now, the Breadboard project is a collection of packages in a monorepo. It takes a bit of time to piece together all the bits and get a full picture of what's going on -- a tax on newcomers.

Let's make a first pass at making the Breadboard project a bit easier to comprehend and get started. We need:

aomarks commented 7 months ago

Here's a potential set of next steps for cleaning up the repo a bit:

  1. Hoist the README from seeds/breadboard to the top-level. Let's move towards thinking of this repo as a monorepo just for Breadboard and closely related projects.

  2. Move seeds/gems/text_classification and seeds/gems/tokenizer to new repo(s) (e.g. google/something) This folder seems to be a newsgroups text classification project that AFAICT is unrelated to breadboard? @shilpakancharla, @sidgoogle what's the status of these projects? Any thoughts on where they should go?

  3. Delete Breadboard packages we no longer need. They will exist forever in the GitHub history for posterity. The 2 candidates seem to be seeds/web-demo (mentioned above) and seeds/graph-runner ("It had since been folded into the breadboard package").

  4. Rename seeds/ to packages/. In my experience it's pretty idiomatic with GitHub monorepos to use the name "packages", and being idiomatic is helpful for orienting new folks.

  5. Move google/labs-prototypes to breadboard-ai/breadboard. This will preserve all of the Git history and issues, and everyone's previous Git remotes will still work since GitHub redirects automatically, so nothing should change with the developer flow.

After this, we can focus on improving the README and tutorial, so the above is just some of the housekeeping that I think could make sense to start with.

WDYT @dglazkov @paullewis @seefeldb ?

aomarks commented 7 months ago

+1 from my perspective, but undoubtedly @dglazkov and @seefeldb have more context, so there may be things I've missed!

aomarks commented 7 months ago

LGTM on all but the second one. I'd like to keep labs-prototypes as its own repo and let @shilpakancharla and @sidgoogle and @ibush host their projects here.

aomarks commented 7 months ago

Sounds good! We'll keep both repos around. There are some constraints around the repo move:

So I think we have 3 options:

  1. Fork google/labs-prototypes to breadboard-ai/breadboard. ✅ Git history preserved ❌ Issues & PRs transferred ✅ Existing issue URLs show the original history ❌ Existing issue URLs redirect to the new repo ✅ Prototypes repo keeps its name

  2. Transfer google/labs-prototypes to breadboard-ai/breadboard, then create a new google/labs-prototypes ✅ Git history preserved ✅ Issues & PRs transferred ❌ Existing issue URLs show the original history ❌ Existing issue URLs redirect to the new repo ✅ Prototypes repo keeps its name

  3. Transfer google/labs-prototypes to breadboard-ai/breadboard, then create a new google/labs-XXX (where XXX is a new name we chose, like "prototyping") and copy over the Git history. ✅ Git history preserved ✅ Issues & PRs transferred ✅ Existing issue URLs show the original history ✅ Existing issue URLs redirect to the new repo ❌ Prototypes repo keeps its name

So, there's no perfect solution. Option 3 seems like the best if we are willing to give a new name to the prototypes repo. Options 1 and 2 both have some fairly gnarly downsides.