Skip to content

Getting Started

Installation

Terminal window
pnpm add -D @crackdown/core @crackdown/cli

60-second usage

  1. Lint a file

    Terminal window
    npx crackdown lint README.md

    Output:

    README.md
    12:1 warn crackdown:no-trailing-spaces MD009: Trailing spaces found
  2. Auto-fix mechanical issues

    Terminal window
    npx crackdown lint --fix README.md
  3. Add a crackdown.config.ts for custom rules

    crackdown.config.ts
    import { md009Rule, md009Fixer, md010Rule, md010Fixer } from '@crackdown/core'
    import {
    md040Rule, md041Rule, md047Rule, md047Fixer,
    } from '@crackdown/compat-markdownlint'
    import { remarkLintMermaid } from '@crackdown/plugin-mermaid'
    import type { MarkyConfig } from '@crackdown/core'
    const config: MarkyConfig = {
    plugins: [
    md009Rule, // no trailing spaces
    md010Rule, // no hard tabs
    md040Rule, // fenced code blocks have a language
    md041Rule, // first line must be a heading
    md047Rule, // file ends with newline
    remarkLintMermaid // validate mermaid code blocks
    ],
    fixers: [
    md009Fixer, // auto-fix trailing spaces
    md010Fixer, // auto-fix hard tabs
    md047Fixer, // auto-fix missing trailing newline
    ],
    }
    export default config
  4. Run on your whole project

    Terminal window
    npx crackdown lint docs/

Available packages

PackagePurpose
@crackdown/coreCore pipeline, programmatic API (lintString, lint, lintStringFix)
@crackdown/cliCLI (crackdown lint, crackdown migrate, crackdown lsp)
@crackdown/plugin-mermaidFirst-class Mermaid diagram validation
@crackdown/compat-markdownlint18 markdownlint rule shims: MD001, MD005, MD007, MD009, MD010, MD012, MD013, MD022, MD024, MD025, MD026, MD031, MD032, MD033, MD034, MD040, MD041, MD047
@crackdown/lspLanguage Server for editor integration (Neovim, Zed, Helix)
@crackdown/vscodeVS Code extension

Next steps