docker-compose 当初 Python で書かれていましたが、v2 からは golang で書き直され、使い方も (v1 の docker-compose では無く) docker compose 〜 といった具合に利用するように変更されました。 docker コマンドのサブコマンドとして動作しているように見えますが、これは cobra を使って実装されているようです。 以下は cobra の公式ページからの引用です。
Cobra is both a library for creating powerful modern CLI applications as well as a program to generate applications and command files.
docker サブコマンドとしての実装例は下記が参考になります。
- https://github.com/docker/cli/blob/master/cli-plugins/examples/helloworld/main.go
- https://github.com/docker/compose/blob/v2/cmd/main.go
上記を参考に、更にダイエットして「最小の docker サブコマンド」をメモしておきます。