Work Smart: Automate Documentation
Maestro is a complex product, having a modular structure. This means it consists of different elements, or modules, that can be set up and used altogether or one by one, if necessary. The majority of the tools are CLIs that need to have setup or quick start guides, reference guides, usage instructions and scenarios, etc.
Each element needs to be documented separately, and the documentation needs to be maintained timely.
This gives quite a big piece of work for either the development or documentation teams, or even both.
However, Maestro team invented their own tooling for automating CLI documentation management, and this both significantly decreases the related daily effort, and facilitates keeping all deliverables to the same style and format, irrespective of the person who creates them.
The custom documentation tool operates via a focused, repeatable pipeline:
md → .docx → .pdf
This process separates and integrates two content types:
- The static content, such as setup guides and tutorials, is written manually in Markdown (.md) files.
- The dynamic content, which is the up-to-date command reference, is automatically generated from metadata (like a JSON file) by a script. This ensures the command reference updates whenever the CLI tool source changes.
The workflow leverages three key components:
- Markdown is the source of truth for both manual and automated content, favored for being Git-friendly and easy to edit.
- Pandoc acts as the bridge, handling complex format conversion and incorporating features like page breaks to minimize manual formatting.
- DOCX is the final output format, used for reliable conversion to professional PDF documents for clients.
The proposed solution is not just a script for generating files. It is a reliable approach that builds a strong bridge between the developers of the CLI tool and its end users, ensuring that the documentation remains up‑to‑date, accessible, and professional.
For more information and the link to the tool, see Oleksii Olchedai's Medium blog post: Automating CLI Documentation: From Code to PDF in Seconds