jbranchaud/splitting-atoms

Best practice for naming Atom packages?

Opened this issue · 11 comments

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

  • mypackage
  • atom-mypackage

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

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.

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

@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.

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. 🐱 🐈

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.

👍 , I do exactly as @tombell

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.

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!

Hi,

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

for naming my packages..

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

Thanks! @rgbkrk