Starting with cider

I’m just starting to use cider, after using Common Lisp/slime for 15+ years.

I wonder how a couple of concepts from slime translate to cider, if at all.

In Slime, I can press C-c C-c anywhere within an expression (in a source code file), and it with find the top level expression which the cursor is sitting inside, evaluate that expression, but not move the cursor. Can I do that in cider?

Also how can I evaluate a project? Sorry I don’t know if that question really makes sense, because I’m also just learning the leiningen concept as well. But it seems like the directory structure might contain lots of files, which need to be loaded in some particular order. What controls the order, and how can I tell cider to load them all in the correct order?

Yep, C-c C-c runs cider-eval-defun-at-point, which acts as you’ve described.

Not sure about evaluating a project per se. Hopefully someone else can chime in there. For now you can navigate to the function you want as your project’s entry point, and do a C-c C-c there. You may need to do a C-c C-k to evaluate the whole buffer to make sure all the forms there are available.