Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
V

vale

> 开发工具
Open source

:pencil: A markup-aware linter for prose built with speed and extensibility in mind.

5.7K stars0 likes0 views
WebsiteGitHub

About

:pencil: A markup-aware linter for prose built with speed and extensibility in mind.

Vale doesn't ship opinions of its own. It's a framework for enforcing _your_ style: a published guide like Microsoft's or Google's, an in-house set of terms, or both. It's run by teams at AWS, NVIDIA, Microsoft, GitLab, and Red Hat, [among others who publish their configs](https://vale.sh/adopters). ``` … ``` ## :heart: Sponsors > Hi there! I'm [@jdkato](https://github.com/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 [GitHub Sponsors](https://github.com/sponsors/jdkato) or [Open Collective](https://opencollective.com/vale). Any donation—big, small, one-time, or recurring—is greatly appreciated! ### Spotlights > Sponsors at $1,000 and above get a dedicated page on [vale.sh](https://vale.sh/sponsor). ### Organizations Everyone who funds Vale, individuals included, is listed on the [sponsors page](https://vale.sh/sponsor). ### Infrastructure Thanks to [DigitalOcean](https://www.digitalocean.com/open-source/credits-for-projects) for the hosting credits behind [Vale Studio](https://studio.vale.sh), and to [GitBook](https://www.gitbook.com/solutions/open-source) for hosting the [documentation](https://docs.vale.sh).

 

## Why Vale Most tools see text. Vale sees a document. - **It parses your markup instead of guessing at it.** Markdown, AsciiDoc, reStructuredText, HTML, and [every other format](https://docs.vale.sh/formats) go through a real parser. A rule can target headings, lists, or table cells, and code spans, URLs, and fenced blocks are skipped before a rule ever runs. See [Scopes](https://docs.vale.sh/topics/scopes). - **Your comments are documentation too.** Vale lifts comments and docstrings out of source code with tree-sitter grammars, so a comment marker inside a string literal stays code. The Markdown in a Rust doc comment, or the reStructuredText in a Python docstring, is linted as though it were its own file. See [Code](https://docs.vale.sh/formats/code). - **It finds prose in files that aren't prose.** A [View](https://docs.vale.sh/topics/views) says where the writing is in an OpenAPI description, a notebook cell, or a commit message, so Vale lints that and passes over the rest. - **Rules are files, and they read grammar.** [Extension points](https://docs.vale.sh/checks/existence) in YAML run from a token list to part-of-speech patterns, cross-file relationships, readability formulas, and scripts. A rule can [carry its own fix](https://docs.vale.sh/topics/actions), which an editor applies with one keystroke and an agent applies without deciding anything. - **One binary, nothing alongside it.** Written in Go, with no runtime to install and files linted in parallel. See [the benchmark](https://vale.sh/features/speed) on GitLab's documentation. - **Private by design.** Nothing leaves your machine: no account, no upload, and no training on your writing. ## Install | | | | :-- | :-- | | **macOS** | `brew install vale` | | **Windows** | `choco install vale`  ·  `winget install -e --id errata-ai.Vale` | | **Linux** | `sudo snap install vale`  ·  `sudo pacman -S vale`  ·  `sudo apt install vale` | | **Docker** | `docker pull jdkato/vale` | | **Go** | `go install github.com/vale-cli/vale/v3/cmd/vale@latest` | Every release also ships [prebuilt binaries](https://github.com/vale-cli/vale/releases) for each platform. Scoop, MacPorts, FreeBSD ports, conda-forge, the APT archive, and the rest are on the [installation page](https://docs.vale.sh/topics/installation). ## Quickstart Vale needs a configuration file that says where to keep styles and which to apply. Create one at the root of your project: ```ini StylesPath = styles MinAlertLevel = suggestion Packages = Microsoft [*.md] BasedOnStyles = Vale, Microsoft ``` Then download the styles and lint something: ```bash vale sync vale README.md ``` The [Quickstart](https://docs.vale.sh/topics/quickstart) walks through each step. To skip the reading, open a chat already pointed at [vale.sh/AGENTS.md](https://vale.sh/AGENTS.md) and have an assistant set it up. ## Styles A style is a folder of YAML rules. Start from one that's published—Microsoft, Google, Red Hat, and more are one line in your config away—and browse them all in the [Package Explorer](https://vale.sh/explorer). Or write your own: ```yaml # styles/Docs/Terms.yml extends: substitution message: "Use '%s' instead of '%s'." level: error swap: 'Vale cli|vale-cli': Vale CLI ``` That's the whole rule. See [Styles](https://docs.vale.sh/topics/styles) for the rest, and [Vale CMS](https://cms.vale.sh) to author a full project—config, rules, vocabularies, and tests—in the browser, with the real engine linting live. ## Contributing Bug reports, feature requests, documentation fixes, and pull requests are all welcome. Start with the [contributing guide](.github/CONTRIBUTING.md), which covers setting up a development environment, testing, benchmarking, and the [contributor license agreement](.github/CLA.md). This project follows a [code of conduct](.github/CODE_OF_CONDUCT.md). ## License [MIT](LICENSE)

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •Go
  • •linter
  • •linting
  • •vale

> Tags

Golinterlintingvale

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category开发工具
PricingOpen source

> Related tools

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具