mattdesl / ideas

brainstorming / ideas
MIT License
27 stars 0 forks source link

Module Discovery Tools #3

Open mattdesl opened 9 years ago

mattdesl commented 9 years ago

Some brainstorming that came about a npm/newww discussion.

Build a community driven site of "module playlists" -- kind of like Grooveshark or rdio playlists. Users build playlists of their favourite modules, and share with others.

timoxley commented 9 years ago

suggest playlists are just package.jsons with dependencies published to npm with a particular keyword so they can be aggregated e.g.

https://www.npmjs.com/package/npm-collection-explicit-installs https://www.npmjs.com/package/npm-collection-tools-for-testing https://www.npmjs.com/package/npm-collection-staff-picks

these all need to use a more unique keyword though

timoxley commented 9 years ago

also add pretty website

mattdesl commented 9 years ago

"relations" idea - https://twitter.com/joeybaker/status/591293054658707456

totally frontend for npmjs website, no need to update your package.json's (would be a pain across tons of modules)

While logged into npm.js, you can "Add Relations" to link modules A <-> B with some "See Also" suggestions. If you "Add Relation" for a module you don't maintain, it is only done one-way: YourModule -> TheirModule

But then they can accept the relation in which case it becomes two-way: YourModule <-> TheirModule.

joeybaker commented 9 years ago

A problem with a "frontend" only setting is that it makes it really hard to do static analysis on npm data :(

mattdesl commented 9 years ago

could still be retrieved via npm API (like download count etc) for analysis tools :thought_balloon:

joeybaker commented 9 years ago

Truth. I'm not sold though – it's nice to be able to define all package metadata in package.json :)

mattdesl commented 9 years ago

yeah. maybe just more tools to automate it across many modules :smile:

joeybaker commented 9 years ago

:+1: on that!

FWIW, I think we're aiming for slightly different things. You want a way to tie a bunch of related modules together – that's great, but what I'm aiming for is a way to find modules that offer similar functionality. True "alternatives".

mattdesl commented 9 years ago

another idea re: discovering new modules. hook into GitHub followers, scrape their repos for package.json files, and start to follow their trends: new modules they are discovering, new modules they are making, etc