I guess you didn't understand me in the comments - the nrepl completion middleware should be part of the [cider-nrepl](https://github.com/clojure-emacs/cider-nrepl) project. That's the only way to ensure the middleware will always be in sync with cider. Other projects will obviously be welcome to use cider's middleware, but compatibility with them will not be a priority.