"At my current job, I've built a CLI tool that has over 20 different commands that help my team with doc ops and content quality. We frequently add, remove, and refine commands as our approach to documentation matures and our tooling changes. Our CLI was built to work with our docs repo, and has tools that let us do things like:
- Validate all our arbitrary frontmatter
- Generate card components for individual pages from frontmatter
- Regenerate our custom Vale Views
- Run a bunch of git commands for reporting purposes
- Build a changelog for our Fern Definition
- Summarize changes on a branch compared to main (to help draft release notes)
- Extract and format a list of all our public endpoints from our Fern Definition
- Generate a list of slugs and their associated filenames
- Regenerate all D2 diagrams
- Preflight checks that run all of our doc quality checks
- So much more
Some of our commands are just thin wrappers for commands for other tools we use (like Fern, Vale, git, and Linkinator). Some of our commands are just wrappers for bundles of our homegrown scripts. There aren't any hard rules for building your own internal CLI tooling. I just happened to bundle it all up into a CLI tool because that's what made sense for my team. Do what makes sense for your team."
https://docsgoblin.com/blog/25-12-03-building-tooling.html
#TechnicalWriting #DocsAsCode #Automation #SoftwareDocumentation #CLI #DocOps #Git #Vale