Description
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:
Goal |
|
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:
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. |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.