Manage external services from within Emacs
I came up with the idea when I got to work one Monday morning and before I could start working I had to manually start ten or so services.
To get rid of this tedious work, I started working on this Emacs plugin. Prodigy provides a Magit-like GUI to manage services in a simple way.
prodigy to your Cask file:
&optional doc-string &rest args)
See doc-string for information about available properties to specify:
M-x describe-function RET prodigy-define-service
Start Prodigy with
M-x prodigy. You should see a list of all defined
Next service (
Go to next service.
Prev service (
Go to previous service.
Start service (
Start service at line or marked services.
Stop service (
Stop service at line or marked services.
Restart service (
Restart service at line or marked services.
Display service process output (
Switch to buffer for service at line.
Open in browser (
Open service at line in browser.
Mark service (
Mark service at line.
Mark services with tag (
Mark services with tag.
Mark all services (
Mark all services.
Unmark service (
Unmark service at line.
Unmark services with tag (
Unmark services with tag.
Unmark all services (
Unmark all services.
Refresh GUI (
Start simple Python server:
(prodigy-define-service :name "Python app" :command "python" :cwd "/path/to/my/project" :args '("-m" "SimpleHTTPServer" "6001") :tags '(work))
Start Node server:
(prodigy-define-service "My awesome Node app." :name "Node app" :command "nodemon" :cwd "/path/to/my/project" :args '("app.coffee") :port 6002 :tags '(work node))
Start Sinatra server:
(prodigy-define-service :name "Sinatra" :command "server" :cwd "/path/to/my/project" :path '("/path/to/my/project/bin") :port 6003 :tags '(work ruby) :init (lambda () ;; Setup RVM ))
Contribution is much welcome!
Install Cask if you haven't already, then:
$ cd /path/to/prodigy.el $ cask
Run all tests with: