ULib documentation is reasonably clear.
ULX, well, the code is pretty well commented, and we use a straightforward coding style, which in the end often points to standard Lua and our ULib when possible.
If you get you're own ULX commands working well, with all the hints that can be used within them, (, hint = "Number of <x>", ), and if needed, you're own category...I'm reasonably sure XGUI picks up on it.
Stickly Man has done a good job of XGUI "command-awareness".