Clash is a standard before it is a program
What made Clash matter is the configuration format: a YAML file describing proxies, proxy groups and the rules that pick between them. That format is the thing an ecosystem grew around, and it is what people mean when they say a client is Clash-compatible.
There is also a Clash program that reads it, with no interface of its own — on a desktop it runs from the command line, and on a phone it cannot run by itself at all. The standard and that one implementation are separate things, which is why more than one engine can read the same file.