Contributor Guide


I am a newbie contributor and want to work on atom.I am using atom from past four months. Can anyone guide me, how to start building the atom editor and how to work on the code, so that i can work on the issues.


There is a Build section in the README with instructions for each platform as well as a Contributing document which should cover everything you need to start working on PRs.


I followed the Building section. I ran the script/build
I got following error.
opensource@opensource:~/atomeditor/atom$ sudo script/build
Node: v0.10.33
npm: v2.5.1
Installing build modules…
Installing apm…
/home/opensource/atomeditor/atom/apm/node_modules/atom-package-manager/bin/apm: line 40: /home/opensource/atomeditor/atom/apm/node_modules/atom-package-manager/bin/node: No such file or directory


The Build section doesn’t say to use sudo for script/build to my knowledge … which instructions are you following exactly?


@leedohm I tried without sudo also, got same error :frowning:
I am following (Linux).
Please help.


You shouldn’t use sudo for the Atom installation. It causes problems down the line.

Could you give the following information?

  • What OS and version are you running?

You also may just want to search the Issues on atom/atom to see if anyone else is running/has run into the same issue.


I am running Linux- Ubuntu 14.04.
Also i tried without sudo only where it was possible but still.
Also it’s difficult to search from the long list of issue but i tried , couldn’t find any.
Shouldn’t be a irc channel to sort out small issue quickly.From two i am trying to build but failed :frowning:
@leedohm plz help


Pretty sure #atom on FreeNode?


Couldn’t find you there. Your nick ? @leedohm


I don’t go on the IRC channel, sorry. I was assuming someone else there could help you.


Np @leedohm :slight_smile: I got the issue here hope it will help.
Thannks for your help. One more help, can you find me some beginner issue/bug on which i can start contributing.


Check out open issues on atom/atom. There are probably hundreds you could choose from.

Also, if you would contribute features to one of my projects I would be happy to hold your hand, by which I mean answering a lot of questions. Pick a project that interests you from Maybe find-selection? It is tiny and there are several improvements that would be appreciated.


Thanks a lot @mark_hahn for holding my hand :slight_smile: I will be happy to work under your guidance.
So, For now i already build atom with the help of this doc (
For working on package, please guide me how to set up dev environment and start debugging the code.

  • fork the mark-hahn/find-selection repo.
  • do a git clone of your repo fork to the directory you like to put repos in. Lets assume ~/repos
  • cd ~/repos/find-selection
  • apm install
  • apm link
  • atom --dev .

After a (long) while you will see Atom open in your find-selection directory.

  • Try editing something. Maybe put console.log "hello world" at the beginning of the activate method.
  • Use ctrl-alt-R to reload atom.
  • Select something and press ctrl-f3

Open the console.log with ctrl-alt-I. You should see your output.

You homework assignment (grin) is to read the docs at The API reference is at

Have fun …


@mark_hahn Why new empty line shows as + - (in terminal), whenever i do so changes. i.e whenever do any changes, new line - + showing in diff along with the change what i did.


I don’t understand what you mean by terminal or showing in diff.

Can you show me a screen capture?


i have send the patch to github. please check that :slight_smile: Also can you tell your timezone so that we can have better communication as their no other source (like irc) other than discuss. @mark_hahn


I’m in the pacific time zone, but I don’t use IRC. We can start talking with issues on the repo. Post questions as new issues and problems as new issues.


Your editor is removing spaces at the end of the line and mine isn’t. So those line endings are changing. You should turn off that feature when doing PRs.


I couldn’t open console.log with ctrl-alt-I. I am using Ubuntu 64bit. And also I see a deprecation saying:

ContextMenuManager::add has changed to take a single object as its argument. Please see for more info.

Please help.