Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The DevDocs Pattern

Why Documentation Drives Development

In traditional development, code comes first and documentation follows. In VDD, this relationship inverts: documentation becomes the source code that AI compiles into implementation. When AI understands not just what to build but why and how it fits together, it transforms from a code generator into a thoughtful collaborator.

The DevDocs pattern solves three critical problems:

  1. Vision Drift - Without explicit documentation, AI gradually diverges from your intent
  2. Context Loss - AI has no persistent memory between sessions
  3. Cognitive Overload - Mixing planning and implementation causes errors and hallucinations

By separating planning (documentation) from execution (code), we give AI clear, focused tasks it can excel at.

The Core Principle

DevDocs is real-time projection of AI’s understanding in markdown format. It’s not passive documentation - it’s active development logic that drives implementation.

The workflow:

  1. AI documents what it plans to implement
  2. Human reviews and adjusts to match vision
  3. AI implements based on agreed documentation
  4. Documentation evolves with the project

This creates a feedback loop where documentation and code stay synchronized, and allows action of HILing in everystep in order to guide AI to intended direction.

DevDocs isn’t about perfect documentation. It’s about maintaining a shared mental model between human vision and AI implementation. The documentation becomes the meeting ground where human intent transforms into working code.

Example DevDocs Structure

A complete DevDocs folder provides layered context from high-level vision to specific implementation details:

project-root/
└── devdocs/
    ├── foundation/
    │   ├── project_description.md      # What we're building
    │   ├── philosophy.md               # Core principles and values
    │   ├── known_requirements.md       # Known requirements
    │   
    │
    ├── concepts/
    │   ├── concepts_to_implement.md    # Extracted technical concepts
    │   ├── simplified_concepts.md      # Prototype-ready versions
    │   ├── concept_clarifications/     # Detailed concept specs
    │   └── simplified_clarifications/  # Simplified specs
    │
    └── enhancements/             # Future improvements
    │── explorations/             # freestyle exploration and analysis documents
    │
    ├── modules/
    │   └── [module_name]/
    │           ├── what_is_this_for.md
    │           ├── interfaces_and_endpoints.md
    │           ├── integration_points.md
    │           ├── integration_requirements.md
    │           ├── limitations.md
    │           ├── possible_use_cases.md
    │           ├── edge_cases_covered.md
    │           └── example_usage.md
                └── summary.md
    │
   

Besides from these there can be other type of side product documents depending on the project. Now we will go through each of them and explain what makes them powerful for VDD.