You might want to look at the Clojure library coding standards on the developer Wiki – this is probably the most comprehensive list that I’ve seen.
Update: link above seems to be dead, consider instead: https://clojure.org/dev/contrib_howto#_coding_guidelines
To your specific points:
- File names are lowercase, and stored in a directory structure to match the namespace, and end in .clj e.g. “my/special/namespace.clj
- Functions are dash-separated-lowercase-words, ideally descriptively chosen so that your code is clear and self-documenting. Don’t be afraid to re-use good function names in different namespaces (that is what namespaces are for!).
- Variables (by which I assume you mean parameters, let-bound variables etc.) are also usually dash-separated-lowercase-words. Since code-is-data, I think it is appropriate that functions and data have the same naming convention 🙂