• Stars
    star
    3,539
  • Rank 12,543 (Top 0.3 %)
  • Language
    Emacs Lisp
  • License
    GNU General Publi...
  • Created over 12 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Clojure Interactive Development Environment that Rocks for Emacs

CIDER Logo


License GPL 3 CircleCI Spell-check Status Discord Slack

CIDER is the Clojure(Script) Interactive Development Environment that Rocks!

CIDER extends Emacs with support for interactive programming in Clojure. The features are centered around cider-mode, an Emacs minor-mode that complements clojure-mode. While clojure-mode supports editing Clojure source files, cider-mode adds support for interacting with a running Clojure process for compilation, code completion, debugging, definition and documentation lookup, running tests and so on.


OpenCollective OpenCollective Patreon Paypal

Bozhidar (a.k.a. Bug, CIDER's primary author/maintainer) has spent countless hours working on CIDER and the numerous related projects. That's a lot of work and not all of it is fun!

Please consider supporting financially CIDER's ongoing development.

Quickstart

The instructions that follow are meant to get you from zero to a running CIDER REPL in under 5 minutes. See the online documentation for (way) more details.

Installation

MELPA MELPA Stable NonGNU ELPA

The recommended way to install CIDER is via package.el - the built-in package manager in Emacs.

CIDER is available on all major package.el community maintained repos - NonGNU ELPA, MELPA Stable and MELPA.

Provided you've enabled one of them in your Emacs setup, you can install CIDER with the following command:

M-x package-install RET cider RET

Launch an nREPL server and client from Emacs

Simply open in Emacs a file belonging to your lein, tools.deps or boot project (like foo.clj) and type M-x cider-jack-in. This will start an nREPL server with all the project dependencies loaded in and CIDER will automatically connect to it.

Alternatively you can use C-u M-x cider-jack-in to specify the path to a Clojure project, without having to visit any file in it.

Tip: In Clojure(Script) buffers the command cider-jack-in is bound to C-c C-x (C-)j.

Connect to a running nREPL server

You can go to your project's directory in a terminal and type there (assuming you're using Leiningen that is):

$ lein repl

Or with Boot:

$ boot repl -s wait

Alternatively you can start nREPL either manually or by the facilities provided by your project's build tool (tools.deps, Gradle, Maven, etc).

After you get your nREPL server running go back to Emacs. Typing there M-x cider-connect will allow you to connect to the running nREPL server.

Tip: In Clojure(Script) buffers the command cider-connect is bound to C-c C-x (C-)c (C-)j and the command cider-connect-cljs is bound to C-c C-x (C-)c (C-)s.

Diving Deeper

CIDER packs a ton of functionality and you really want to be familiar with it, so you can fully empower your workflow. The best way to get acquainted with all available features is to go over the entire CIDER manual.

If you're into video lessons, you might also check out this intro to CIDER demo as well.

Quick Reference Card

You'll find all of CIDER's essential commands and their keybindings in its one-page printable quick reference card.

New CIDER users might benefit from keeping a copy close to their keyboard.

Get Help

Start with CIDER's discussions board. If it doesn't get the job done consider some of the other available support channels.

Changelog

An extensive changelog is available here.

Team

The Core Team

The direction of the project is being stewarded by the CIDER core team. This group of long-term contributors manage releases, evaluate pull-requests, and does a lot of the groundwork on major new features.

CIDER Alumni

In addition, we'd like to extend a special thanks the following retired CIDER core team members. Lovingly known as The Alumni:

Release policy

We’re following SemVer.

You can read more on the subject here.

Logo

CIDER's logo was created by @tapeinosyne. You can find the logo in various formats here.

The logo is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Homepage

CIDER's homepage https://cider.mx is in the gh-pages branch of this repository and is deployed automatically when changes are made to it.

It's just a single index.html file and a bit of Bootstrap 4. Contributions to it are very welcome!

Funding

