Skip to main content

Crate bito_lint_core

Crate bito_lint_core 

Source
Expand description

Core library for bito-lint.

This crate provides writing analysis functionality used by the bito-lint CLI and MCP server.

§Modules

  • config — Configuration loading and management
  • error — Error types and result aliases
  • markdown — Markdown processing (strip to prose, extract headings)
  • tokens — Pluggable token counting (Claude / OpenAI backends)
  • readability — Flesch-Kincaid Grade Level scoring
  • completeness — Template section validation
  • grammar — Grammar checking and passive voice detection
  • analysis — Comprehensive writing analysis (18 features)

§Quick Start

use bito_lint_core::tokens;

let report = tokens::count_tokens("Hello, world!", Some(100), tokens::Backend::default()).unwrap();
println!("Tokens: {}, over budget: {}", report.count, report.over_budget);

Re-exports§

pub use config::Config;
pub use config::ConfigLoader;
pub use config::CustomEntry;
pub use config::Dialect;
pub use config::LogLevel;
pub use error::AnalysisError;
pub use error::AnalysisResult;
pub use error::ConfigError;
pub use error::ConfigResult;
pub use tokens::Backend;

Modules§

analysis
Comprehensive writing analysis.
completeness
Completeness checking for structured document templates.
config
Configuration loading and discovery.
dictionaries
Dictionaries for text analysis.
directives
Inline suppression directives.
error
Error types for bito-lint-core.
grammar
Grammar analysis: passive voice detection and grammar checking.
lint
Lint execution engine.
markdown
Markdown processing utilities.
readability
Readability scoring using Flesch-Kincaid Grade Level.
rules
Rule resolution engine.
text
Text processing utilities.
tokens
Pluggable token counting with multiple backends.
word_lists
Curated word lists for writing analysis.

Constants§

DEFAULT_MAX_INPUT_BYTES
Default maximum input size: 5 MiB.

Functions§

validate_input_size
Validate that input text does not exceed the configured size limit.