An open API service indexing awesome lists of open source software.

https://github.com/nolte/vale-style

Collection of Reusable vale-style
https://github.com/nolte/vale-style

vale

Last synced: 5 days ago
JSON representation

Collection of Reusable vale-style

Awesome Lists containing this project

README

          

# Vale style

[![GitHub Project Stars](https://img.shields.io/github/stars/nolte/vale-style.svg?label=Stars&style=social)](https://GitHub.com/nolte/vale-style) [![GitHub Issue Tracking](https://img.shields.io/github/issues-raw/nolte/vale-style.svg)](https://GitHub.com/nolte/vale-style) [![GitHub LatestRelease](https://img.shields.io/github/release/nolte/vale-style.svg)](https://GitHub.com/nolte/vale-style) [![Build Static Tests](https://github.com/nolte/vale-style/actions/workflows/build-static-tests.yaml/badge.svg)](https://github.com/nolte/vale-style/actions/workflows/build-static-tests.yaml) [![Deliver Docs](https://github.com/nolte/vale-style/actions/workflows/release-cd-deliver-docs.yml/badge.svg)](https://github.com/nolte/vale-style/actions/workflows/release-cd-deliver-docs.yml)

---

[Vale](https://github.com/errata-ai/vale) package for sharing spelling rules and vocabularies across projects. Ship one zip, consume it everywhere.

The release archive `nolte-styles.zip` unpacks to:

```sh
.
└── nolte-styles
├── styles
│ ├── config
│ │ └── vocabularies
│ │ ├── esphome
│ │ │ └── accept.txt
│ │ └── technical
│ │ └── accept.txt
│ └── nolte-styles
│ └── .keep
└── .vale.ini
```

## Usage

Add the package to your project's `.vale.ini`. The `releases/latest` URL always points at the newest release, so you do not need to bump it manually:

```ini
StylesPath = styles

Packages = https://github.com/nolte/vale-style/releases/latest/download/nolte-styles.zip

Vocab = technical

[*.md]
BasedOnStyles = Vale, nolte-styles
```

Pin a specific version if you prefer reproducible builds — the current tag is shown by the badge [![GitHub LatestRelease](https://img.shields.io/github/release/nolte/vale-style.svg)](https://GitHub.com/nolte/vale-style):

```ini
Packages = https://github.com/nolte/vale-style/releases/download/v0.1.7/nolte-styles.zip
```

Then sync and lint:

```sh
vale sync
vale .
```

## Available vocabularies

- `technical` — general cross-project terminology and software-engineering vocabulary (Ansible, ESPHome, MkDocs, CI, PRs, Dockerfiles, runbooks, dogfooding, …)
- `esphome` — ESPHome-specific hardware, pins, and YAML keys (GPIO, baud_rate, restore_from_flash, …)

Activate additional vocabularies by listing them in `Vocab` — either comma-separated or via multiple lines in `.vale.ini`. See the [vocabularies docs](https://nolte.github.io/vale-style/vocabularies/) for the full list and contribution rules.

## Build the archive locally

```sh
mkdir -p ./build/nolte-styles
cp -R src/* ./build/nolte-styles/
cp -R src/.vale.ini ./build/nolte-styles/.vale.ini
(cd ./build && zip -r nolte-styles.zip nolte-styles)
```

The second `cp` is required: `cp -R src/*` does not include the leading-dot `.vale.ini`. The release workflow (`.github/workflows/release-cd-archive.yml`) does the same two copies.

## Specifications

Curation rules for the vocabularies and for the `nolte-styles` placeholder style live under [`spec/`](spec/). The canonical language is English; every spec ships an EN and a DE version that must stay structurally in sync. Start with [`spec/README.md`](spec/README.md) for the index.

## Releases

Publishing a GitHub Release triggers the archive workflow, which attaches `nolte-styles.zip` to the release. Version bumps happen by cutting a release — there is no version file to edit.