Atom Editor Architecture


I am willing to understand atom editor architecture and file structure for my own personal project. Being a newbie in this area I am unable to figure it out myself. It would be great if someone could lay it out so that I could understand technologies and practices powering atom editor.



The Atom editor uses Atom-Shell underneath, it would be worth reading the docs in that repo if you want to learn more about the technology behind Atom.


@Arcath Sure I will start looking into it. Just out of curiosity is there a way to run atom editor directly into a browser rather than atom shell? I have read posts that atom shell is based on chromium project. For the security reasons browsers don’t provide access to local filesystem. If I am not wrong this was the motivation behind building atom-shell.


No, there is no way to run Atom in a browser. Yes, access to the local filesystem was one of the motivations for that.

There are also a lot of architecture tidbits on the Atom Blog.


What are you trying to do with your project? You might be able to do it in a package which would not require understanding atom-shell.


@mark_hahn I am thinking of building a browser based SVG Editor and draping modules which could be used by fashion designers. Basic idea for understanding architecture of atom editor is to know how package and theme developments work at the core level. I have gone through the code its extremely elegant and understandable. Even the package development is very easy. I am planning to use similar practices for my project. Therefore I am trying to understand how the complete system works.


I prepared small article about Atom Shell architecture. Maybe it will help