Utilities to generate (reference) documentation for the docker CLI
Go
24
265 commits
updated Oct 9, 2026
This is a library containing utilities to generate (reference) documentation
for the docker CLI on docs.docker.com.
This library is intended for use by Docker's CLIs, and is not intended to be a general-purpose utility. Various bits are hard-coded or make assumptions that are very specific to our use-case. Contributions are welcome, but we will not accept contributions to make this a general-purpose module.
To generate the documentation it's recommended to do so using a Go submodule in your repository.
We will use the example of docker/buildx and create a Go submodule in a
docs folder (recommended):
$ mkdir docs
$ cd ./docs
$ go mod init github.com/docker/buildx/docs
$ go get github.com/docker/cli-docs-tool
Your go.mod should look like this:
module github.com/docker/buildx/docs
go 1.16
require (
github.com/docker/cli-docs-tool v0.0.0
)
Next, create a file named main.go inside that directory containing the
following Go code from example/main.go.
Running this example should produce the following output:
$ go run main.go
INFO: Generating Markdown for "docker buildx bake"
INFO: Generating Markdown for "docker buildx build"
INFO: Generating Markdown for "docker buildx create"
INFO: Generating Markdown for "docker buildx du"
...
INFO: Generating YAML for "docker buildx uninstall"
INFO: Generating YAML for "docker buildx use"
INFO: Generating YAML for "docker buildx version"
INFO: Generating YAML for "docker buildx"
Generated docs will be available in the ./docs folder of the project.
Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md
Overall
Maintained
Code review
Go module
Latest release
Releases this year
Utilities to generate (reference) documentation for the docker CLI
Go
24
265 commits
updated Oct 9, 2026
This is a library containing utilities to generate (reference) documentation
for the docker CLI on docs.docker.com.
This library is intended for use by Docker's CLIs, and is not intended to be a general-purpose utility. Various bits are hard-coded or make assumptions that are very specific to our use-case. Contributions are welcome, but we will not accept contributions to make this a general-purpose module.
To generate the documentation it's recommended to do so using a Go submodule in your repository.
We will use the example of docker/buildx and create a Go submodule in a
docs folder (recommended):
$ mkdir docs
$ cd ./docs
$ go mod init github.com/docker/buildx/docs
$ go get github.com/docker/cli-docs-tool
Your go.mod should look like this:
module github.com/docker/buildx/docs
go 1.16
require (
github.com/docker/cli-docs-tool v0.0.0
)
Next, create a file named main.go inside that directory containing the
following Go code from example/main.go.
Running this example should produce the following output:
$ go run main.go
INFO: Generating Markdown for "docker buildx bake"
INFO: Generating Markdown for "docker buildx build"
INFO: Generating Markdown for "docker buildx create"
INFO: Generating Markdown for "docker buildx du"
...
INFO: Generating YAML for "docker buildx uninstall"
INFO: Generating YAML for "docker buildx use"
INFO: Generating YAML for "docker buildx version"
INFO: Generating YAML for "docker buildx"
Generated docs will be available in the ./docs folder of the project.
Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md
Overall
Maintained
Code review
Go module
Latest release
Releases this year