Documentation tooling

Docme

An in-progress C++23 documentation generator built around configurable language handlers, a tagged comment standard, and pluggable output renderers.

Overview

Documentation generation as a configurable pipeline.

Docme is organized around a small engine that loads project settings, selects a language handler, parses annotated source files, and passes the resulting documentation model to configured renderers. The intent is to keep parsing rules separate from presentation so additional source languages and output formats can be introduced independently.

Architecture

Configuration to generated reference material.

ConfigurationSource paths, exclusions, handlers, and renderers.

ParserA language handler converts tagged comments into a model.

RendererThe model is prepared for Markdown or JSON output.

Configuration

A project file keeps generation reproducible.

The repository includes a JSON configuration that identifies source folders, ignored paths, the output destination, the CDoc language handler, and intended renderers.

docme.jsonJSON
{
  "project_name": "MyProject",
  "source": [""],
  "ignore": ["deps/", "build/"],
  "output": "path/to/output/dir",
  "language_handler": ["cdoc"],
  "renderer": ["markdown", "json"]
}
Current scope

An active project with the CLI path under development.

The codebase currently contains the core, configuration, plugin, generator, engine, and command-line packages, together with a written CDoc tag specification. A graphical interface is represented in the repository structure but is not implemented, and the generator remains in active development.

That status is intentional here: this page documents the architecture and current implementation without presenting planned Markdown and JSON rendering as finished functionality.