Automating documentation a new way forward

· origo's blog


Automating Documentation with LLMs: A Smarter Way Forward? #

Introduction: The Documentation Dilemma #

If you’ve ever worked on a fast-moving software project, you know the drill: code evolves, features ship, and documentation... well, it lags behind. Outdated READMEs, missing API details, and tribal knowledge become the norm. It’s frustrating for developers, confusing for new hires, and downright painful for end-users.

But what if documentation didn’t have to be a chore? What if it could keep up with your code, adapt to changes, and even help you work smarter? That’s the promise of automated documentation systems powered by custom tooling and Large Language Models (LLMs). These systems aim to bridge the gap between rapidly evolving codebases and the need for clear, accurate, and actionable documentation.

In this post, I’ll share how we’re exploring this challenge with a custom-built documentation automation system. While it’s still in its early stages, this system represents a bold step toward rethinking how documentation fits into the development lifecycle.


The Problem: Documentation in a Microservice World #

Microservices are great for scaling systems, but they’re a nightmare for documentation. Each service has its own API, dependencies, and quirks. Keeping everything in sync—across dozens or even hundreds of services—is a Herculean task. And when documentation falls out of sync, the consequences are real:

Traditional approaches to documentation—manual updates, static READMEs, and sporadic audits—just don’t cut it. We needed a better way.


The Vision: Automating Documentation with Custom Tooling and LLMs #

The system we’ve built isn’t just a tool for generating READMEs—it’s a reimagining of how documentation could fit into the development lifecycle. At its core, it combines custom tooling for extracting context from codebases with the power of LLMs to generate clear, structured, and actionable documentation. Here’s what makes it exciting:

1. Holistic, Always-Up-to-Date Docs #

The system doesn’t just document individual services—it creates a comprehensive framework guide that ties everything together. This guide includes:

By keeping the big picture in focus, the system ensures that documentation is more than just a collection of isolated READMEs—it’s a cohesive resource for understanding the entire ecosystem.

2. Custom Tooling for Context Extraction #

One of the system’s key innovations is its ability to extract rich context from the codebase. This includes:

These tools provide the raw material for generating documentation that’s both detailed and accurate. They also reduce the time developers spend digging through code to understand how things work.

3. Iterative Refinement #

Documentation evolves in two steps:

This iterative process ensures that documentation is both detailed and context-aware, evolving from granular service-level details to a more interconnected, holistic perspective.

4. LLM-Optimized Content #

Every README is designed with LLMs in mind. This means:

Imagine asking an AI, “How does Service A interact with Service B?” and getting a precise, diagram-backed answer. That’s the potential of LLM-optimized docs.


Why This Matters: The Potential Impact #

While the system is still new and untested, its potential impact is clear. Here’s what we hope it will achieve:

Of course, these are aspirations, not guarantees. The system is still in its infancy, and we’re eager to see how it performs in real-world scenarios.


Acknowledging the Unknowns: What’s Next? #

As exciting as this system is, it’s important to be transparent: we haven’t fully tested it yet. No new hires have used it, and we’re still gathering feedback from the team. This is very much a work in progress.

That said, we’re optimistic about its potential. The system addresses real pain points we’ve experienced firsthand, and its design is grounded in practical needs. Over the coming months, we’ll be evaluating its effectiveness, refining its features, and exploring new ways to integrate it into our workflows.


The Bigger Picture: A Glimpse into the Future #

Automated documentation systems like this one aren’t just a convenience—they’re a glimpse into the future of software development. Here’s why:

As software systems grow more complex, the need for automation will only increase. And while this system is just one example, it’s a step toward a world where documentation isn’t an afterthought—it’s a first-class citizen in the development process.


Conclusion: A Smarter Way Forward #

Documentation has always been a pain point for developers, but it doesn’t have to be. By combining automation, custom tooling, and LLM optimization, we believe it’s possible to create documentation that’s not just accurate—it’s transformative.

This system is an experiment in that direction. While it’s still early days, we’re excited about the possibilities and eager to learn from the journey ahead.

What do you think? Could automated documentation transform your workflow?