spellint
v1.0.0
Published
A CLI tool to check spelling and Markdown formatting in .md files
Maintainers
Readme
Spellint
Spellint is a sleek, fast, and developer-friendly command-line tool that checks spelling and Markdown formatting in .md files. Whether you're a developer writing documentation, a technical writer polishing content, or a contributor reviewing PRs, Spellint ensures your Markdown is clean and typo-free — all with minimal setup.
Perfect for local development and CI/CD pipelines, Spellint seamlessly blends into your workflow, catching spelling mistakes and style issues before they hit production.
🚀 Features
- ✅ Smart Spelling Checks: Detects spelling mistakes in natural language text while ignoring code blocks and inline code.
- 📄 Markdown Linting: Ensures consistent formatting — headings, lists, spacing, and more.
- ⚙️ CI/CD Friendly: Exits with a non-zero code on issues, perfect for automated build pipelines.
- ⚡ Blazing Fast: Optimized to scan large directories without slowing you down.
- 🧩 Extensible Architecture: Planned support for custom dictionaries and configuration files.
📦 Installation
Install globally via NPM:
npm install -g spellintOr set it up locally:
git clone https://github.com/Aryan-MP/spellint.git
cd spellint
npm install
npm link🛠 Usage
Run Spellint on a specific Markdown file or an entire directory:
spellint [path]path— optional path to a file or folder (defaults to current directory.).
Examples
# Check a single file
spellint README.md
# Check all markdown files in the docs directory
spellint docs/Sample Output
docs/guide.md:
Line 3, Col 8: Spelling error: "paragrap"
Suggestions: paragraph, paragraphs
Line 10, Col 2: Formatting error: Invalid heading level (use #, ##, etc.)Linting Errors and Spell Check Separation
To improve readability, Spellint separates the linting errors and spelling mistakes clearly, so you can easily locate and fix issues:
- Linting Errors: Are shown with their rule codes (e.g., MD022) and descriptions (e.g., "Headings should be surrounded by blank lines").
- Spelling Errors: Display the word with its suggested corrections.
⚙️ Configuration
Spellint uses default English spelling and a base set of Markdown linting rules.
Coming Soon:
.spellintrcconfiguration file- Custom dictionaries for technical terms (e.g., GitHub, Kubernetes)
- Toggle rules for formatting (headings, lists, spacing, etc.)
- Checking indentations and formatting in inline codes.
Advanced users can also modify lib/lint.js to tweak rules directly.
🔁 GitHub Actions Integration
Automate checks on pull requests by adding the following workflow to .github/workflows/spellint.yml:
name: Spellint Check
on:
pull_request:
branches: [main]
jobs:
spellint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '18'
- run: npm install -g spellint
- run: spellint .This ensures that documentation issues are caught before merging.
🤝 Contributing
We welcome contributions!
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push your branch:
git push origin feature/my-feature - Open a pull request
Make sure to describe your changes clearly and align with the project’s direction.
🧭 Roadmap
- [ ] Custom dictionary support
- [ ] Config file support via
.spellintrc - [ ] GitHub Actions error annotations
- [ ] Language localization support
📜 License
Spellint is licensed under the MIT License.
📬 Contact & Feedback
Have suggestions or feedback? Feel free to:
- Open an issue on GitHub
- Reach out to the maintainers
- Star the repo if you find it helpful!
Happy documenting — and may your Markdown stay lint-free! ✨
