All Projects → errata-ai → Vale

errata-ai / Vale

Licence: mit
📝 A syntax-aware linter for prose built with speed and extensibility in mind.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Vale

li18nt
🌎 Lint your i18n translation files. Detect conflicting properties, duplicates and make it more readable and easier to maintain by formatting it!
Stars: ✭ 29 (-97.03%)
Mutual labels:  linting, linter
flake8-broken-line
🚨 Flake8 plugin to forbid backslashes (\) for line breaks
Stars: ✭ 85 (-91.31%)
Mutual labels:  linting, linter
makefiles
No description or website provided.
Stars: ✭ 23 (-97.65%)
Mutual labels:  linting, linter
Husky.Net
Git hooks made easy with Husky.Net internal task runner! 🐶 It brings the dev-dependency concept to the .NET world!
Stars: ✭ 394 (-59.71%)
Mutual labels:  linting, linter
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (-96.22%)
Mutual labels:  linting, linter
therapist
Work out your commitment issues.
Stars: ✭ 29 (-97.03%)
Mutual labels:  linting, linter
codeclimate-eslint
Code Climate Engine for ESLint
Stars: ✭ 86 (-91.21%)
Mutual labels:  linting, linter
Flakehell
Flake8 wrapper to make it nice, legacy-friendly, configurable.
Stars: ✭ 217 (-77.81%)
Mutual labels:  linter, linting
JSONCustomLintr
Library to allow creation, running, and reporting of custom lint rules for JSON files
Stars: ✭ 19 (-98.06%)
Mutual labels:  linting, linter
addlint
An example linter written with go/analysis for tutorial purposes
Stars: ✭ 49 (-94.99%)
Mutual labels:  linting, linter
elm-lint
elm-lint lints Elm source code, to add additional guarantees to your project.
Stars: ✭ 27 (-97.24%)
Mutual labels:  linting, linter
Oas Kit
Convert Swagger 2.0 definitions to OpenAPI 3.0 and resolve/validate/lint
Stars: ✭ 516 (-47.24%)
Mutual labels:  linter, linting
typo3-typoscript-lint
Find coding errors in your TypoScript files.
Stars: ✭ 78 (-92.02%)
Mutual labels:  linting, linter
Golite
Add essential language support for the Go language to Sublime Text 3.
Stars: ✭ 14 (-98.57%)
Mutual labels:  linting, linter
Neomake
Asynchronous linting and make framework for Neovim/Vim
Stars: ✭ 2,512 (+156.85%)
Mutual labels:  linter, linting
dockerfile-utils
A library and command line interface for formatting and linting Dockerfiles.
Stars: ✭ 17 (-98.26%)
Mutual labels:  linting, linter
Bellybutton
Custom Python linting through AST expressions
Stars: ✭ 196 (-79.96%)
Mutual labels:  linter, linting
Dotenv Linter
☺️ Linting dotenv files like a charm!
Stars: ✭ 207 (-78.83%)
Mutual labels:  linter, linting
ue5-style-guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,892 (+195.71%)
Mutual labels:  linting, linter
Gitlint
Linting for your git commit messages
Stars: ✭ 404 (-58.69%)
Mutual labels:  linter, linting

Vale: Your style, our editor Build Status Go Report Card GitHub All Releases Docker Pulls

✨ Want support for PCRE regex (lookarounds)? State-of-the-art NLP in 60+ languages? Check out our 3x10 funding campaign!

Vale is a command-line tool that brings code-like linting to prose. It's fast, cross-platform (Windows, macOS, and Linux), and highly customizable.

DocumentationOfficially-maintained stylesVale Server (desktop app)Vale Studio (rule editor)

❤️ Sponsors

Hi there! I'm @jdkato, the sole developer of Vale. If you'd like to help me dedicate more time to developing, documenting, and supporting Vale, feel free to donate through the Open Collective. Any donation—big, small, one-time, or recurring—is greatly appreciated!

Organizations

Individuals

💥 Key Features

  • [x] Support for markup: Vale has a rich understanding of many markup formats, allowing it to avoid syntax-related false positives and intelligently exclude code snippets from prose-related rules.

  • [x] A highly customizable extension system: Vale is capable of enforcing your style—be it a standard editorial style guide or a custom in-house set of rules (such as those created by GitLab, Homebrew, Linode, CockroachDB, and Spotify).

  • [x] Easy-to-install, stand-alone binaries: Unlike other tools, Vale doesn't require you to install and configure a particular programming language and its related tooling (such as Python/pip or Node.js/npm).

See the documentation for more information.

🔍 At a Glance: Vale vs. <...>

NOTE: While all of the options listed below are open-source (CLI-based) linters for prose, their implementations and features vary significantly. And so, the "best" option will depends on your specific needs and preferences.

Functionality

Tool Extensible Checks Supports Markup Built With License
Vale Yes (via YAML) spelling, style Yes (Markdown, AsciiDoc, reStructuredText, HTML, XML) Go MIT
textlint Yes (via JavaScript) spelling, style Yes (Markdown, AsciiDoc, reStructuredText, HTML, Re:VIEW) JavaScript MIT
RedPen Yes (via Java) spelling, style Yes (Markdown, AsciiDoc, reStructuredText, Textile, Re:VIEW, and LaTeX) Java Apache-2.0
write-good Yes (via JavaScript) style No JavaScript MIT
proselint No style No Python BSD 3-Clause
Joblint No style No JavaScript MIT
alex No style Yes (Markdown) JavaScript MIT

The exact definition of "Supports Markup" varies by tool but, in general, it means that the format is understood at a higher level than a regular plain-text file (for example, features like excluding code blocks from spell check).

Extensibility means that there's a built-in means of creating your own rules without modifying the original source code.

Benchmarks

This benchmark has all three tools configured to use their implementations of the write-good rule set and Unix-style output. This benchmark runs Vale's implementation of proselint's rule set against the original. Both tools are configured to use JSON output.
This benchmark runs Vale's implementation of Joblint's rule set against the original. Both tools are configured to use JSON output. This benchmark has all three tools configured to perform only English spell checking using their default output styles.

All benchmarking was performed using the open-source hyperfine tool on a MacBook Pro (2.9 GHz Intel Core i7):

$ hyperfine --warmup 3 '<command>'

The corpus IDs in the above plots—gitlab and ydkjs—correspond to the following files:

  • A snapshot of GitLab's open-source documentation (1,500 Markdown files).

  • A chapter from the open-soure book You Don't Know JS.

📄 License

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].