While CIDER is free software and will always be, the project would benefit immensely from some funding. Raising a monthly budget of a couple of thousand dollars would make it possible to pay people to work on certain complex features, fund other development related stuff (e.g. hardware, conference trips) and so on. Raising a monthly budget of over $5000 would open the possibility of someone working full-time on the project which would speed up the pace of development significantly.

We welcome both individual and corporate sponsors! We also offer a wide array of funding channels to account for your preferences (although currently Open Collective is our preferred funding platform).

If you're working in a company that's making significant use of CIDER we'd appreciate it if you suggest to your company to become a CIDER sponsor.

You can support the development of CIDER, clojure-mode and inf-clojure via Open Collective, GitHub Sponsors, Patreon and PayPal.

Open Collective Backers

Open Collective Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

License

CIDER is distributed under the GNU General Public License, version 3.

Copyright © 2012-2023 Bozhidar Batsov, Artur Malabarba, Tim King, Phil Hagelberg and contributors.

More Repositories

1

clojure-mode

Emacs support for the Clojure(Script) programming language
Emacs Lisp
909
star
2

clj-refactor.el

A CIDER extension that provides powerful commands for refactoring Clojure code.
Emacs Lisp
771
star
3

cider-nrepl

A collection of nREPL middleware to enhance Clojure editors with common functionality like definition lookup, code completion, etc.
Clojure
673
star
4

sayid

A debugger for Clojure
Clojure
406
star
5

orchard

A fertile ground for Clojure tooling
Clojure
326
star
6

refactor-nrepl

nREPL middleware to support refactorings in an editor agnostic way
Clojure
257
star
7

inf-clojure

Basic interaction with a Clojure subprocess
Emacs Lisp
249
star
8

squiggly-clojure

Flycheck checker for Clojure, using eastwood and core.typed.
Emacs Lisp
204
star
9

clomacs

Simplifies Emacs Lisp interaction with Clojure and vice versa.
Emacs Lisp
200
star
10

clojure-cheatsheet

[DEPRECATED] The Clojure Cheatsheet for Emacs
Emacs Lisp
193
star
11

clojure-ts-mode

The next generation Clojure major mode for Emacs, powered by TreeSitter
Emacs Lisp
129
star
12

clj-suitable

ClojureScript "IntelliSense" support for JS objects and their properties/methods. Via figwheel and Emacs CIDER.
Clojure
114
star
13

ac-cider

[DEPRECATED] Emacs auto-complete backend for CIDER
Emacs Lisp
80
star
14

ac-nrepl

[DEPRECATED] Emacs auto-complete backend for nrepl completions
Emacs Lisp
74
star
15

helm-cider

Helm interface to CIDER
Emacs Lisp
66
star
16

parseclj

Clojure Parser for Emacs Lisp
Emacs Lisp
60
star
17

cljs-tooling

[DEPRECATED] Tooling support for ClojureScript
Clojure
60
star
18

parseedn

EDN parser for Emacs Lisp
Emacs Lisp
59
star
19

example-config

A sample Emacs config for Clojure development to ease your pain
Emacs Lisp
37
star
20

haystack

Let's make the most of Clojure's infamous stacktraces!
Clojure
34
star
21

enrich-classpath

Enriches Lein/deps.edn dependency trees with Java sources, JDK sources, javadocs, etc
Clojure
32
star
22

cider-decompile

An extension to CIDER which provides a decompilation command
Emacs Lisp
27
star
23

cider-hydra

Hydras for CIDER
Emacs Lisp
24
star
24

cider-eval-sexp-fu

eval-sexp-fu.el extensions for CIDER.
Emacs Lisp
12
star
25

hackingcider

HTML
10
star
26

clojuredocs-export-edn

Daily EDN exports of ClojureDocs's database.
Clojure
9
star
27

logjam

An interactive, nrepl-oriented logging backend
Clojure
1
star
28

docs.cider.mx

CIDER's documentation site
Handlebars
1
star