Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


space-atom. spacemacs and sublimious style editing in atom

Subscribe to updates I use proton

Statistics on proton

Number of watchers on Github 530
Number of open issues 47
Average time to close an issue 29 days
Main language Clojure
Average time to merge a PR 1 day
Open pull requests 14+
Closed pull requests 12+
Last commit over 2 years ago
Repo Created over 4 years ago
Repo Last Updated over 2 years ago
Size 4.74 MB
Organization / Authordvcrn
Latest Releasev0.16.0
Page Updated
Do you use proton? Leave a review!
View open issues (47)
View proton activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating proton for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


Maintainers wanted

spacemacs and sublimious style editing in Atom.


What is it?

Proton (name subject to change) brings the modal editing style of Spacemacs and Sublimious with all its superpowers to Atom.

We get rid of the annoying part of Atom that being the configuration and package management and concentrate on the cool bits: its full customization capabilities.


While not ready yet, a manual is slowly getting created here


:handbag: dotfile friendly configuration

Proton will take care of setting up Atom for you. All you need to do is configure your ~/.proton file your central configuration point and Proton will do the rest.

:ok_hand: easy to remember keybindings

No one has time to remember a ton of keybindings and then learn another ton for a new tool. Proton leverages Spacemacs mnemonics in which each keybinding is assigned to a specific category:

  • SPC g s will execute [g]it [s]tatus
  • SPC p t will toggle the [p]rojects [t]ree-view

You get the idea!

:mag: discoverable

No time to read through the docs? No problem. Proton is very easily discoverable through the keybindings helper. Just hit SPC and it will pop up:


:battery: batteries included

Atom has a ton of packages but only a subset of them are actually useful. Instead of finding all the good bits yourself, rely on a crowd-configured layer system that does it for you! Every bit of functionality of Proton is encapsulated in layers. Enable what you want and don't care about the rest.

Check out all available layers here.

:package: layer based configuration

Imagine you want to do some JavaScript in Atom but you have no idea what to install and what to set up. Instead of just installing random packages by yourself, you include the :javascript layer and boom! Proton installs all the good packages and configuration for you.


There are 2 ways of installing Proton: You can compile the latest master (which should be fairly stable) or use the apm-published version.


Proton tries to be your unified configuration system. Please use a fresh Atom installation or backup your existing config as Proton will very likely wipe your settings and packages. Alternatively make sure your ~/.proton file contains your current configuration or add ["proton.core.wipeUserConfigs" false] to your ~/.proton. The template is available for download here.

Going full Proton

apm install proton-mode

or through the package manager here: https://atom.io/packages/proton-mode



Running it

lein run -m build/release

# or if you want auto-compile on change:
lein run -m build/dev-repl

will compile the ClojureScript code into JavaScript. Once that's done, go into the plugin/ folder and run

apm install
apm link

Proton should now be installed inside Atom under proton-mode.


Join us on the clojurians slack, channel #proton.



proton open issues Ask a question     (View All Issues)
  • over 3 years Change SPC SPC binding
  • almost 4 years Add support for Hydrogen/Jupyter notebooks!
  • almost 4 years Installation woes
  • almost 4 years Add 'usage guide' documentation
  • almost 4 years Splitting JavaScript layer into smaller peaces
  • almost 4 years Question: Autocomplete keybindings
  • almost 4 years Julia mode with Juno
  • almost 4 years Add integration with search tools like Spacemacs
  • almost 4 years preview keybinding does not work on first use
  • about 4 years Manage stylesheet from .proton
  • over 4 years Sort keybindings
  • over 4 years word wrapping dependent on window size
  • over 4 years Crashed atom with undefined length with my layers config
  • over 4 years Discussion about merging SPC f e and SPC _
  • over 4 years atomatigit captures command chain input
  • over 4 years Command search with keybindings listed
  • over 4 years Auto-generate READMEs
  • over 4 years Integrate new nuclide
  • over 4 years Visual markers to number panes
  • over 4 years SPC + Tab not always switching to last tab
  • over 4 years Speed up package installations
  • over 4 years Change way layers receive settings
  • over 4 years Find a better name
proton open pull requests (View All Pulls)
  • Added configuration option to disable packages
  • Window shortcuts
  • fix(package_manager): remove packages for layers
  • Swift layer
  • feat(spotify): add spotify layer
  • feat(core): Added which-key delay option.
  • fix(*): add escaping to apm path
  • Update shadow-build to fix dev-repl namespace
  • WIP: Improve go-layer
  • feat(core): Provide option to chose input mode for non-vim users.
  • Add `SPC w n` keybinding for a new window
  • WIP:Update julia layer keybindings
  • fix(core): change default theme to atom-material
  • Include complete list of languages available
proton questions on Stackoverflow (View All Questions)
  • FIWARE CEP (Proton) REST consumer stopped working after error and URL invalid charactes
  • Trying to communicate with azure service bus from android device using proton-j
  • How to detect sudden increase or decrease in value for an event using proton run time?
  • FIWARE CEP (Proton) Error in derived event attributes with Aggregate EPA
  • FIWARE CEP (Proton) REST ouput authentication error
  • getAllDefinitions Exeption in Proton CEP
  • Proton-CEP Receiving events API NGSI/XML NullPointerException
  • Sending message via AMQP using qpid-proton-c fails with error SSL Failure: Unknown error
  • CEP Proton The key was not in the map, reason: The key was not in the map
  • could not process input request on the Proton server, the input stream is down due to:invalid stream header: 504F5354
  • Proton QPID with standard input
  • Send to Event Hub to a publisher using Qpid-Proton
  • Installing Qpid-Proton in an Embedded Linux device
  • use qpid-proton to send persistent messages to Azure service bus - url parsing error
  • Deploying CEP through WARs on CentOS VM - Proton Server issue
  • python-qpid-proton examples, send message to azure not working
  • Comprehensive CEP (Proton) REST API documentation
  • Simple example writing to the Qpid Java broker with Qpid Proton not working
  • Using Python binding of Qpid Proton to get object message from ActiveMQ
  • Qpid on RPI : import error no module named Proton
  • Install python module on mac osx (qpid proton)
  • What is the difference between qpid-proton-c vs qpid-cpp
  • Qpid Proton C Assertion trasport->output_pending >= size failed
  • Proton Ide , Serial communication
  • Complext event structure in FIWARE Generic Enabler CEP - Proton
  • Will qpid proton-c supports web-socket integration?
  • Need qpid-proton publish/subscribe amqp sample program for python to access Azure topic
  • Setting custom message properties in Qpid Proton using the Python binding
  • Qpid Proton Messenger API error handling
  • AMQP Qpid Proton - Unable to send messages to more than 256 queues
proton list of languages used
proton latest release notes
v0.16.0 Release 0.16.0


  • Remove environment package due to deprecation (thanks @agustif)
  • Remove vim-mode-plus-exmode since it is no longer needed (thanks @boogie666)
v0.14.1 Release 0.14.1


This release adds the ability to hide the startup screen by setting proton.core.alwaysShowWelcomeScreen to false. (thanks @jackcasey)

v0.13.0 Release 0.13.0


Proton packages are finally no longer case dependent!


  • add lang/elm layer (thanks @geksilla)
  • fix shell process doesn't terminate on fixing PATH (thanks @geksilla)
  • fix package names being case-sensitive (thanks @geksilla)
  • fix telemetry from popping up on every start
  • cleanup window keybindings (thanks @swt30)
More projects by dvcrn View all
Other projects in Clojure