Introduction and Goals

Requirements Overview

Large Language Models (LLMs) face significant challenges when interacting with extensive documentation projects. The primary issues are:

  • Token Limitations: Large, single-file documents exceed the context window of most models.

  • Lack of Structure Awareness: LLMs cannot navigate or understand the hierarchical structure of a documentation project (e.g., chapters, sections).

  • Inefficient Access: Reading entire files is token-inefficient when only small sections are needed.

  • Difficult Manipulation: Modifying specific parts of a document is cumbersome and error-prone.

dacli (Documentation Access CLI) aims to solve these problems by providing structured, content-aware tools for interacting with AsciiDoc and Markdown projects. Available as both a CLI tool and MCP server, it enables efficient navigation, reading, and modification of complex documentation.

Quality Goals

The architecture will prioritize the following key quality goals, derived from the non-functional requirements:

Table 1. Top Quality Goals

Goal

Description

Performance

API calls for typical navigation and read operations must respond in under 2 seconds. Pre-processing during startup is acceptable.

Data Integrity & Reliability

Changes to documents must be atomic. No data loss shall occur during file modifications, even in case of errors.

Usability

The system must be fully compliant with the Model Context Protocol (MCP) to ensure seamless integration for developers and architects.

Scalability

The server must handle large documentation projects of up to 600 pages without significant performance degradation.

Stakeholders

The primary stakeholders of dacli are:

Table 2. Stakeholders

Role/Name

Contact

Expectations

Software Developer

Development Team

Uses dacli to analyze and maintain code documentation with LLM assistance.

Software Architect

Architecture Team

Uses dacli to manage and update large-scale architecture documents (e.g., arc42) with LLMs.

Documentation Engineer

Documentation Team

Manages complex documentation projects, relying on dacli for efficient navigation and maintenance.

stakeholder overview