Hi @jonnyrobots,
Nice to meet you! At the moment, I’m working on the usability of pip (the Python package manager) which is a CLI tool.
Hmm, that’s a good question you’ve asked. I’ve been putting together a (short) list of resources for myself about CLI design. It’s not a very long list. 
I can post some of the things I’ve found here. Most of the same principles apply to CLI, just that its a lot more restricted in terms of possibilities, and that the UI is more…procedural. (I can’t find the right word for what I mean).
In terms of API design, thing main thing is - APIs are for machine to machine interaction. That interaction needs to be built by developers. Developers understand how the API works by reading the documentation (and possibly reading the code). Therefore it is really important that the documentation is usable by the develoeprs.
So do usability testing of the documentation with the developers. If necessary, get a content designer (person who writes good readable documentation) and get them involved in testing the documentation. There are different ways you can do this, here’s an easy old method
(I don’t have an experience of testing APIs and their documentation with this method)
If you have any particular questions, or things you want to discuss, fire away and post them here.
Also, I’d be very interested in hearing about what your working on.