The Unix Philosophy defines a culture of how to write tooling in the Unix world. At its core, the Unix Philosophy is about designing tools that work together. A consequence is that there must be some rules or convention such that programs can communicate. The power of the Unix Philosophy is that it lets us both automate our workflows and also build more sophisticated and powerful solutions by combining tools. The most common conventions in the Unix world are: