For creating a cross platform library that just works it's pretty painless. Have you tried java/maven? Or webpack? Or god forbid cross platform C++?
Your problem seems to be focused on the fact that command line interfaces are not discoverable. This is true of all command line interfaces. Linux/Unix has many utilities that are quite foreign at first. But once you learn the interface (and in this case it is quite simple) you can accomplish things with quite a bit of efficiency.
I don't think I'm totally alone with that sentiment either. .NET Core was a project that had pretty high expectations from the beginning, a cross-platform, sane and simpler .NET development platform (C#/F# too!).
They've got a solid idea on how to work .NET Core, the desktop .NET framework and .NET Standard as the bridge, but the tooling for .NET Core work is undergoing frequent revisions.