quickmark-core 1.0.0-alpha.1

Lightning-fast Markdown/CommonMark linter core library with tree-sitter based parsing
Documentation

QuickMark Linter Core

Single-Use Architecture Contract

IMPORTANT: All linter components in this crate follow a strict single-use contract:

  • Context: One context instance per document analysis
  • MultiRuleLinter: One linter instance per document analysis
  • RuleLinter: Individual rule linters are used once and discarded

This design eliminates state management complexity.

Usage Pattern

use quickmark_core::linter::MultiRuleLinter;
use quickmark_core::config::QuickmarkConfig;
use std::path::PathBuf;

// Example usage (variables would be provided by your application)
# let path = PathBuf::new();
# let config: QuickmarkConfig = unimplemented!();
# let source = "";

// Correct: Fresh instances for each document
let mut linter = MultiRuleLinter::new_for_document(path, config, source);
let violations = linter.analyze();
// linter is now invalid - create new one for next document