Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve generator discovery #352

Open
5 tasks
sindresorhus opened this issue Jul 26, 2015 · 12 comments
Open
5 tasks

Improve generator discovery #352

sindresorhus opened this issue Jul 26, 2015 · 12 comments

Comments

@sindresorhus
Copy link
Member

The generator search in the yo CLI leaves a lot to be desired.

I just made it so that the generator description is shown in the search: f5ab6e9

This is how it currently looks:

screen shot 2015-07-26 at 20 04 40

But, I think we can do a lot better!

Some other things I think we should do:

  • Add a keyboard shortcut to be able to open the repo of the generator so you can read more about it.
  • We should use the same source as the website to get the list of generators. Currently we just talk to npm directly.
  • Show GitHub stars in the search results and sort by them. (requires script/main.js keeps getting rebuilt #2)
  • Cleanup package descriptions. Lots of bad ones. Meaning this thing should be moved to yeoman-generator-list so both the website and CLI and any other consumer can take advantage of it.
  • Have a handpicked list of generators we've vetted to be good and mark them and sort them to the top. To make it easier to discover good generators. There are so many generators available, and a common complaint is that it's hard to find good ones.

Thoughts? Any other suggestions on how we can improve it?

I will open separate focused issues when we've decided on what to do.

@arthurvr
Copy link
Member

Show GitHub stars in the search results and sort by them. (requires #2)

Meh. I'm against anything that directly boils down to popularity. A generator might be popular because it was made by an influential company, because it was promoted much, because the thing it scaffolds is something really popular (a popular framework for example), ... All of those don't say anything about the actual quality of the generator.

Have a handpicked list of generators we've vetted to be good and mark them and sort them to the top. To make it easier to discover good generators. There are so many generators available, and a common complaint is that it's hard to find good ones.

I like this idea a lot, though be aware that a list of "good" generators is super hard to maintain.

We can't keep track of all generators that people develop. Also everybody will consider the generator they build good, and as a result we will have to discuss and deal with a bunch of PRs from people adding generators to the list. Besides from that, good generators might be outdated a year later, we'll have to follow all of them up.

If we want to have a solution like that, we will at least need really strict and objective rules on what we consider "good".

Also, ref yeoman/yeoman.io#459, as we'll need such a list of "top" generators too.

Thoughts? Any other suggestions on how we can improve it?

Lovely ideas, Sindre. What annoys me personally is that there are a bunch of really bad, duplicate, or simply nonsense generators out there. Maybe we should consider a blacklist, similar to what Gulp does for their plugins site. That would mean that yo nonsense would still work as before, but that the generators wouldn't end up on the site and on the listing in yo.

Some people end up forking a generator to do a small opinionated change and publish that to npm. There's nothing wrong with that, it's even good, but it makes the list of choices often long and very noisy.

@SBoudrias
Copy link
Member

@arthurvr FWIW, we have a blacklist currently. But as anything, you need someone to watch and maintain, and that's not the coolest task.

That's why having a vetted list of high quality generators is probably a better option.

@sindresorhus
Copy link
Member Author

@arthurvr If you see anything low-quality → https://github.com/yeoman/yeoman.io/blob/master/app/blacklist.json ;)

@sindresorhus
Copy link
Member Author

I generally agree about GitHub stars. It's just the only automatic metric I can think of, even though it's flawed. We can leave that out though if we go with vetted generators.

@SBoudrias
Copy link
Member

Hey, FWIW, the colors are not showing up right in iterm2.

Because of this, the install list page is very hard to use in my case (it's all the same color). I believe we should validate the look on a couple terminal app, as if only OSx terminal display the colors correctly, I believe will do more harm the help.

@hemanth
Copy link
Member

hemanth commented Jul 27, 2015

Related issues: #149 #150 #222

@arthurvr
Copy link
Member

Hey, FWIW, the colors are not showing up right in iterm2.

Probably more of a bug in the color scheme that you're using than a bug in our code. Some color schemes (like solarized) tend to hide away gray, for example. I don't think we'll find a catch-all solution that works fine with every color scheme. I'm using iTerm too and it works perfectly.

@arthurvr If you see anything low-quality → https://github.com/yeoman/yeoman.io/blob/master/app/blacklist.json ;)

I knew about that one, but as long as we don't have objective rules when something is "good" or "bad" it doesn't make so much sense. Also, doesn't that list only apply to the site? I would think it does as it's in the yeoman.io repo...

That's why having a vetted list of high quality generators is probably a better option.

Well, you have to maintain such a list of high quality generators too. I would think it even requires more maintenance. I honestly want both a list of super good things and(!) a blacklist.

@sindresorhus
Copy link
Member Author

@SBoudrias I guess we can go with gray for now instead 7efa7e0. iTerm will get support for dim soon: https://gitlab.com/gnachman/iterm2/issues/3623

@passy
Copy link
Member

passy commented Jul 27, 2015

I like every idea that improves discoverability over what we have at the moment and what npm provides. I agree with @arthurvr that stars are a flawed metric for quality and manual curation can be difficult. That said, stars are certainly easier to integrate into that system and we could still see what it would look like in practice and decide from there if we'd like to keep it.

@SBoudrias
Copy link
Member

@arthurvr The thing with shipping product is that we need to handle bugs in implementation. This is what we do everyday we work with browser. In this case our client is the terminal, so we need to handle and workaround issues that are going to affect our user. Solarize is a widely used terminal theme and if we don't fix this a lot of our user will be hitting that issue.

About the stars, we currently use them on http://yeoman.io/generators to classify generators. I believe it does an okay job for an automated metric.

@sindresorhus
Copy link
Member Author

Also, doesn't that list only apply to the site? I would think it does as it's in the yeoman.io repo...

No →

got('http://yeoman.io/blacklist.json', function (err, data) {

@arthurvr
Copy link
Member

Ah, alright. I should have done a quick search before :p

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants