sync command downloads and installs Vale style packages from external sources defined in your .vale.ini configuration file.
Usage
Packages setting from your .vale.ini file and downloads each package to your StylesPath directory.
Run
vale sync after adding new packages to your configuration or when setting up Vale in a new environment.Configuration
Define packages in the root section of your.vale.ini file:
.vale.ini
Comma-separated list of package URLs to download. Each URL should point to a
.zip file containing a Vale style package.Packages can come from:- GitHub releases (most common)
- Direct URLs to
.zipfiles - Any HTTP/HTTPS endpoint serving Vale packages
How It Works
Extract and install
Each
.zip file is extracted to your StylesPath directory. The package name is derived from the filename.Package Sources
Official Vale Styles
Vale maintains several official style packages:Microsoft
Microsoft Writing Style Guide rules
Google Developer Documentation Style Guide
write-good
Naive linter for English prose
proselint
Linter for prose from Corinne Shuttleworth
Custom Packages
You can host your own Vale packages:Examples
Common Workflows
Initial Setup
When setting up Vale in a new project:CI/CD Integration
In continuous integration pipelines:GitHub Actions
Update Packages
To update to the latest package versions:Troubleshooting
Package Download Fails
If a package fails to download:- Verify the URL is accessible in a browser
- Check network connectivity and firewall rules
- Ensure you have write permissions to the
StylesPathdirectory - Try downloading the
.zipfile manually to test
Package Not Found After Sync
If styles aren’t available after syncing:- Verify the package extracted to the correct directory
- Check that the style name in
BasedOnStylesmatches the package directory name - Run
vale ls-dirsto confirm yourStylesPathlocation - Inspect the package contents to ensure it has
.ymlrule files
Configuration Pipeline
Packages are stored in the.vale-config subdirectory of your StylesPath as part of Vale’s configuration pipeline. This directory is managed automatically and shouldn’t be modified manually.
Directory Structure
After runningsync, your project structure looks like: