v0.9.8 - OpenAPI Collapsible Operations & Schema Constraints, LLMs Prompt & Grouping, Link Validation & Turkish i18n

Highlights

docmd v0.9.8 introduces major enhancements to API documentation with collapsible OpenAPI operations and detailed schema constraints, adds custom system prompt support and section grouping to the LLMs plugin, resolves link validator edge cases, guarantees clean stdio output for MCP JSON-RPC clients, and brings full internationalization parity with Turkish language support.

  • OpenAPI Operations & Schema Constraints (@docmd/plugin-openapi): OpenAPI endpoint blocks are now collapsible for cleaner browsing of large APIs (PR #255 by @w666, closing #254). Endpoint parameters and schemas display validation constraints (min/max, string length, regex patterns, required flags) and array items clearly.
  • Bundled OpenAPI Runtime Dependencies: Added js-yaml and markdown-it directly as runtime dependencies of @docmd/plugin-openapi (PR #255 by @w666), preventing runtime resolution errors in standalone or containerized environments.
  • LLMs Plugin Prompt Configuration (@docmd/plugin-llms): Added a top-level prompt setting that prepends custom instructions and guidelines for AI coding agents to llms.txt. Documentation links in llms.txt are now logically grouped by section.
  • Link Validator Hardening (@docmd/core): Link validation now strips optional markdown link titles ([text](url "title")) and skips links inside fenced code blocks (closing #259). Also resolves /assets/ absolute paths and accommodates empty alt-text image links without false positives (PR #256 by @Aryan007-dev, closing #250 and #251).
  • Clean MCP Stdout (@docmd/core): Suppressed TUI banner emission on stdout when running docmd mcp (PR #260 by @vishalhabib99). ANSI escape sequences no longer interfere with JSON-RPC protocol communication with AI clients like Claude Desktop and Cursor.
  • Internationalization (i18n) Parity & Turkish Support (@docmd/ui): Added full Turkish (tr) UI translations (PR #258 by @KeuqS) and README.tr.md. Reconciled all translation keys across English, French, Hindi, Japanese, Korean, Russian, Turkish, German, Spanish, and Chinese for both default and summer templates.
  • Refined Image Captions (@docmd/ui): Image captions are now rendered as centered, elegant italic text beneath figures with fit-content layout, removing heavy background container boxes (PR #253 by @w666, closing #252).
  • Security & Dependency Maintenance: Updated npm dependency group (PR #257), overrode katex and sharp to patched versions, removed internal issue references from source comments, and updated workspace dependencies.

OpenAPI Collapsible Operations & Schema Constraints (@docmd/plugin-openapi)

Contributed by @w666 in PR #255 (closing issue #254), v0.9.8 brings substantial improvements to OpenAPI/Swagger rendering for complex API specifications:

  • Collapsible Endpoint Blocks: API operations can now expand and collapse interactively, accompanied by Table of Contents (TOC) headings for rapid scrolling and navigation through extensive specs.
  • Schema Validation Constraints: Request and response schema tables now display validation constraints, including:
    • String length boundaries (minLength, maxLength)
    • Numeric ranges (minimum, maximum, exclusiveMinimum, exclusiveMaximum)
    • Regular expression patterns (pattern)
    • Clear visual badges for required fields
    • Array item types and schema specifications
  • Referenced Request Bodies: Enhanced dereferencing handles $ref pointers within request bodies and complex schemas seamlessly.
  • Runtime Dependencies: Bundled markdown-it and js-yaml as direct dependencies so @docmd/plugin-openapi executes independently without relying on transitive host resolution.

LLMs Plugin — Prompt Configuration & Section Grouping (@docmd/plugin-llms)

As LLM integration evolves, docmd v0.9.8 empowers documentation authors to provide direct steering context to AI systems:

  • Custom System Prompt: Configure a prompt string in your plugins.llms configuration. This prompt is prepended directly to the generated /llms.txt file, allowing you to specify preferred conventions, tech stack nuances, or system instructions for AI coding assistants.
  • Section Grouping: Documentation URLs in llms.txt are now neatly organized under descriptive markdown headings matching your documentation hierarchy, providing structured context to LLM context windows.

The docmd validate command and MCP validation tools received critical edge-case fixes:

  • Markdown Link Titles & Fenced Code Blocks (Issue #259): Markdown links containing titles (e.g., [Overview](/getting-started "Getting Started Guide")) now have their title attribute stripped before path resolution. Code blocks enclosed by triple backticks (```) or tildes (~~~) are tracked during token parsing, and sample markdown links inside code snippets are skipped to eliminate false-positive validation errors.
  • Empty Alt-Text & Asset Paths (PR #256 by @Aryan007-dev, closing #250, #251): Regex pattern matching now accommodates images with empty alt-text (![](path)), and /assets/ absolute paths resolve accurately against project-root assets.
  • Exclude Pattern Propagation: config.exclude rules are now forwarded directly into validateLinks, ensuring excluded files are not evaluated during workspace validation.

Clean MCP Stdout for JSON-RPC Protocol (@docmd/core)

Contributed by @vishalhabib99 in PR #260:

  • Added 'mcp' to the banner suppression list in packages/core/src/bin/docmd.ts.
  • When connecting docmd as an MCP (Model Context Protocol) server via stdio, decorative startup banners are omitted on stdout, ensuring pure JSON-RPC messages and eliminating parse errors in external orchestrators like Claude Desktop and Cursor.

Internationalisation (i18n) Parity & Turkish Support (@docmd/ui)

  • Turkish (tr) UI Support (PR #258 by @KeuqS): Added comprehensive Turkish translations (tr.json) across all UI elements, navigation labels, and template controls.
  • Turkish Documentation: Added README.tr.md and included Turkish in the language selector index across all repository READMEs.
  • Translation Parity: Normalized translation keys across all 10 supported languages (en, es, fr, de, ja, zh, hi, ko, ru, tr).
  • Template Parity: Both default and summer templates now consistently utilize localized keys for theme switching, focus mode toggles, and copy actions.

UI Refinements & Image Caption Styling (@docmd/ui)

Contributed by @w666 in PR #253 (closing issue #252):

  • Replaced the previous solid-background image caption boxes with a streamlined, modern caption design.
  • Captions now render with fit-content width, subtle italic styling, centered alignment, and muted text contrast that complements documentation figures seamlessly.

Community Contributors & Pull Requests

Special thanks to all community members who contributed to the v0.9.8 release:

  • @w666 for PR #255 (OpenAPI collapsible operations, schema constraints & runtime dependencies, closing #254) and PR #253 (centered italic image captions, closing #252).
  • @Aryan007-dev for PR #256 (link validator empty alt-text & /assets/ absolute path resolution, closing #250 and #251).
  • @KeuqS for PR #258 (Turkish UI translations catalog and locale registration).
  • @vishalhabib99 for PR #260 (clean stdout banner suppression for docmd mcp).

What to Expect in 0.9.9

  • Package integrity verification after pre-flight batch installations.
  • Extended .gitignore pattern capabilities including negation (!) support and nested subdirectory ignore files.
  • Further performance optimizations across multi-lingual search indexing.