jbranchaud / splitting-atoms

:dizzy_face: a community-built, community-driven guide to hacking on the Atom editor
http://jbranchaud.github.io/splitting-atoms/
MIT License
355 stars 29 forks source link

Best practice for naming Atom packages? #43

Open jbranchaud opened 10 years ago

jbranchaud commented 10 years ago

There are packages being published with two common naming schemes right now:

Thoughts on which convention we should encourage in our guide? Seems like it would be helpful if the community could stick to just one, in my opinion.

For reference: tweet on the topic

DWiechert commented 10 years ago

Are atom packages able to be used in any other scenario other than Atom? If not, it seems to me that they should just be named mypackage because it's obvious that they're only used in Atom. Also, I feel it's more intuitive to search for a package named mypackage instead of atom-mypackage.

rgbkrk commented 10 years ago

An annoying component of apm's search right now is that it only searches full tokens as delimited by -. No indexing on the descriptions either.

Head to Head

Run vs. Runner

$ apm search run
Search Results For 'run' (0)
└── (empty)

Use `apm install` to install them or visit http://atom.io/packages to read more about them.
$ apm search runner
Search Results For 'runner' (4)
├── atom-runner Runs scripts inside of Atom.
├── cucumber-runner Atom Cucumber runner package
├── grunt-runner Run your grunt tasks from Atom.
└── make-runner Make runner for the Atom editor.

Use `apm install` to install them or visit http://atom.io/packages to read more about them.

Lint vs. Linter

$ apm search lint
Search Results For 'lint' (2)
├── atom-lint Generic code linting support
└── coffee-lint CoffeeScript linter

Use `apm install` to install them or visit http://atom.io/packages to read more about them.

$ apm search linter
Search Results For 'linter' (2)
├── atom-linter It's a linter. It lints things.
└── linter Validates your code using linters.

My Terrible Advice

To maximize SEO (shoot me now), make really long names with lots of dashes in between.

python-lint-linter-ruby-coffeescript-javascript-kitten

Relevant forum post

jbranchaud commented 10 years ago

@rgbkrk Wow, didn't realize the search situation was that bad. I have to imagine they will improve the search technique, especially since it encourages (as you have described) the use of terrible names for high SEO ranking.

@DWiechert Agreed that it makes more sense to search for the package name straight up as opposed to appending atom- to the front of it.

rgbkrk commented 10 years ago

If/when the code for Atom is opened up, not just me digging into source within /Applications/Atom.app/Contents/, I'd love to submit issues and Pull Requests. For now, forums.

The only reason I see for packages having atom- prepended is if they also want to upload their package to npm.

...terrible names for high SEO ranking.

Everyone will love the kitten modules. :cat: :cat2:

tombell commented 10 years ago

I name my packages without the atom- as the actual package name, but if there is a project on GitHub with a similar name I'll prefix the repo name with atom- but not the package.

ardcore commented 10 years ago

:+1: , I do exactly as @tombell

rgbkrk commented 10 years ago

Looks like search has been improved:

$ apm search run
Search Results For 'run' (6)
├── atom-runner Runs scripts inside of Atom.
├── cucumber-runner Atom Cucumber runner package
├── grunt-helper Helps working with Grunt
├── grunt-runner Run your grunt tasks from Atom.
├── make-runner Make runner for the Atom editor.
└── runcoderun Runs the active file in another pane

Still only package names though. Description means nothing.

jbranchaud commented 10 years ago

I agree that there should be no atom- prefixed on package names, but I do think it is helpful to always have atom- prefixed on the repository name regardless of a naming conflict.

It is nice to see the search is improving!

palashu commented 8 years ago

Hi,

Can i use version "v1.1" instead of "0.1.1" ??

for naming my packages..

rgbkrk commented 8 years ago

@palashu Do it the npm way, do full SemVer.

palashu commented 8 years ago

Thanks! @rgbkrk