> ## Documentation Index
> Fetch the complete documentation index at: https://mint-tsdocs.saulo.engineer/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> What's new in mint-tsdocs

# Changelog

<Update label="2026-03-04" description="Version 0.0.5">
  ### Fix: ESLint No Longer Required

  **Fixed CLI crash when eslint is not installed.** Previously, running `npx mint-tsdocs` in a project without eslint would crash with `Cannot find module 'eslint'` — even for commands like `init` or `generate` that don't use eslint. Now eslint is fully optional.

  ### ESLint Integration is Now Optional

  The `lint` command's ESLint integration (`eslint-plugin-tsdoc`) is now an opt-in feature with smart auto-detection:

  | `lint.eslint.enabled` | eslint installed | Behavior                      |
  | --------------------- | ---------------- | ----------------------------- |
  | `true`                | yes              | Runs ESLint with tsdoc plugin |
  | `true`                | no               | Error with install command    |
  | not set (default)     | yes              | Auto-detects and runs ESLint  |
  | not set (default)     | no               | Hint with install command     |
  | `false`               | either           | Silent skip                   |

  **During `mint-tsdocs init`:**

  * Auto-detects if eslint is already installed and enables it
  * If not installed, prompts with an explanation of what ESLint adds
  * Offers to install `eslint`, `eslint-plugin-tsdoc`, and `@typescript-eslint/parser` automatically

  **Breaking change:** `lint.eslint.enabled` now defaults to `undefined` (auto-detect) instead of `true`. Projects that relied on eslint being enabled by default should add `"lint": { "eslint": { "enabled": true } }` to their config — but this was already broken for `npx` users, so the practical impact is zero.

  ### Dependencies

  * `eslint`, `eslint-plugin-tsdoc`, and `@typescript-eslint/parser` are now declared as optional peer dependencies
</Update>

<Update label="2025-11-22" description="Version 0.0.4">
  ### Critical Fix: Module System

  **Fixed CLI not loading** - Converted from ES modules to CommonJS to resolve "Cannot find module" errors. The project was configured for ES modules but TypeScript wasn't adding .js extensions to imports, causing Node.js to fail at runtime.

  ### New Features

  #### Type-Safe Link Components

  * **RefLink & PageLink** - Components with dual validation (compile-time + runtime)
    * **IDE autocomplete**: Auto-generates `ValidRefs.d.ts` and `ValidPages.d.ts` with TypeScript union types
    * **Compile-time safety**: Type-safe target selection with IntelliSense
    * **Runtime validation**: Highlights broken links with `broken-link` CSS class
    * **Visual feedback**: Invalid links display with title tooltip for easy debugging
    * **SSR-safe**: Validation only runs client-side

  <Frame>
    <img src="https://mintcdn.com/subtletools/4DKXJORHJNb-SVfy/img/features/components.jpg?fit=max&auto=format&n=4DKXJORHJNb-SVfy&q=85&s=7dac5e199f5dfb0def1002ad0b62f328" alt="RefLink and PageLink components with autocomplete" width="1080" height="1080" data-path="img/features/components.jpg" />
  </Frame>

  #### TypeInfo Generation System

  * **Auto-generates `TypeInfo.jsx`** containing structured type information for all API items
    * Provides TypeTree-compatible data with IDE autocomplete support
    * Includes TypeScript declaration file (`TypeInfo.d.ts`) for VSCode IntelliSense
    * Enables documentation authors to reference type information programmatically in MDX files
    * Supports nested property analysis for complex object types

  #### New Components

  * **Preview Component** - Showcase documentation examples with style
    * Bordered container with customizable title header
    * Dark mode support with Tailwind CSS theming
    * Code block aesthetic styling
    * Perfect for wrapping TypeTree and other component demonstrations

  * **Feature Component** - Highlight features in documentation
    * Icon support with customizable styling
    * Card grid layouts
    * Flexible content organization

  #### New CLI Commands

  * **`coverage` command** - Calculate TSDoc coverage with filtering, grouping, and threshold support
    * Reports by file, module, or API kind
    * Set minimum coverage requirements
    * Track documentation completeness

  <Frame>
    <img src="https://mintcdn.com/subtletools/4DKXJORHJNb-SVfy/img/features/coverage.jpg?fit=max&auto=format&n=4DKXJORHJNb-SVfy&q=85&s=5c4798aba1cf7611df06f4ed5ecc795a" alt="Coverage command showing documentation coverage by file" width="1080" height="1080" data-path="img/features/coverage.jpg" />
  </Frame>

  * **`lint` command** - Check documentation quality and find issues
    * Validates TSDoc comments
    * Finds broken references
    * Checks for missing documentation

  <Frame>
    <img src="https://mintcdn.com/subtletools/4DKXJORHJNb-SVfy/img/features/lint.jpg?fit=max&auto=format&n=4DKXJORHJNb-SVfy&q=85&s=ce44f67b06d58e181146b24cbec5fc79" alt="Lint command showing documentation issues" width="1080" height="1080" data-path="img/features/lint.jpg" />
  </Frame>

  ### Major Improvements

  #### Enhanced CLI Experience

  * **Verbose Mode** - Added `--verbose/-v` flag to control detailed output
    * Component installation shows summary by default
    * Detailed per-file logs only in verbose mode
    * Cleaner output for most use cases

  * **Improved Linting** - Inverted `--no-lint` to `--lint` flag
    * Warnings disabled by default (errors always shown)
    * Opt-in to see API Extractor warnings
    * Less noisy output during generation

  * **Better Warning Display**
    * File location (file:line:column) added to all warnings
    * Warnings grouped by source file
    * Color-coded syntax highlighting (Nord theme)
    * Line numbers, identifiers, and TSDoc tags highlighted
    * Auto-wraps to terminal width

  * **New `config` Command** - Replaces deprecated `show config`
    * `show stats` → use `coverage` instead
    * `show config` → use `config` instead
    * Deprecated commands still work with warnings

  #### Code Quality

  * **Reusable Issue Display** - Created `IssueDisplayUtils` for consistent formatting

  * **Enhanced Lint Command** - Collects warnings from all sources:
    * API Extractor (TSDoc syntax, invalid tags, reference errors)
    * API Model analysis (missing docs, params, returns)
    * ESLint with tsdoc-plugin (when installed)

  * **Improved Snippets** - Better type checking and generation

  * **Refactored Services** - Extracted common command subtasks for better maintainability

  #### Documentation & Validation

  * **Node Validation** - Added validation to prevent invalid node creation:
    * DocTable: Rejects empty header arrays
    * DocExpandable: Rejects empty titles
    * Better error messages

  * **Fixed TSDoc Registration** - Corrected package name (`mint-tsdocs` instead of `@micrososft/mint-tsdocs`)

  * **Comprehensive JSDoc** - Added detailed documentation to:
    * All markdown emitter methods
    * Custom node classes
    * Validation requirements

  ### Internal Changes

  * Switched from picocolors to chalk for true color (24-bit RGB) support
  * Simplified filename sanitization logic (\~2x faster)
  * Removed excessive debug logging
  * Better code organization with extracted helper methods
</Update>

<Update label="2025-11-20" description="Version 0.0.3">
  ### Initial Release

  * Core documentation generation from TypeScript API Extractor models
  * Mintlify-compatible MDX output with frontmatter
  * LiquidJS-based template system with customization support
  * Navigation integration with `docs.json`
  * Custom TSDoc nodes for tables, headings, note boxes, and expandables
  * Caching system for type analysis and API resolution
  * CLI with `init`, `generate`, and `customize` commands
  * TypeTree component for rendering type hierarchies
</Update>
