Add Vale CI workflow for heading and term linting#4800
Conversation
Introduces a GitHub Actions workflow using reviewdog to lint prose on PRs that touch docs/. Checks two rules: sentence-style headings (with Temporal term exceptions) and Temporal term capitalization. Includes test fixtures in docs/vale-test/ to trigger the workflow on this PR — remove before merging.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📖 Docs PR preview linksThis PR does not change any pages in /docs. If you make updates, links to the modified pages will appear here. |
reviewdog/action-vale does not exist. The actual official Vale action (vale-cli/vale-action, formerly errata-ai/vale-action) has reviewdog support built in via the reporter input.
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
vale
docs/vale-test/terms-bad.md|23 col 21| [Temporal.terms] Use 'Workflow Executions' instead of 'workflow executions' when referring to a Temporal term.
docs/vale-test/terms-bad.md|25 col 5| [Temporal.terms] Use 'Heartbeating' instead of 'heartbeating' when referring to a Temporal term.
docs/vale-test/terms-bad.md|25 col 28| [Temporal.terms] Use 'Activity' instead of 'activity' when referring to a Temporal term.
docs/vale-test/terms-bad.md|27 col 5| [Temporal.terms] Use 'Codec Server' instead of 'codec server' when referring to a Temporal term.
docs/vale-test/terms-bad.md|29 col 3| [Temporal.terms] Use 'Child Workflow Execution' instead of 'child workflow execution' when referring to a Temporal term.
docs/vale-test/terms-bad.md|29 col 41| [Temporal.terms] Use 'Parent Close Policy' instead of 'parent close policy' when referring to a Temporal term.
vale/test/terms-bad.md|1 col 36| [Temporal.terms] Use 'Workflow Execution' instead of 'workflow execution' when referring to a Temporal term.
vale/test/terms-bad.md|3 col 5| [Temporal.terms] Use 'Activity Definition' instead of 'activity definition' when referring to a Temporal term.
vale/test/terms-bad.md|5 col 15| [Temporal.terms] Use 'Retry Policy' instead of 'retry policy' when referring to a Temporal term.
vale/test/terms-bad.md|5 col 37| [Temporal.terms] Use 'Activity' instead of 'activity' when referring to a Temporal term.
vale/test/terms-bad.md|7 col 9| [Temporal.terms] Use 'Temporal' instead of 'temporal ' when referring to a Temporal term.
vale/test/terms-bad.md|7 col 39| [Temporal.terms] Use 'Namespaces' instead of 'namespaces' when referring to a Temporal term.
vale/test/terms-bad.md|9 col 5| [Temporal.terms] Use 'Event History' instead of 'event history' when referring to a Temporal term.
vale/test/terms-bad.md|11 col 10| [Temporal.terms] Use 'Task Queue' instead of 'task queue' when referring to a Temporal term.
vale/test/terms-bad.md|11 col 30| [Temporal.terms] Use 'Worker' instead of 'worker' when referring to a Temporal term.
vale/test/terms-bad.md|13 col 3| [Temporal.terms] Use 'Signal' instead of 'signal' when referring to a Temporal term.
vale/test/terms-bad.md|13 col 42| [Temporal.terms] Use 'Workflow' instead of 'workflow' when referring to a Temporal term.
vale/test/terms-bad.md|15 col 7| [Temporal.terms] Use 'Query' instead of 'query' when referring to a Temporal term.
vale/test/terms-bad.md|15 col 25| [Temporal.terms] Use 'Workflow' instead of 'workflow' when referring to a Temporal term.
vale/test/terms-bad.md|17 col 5| [Temporal.terms] Use 'Data Converter' instead of 'data converter' when referring to a Temporal term.
vale/test/terms-bad.md|19 col 1| [Temporal.terms] Use 'gRPC' instead of 'grpc' when referring to a Temporal term.
vale/test/terms-bad.md|19 col 30| [Temporal.terms] Use 'Temporal Server' instead of 'temporal server' when referring to a Temporal term.
vale/test/terms-bad.md|21 col 11| [Temporal.terms] Use 'Search Attributes' instead of 'search attributes' when referring to a Temporal term.
vale/test/terms-bad.md|21 col 33| [Temporal.terms] Use 'Advanced Visibility' instead of 'advanced visibility' when referring to a Temporal term.
vale/test/terms-bad.md|23 col 3| [Temporal.terms] Use 'Schedule' instead of 'schedule' when referring to a Temporal term.
vale/test/terms-bad.md|23 col 21| [Temporal.terms] Use 'Workflow Executions' instead of 'workflow executions' when referring to a Temporal term.
vale/test/terms-bad.md|25 col 5| [Temporal.terms] Use 'Heartbeating' instead of 'heartbeating' when referring to a Temporal term.
vale/test/terms-bad.md|25 col 28| [Temporal.terms] Use 'Activity' instead of 'activity' when referring to a Temporal term.
vale/test/terms-bad.md|27 col 5| [Temporal.terms] Use 'Codec Server' instead of 'codec server' when referring to a Temporal term.
vale/test/terms-bad.md|29 col 3| [Temporal.terms] Use 'Child Workflow Execution' instead of 'child workflow execution' when referring to a Temporal term.
vale/test/terms-bad.md|29 col 41| [Temporal.terms] Use 'Parent Close Policy' instead of 'parent close policy' when referring to a Temporal term.
vale/test/headings-bad.md|1 col 4| [Temporal.Headings] 'Set Up Your Development Environment' should use sentence-style capitalization.
vale/test/headings-bad.md|3 col 4| [Temporal.Headings] 'Getting Started With The Application' should use sentence-style capitalization.
vale/test/headings-bad.md|5 col 4| [Temporal.Headings] 'How To Run Your First Program' should use sentence-style capitalization.
vale/test/headings-bad.md|7 col 4| [Temporal.Headings] 'Building And Testing The Code' should use sentence-style capitalization.
vale/test/headings-bad.md|9 col 4| [Temporal.Headings] 'Configure And Deploy Your Application' should use sentence-style capitalization.
|
|
||
| ## Start | ||
|
|
||
| Creating reliable applications is a difficult task. [Temporal](https://temporal.io) lets you create fault-tolerant resiliant applications using programming languages you already know, so you can build complex applications that execute successfully and recover from failures. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Task' instead of 'task' when referring to a Temporal term.
| puts "hello world" | ||
| ``` | ||
|
|
||
| ## Section Three |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Temporal.Headings] 'Section Three' should use sentence-style capitalization.
|
|
||
| This is the end. There's no conclusion section. | ||
|
|
||
| temporal is a not capitalized. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Temporal' instead of 'temporal ' when referring to a Temporal term.
| Simply use this. | ||
| It's a straightforward approach. | ||
|
|
||
| temporal single binary |
There was a problem hiding this comment.
[Temporal.terms] Use 'Temporal CLI' instead of 'temporal single binary' when referring to a Temporal term.
|
|
||
| temporal single binary | ||
|
|
||
| the core SDK uses gRPC and rust. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Core SDK' instead of 'core SDK' when referring to a Temporal term.
|
|
||
| The data converter handles serialization. | ||
|
|
||
| grpc is the protocol used by temporal server. |
There was a problem hiding this comment.
[Temporal.terms] Use 'gRPC' instead of 'grpc' when referring to a Temporal term.
|
|
||
| The data converter handles serialization. | ||
|
|
||
| grpc is the protocol used by temporal server. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Temporal Server' instead of 'temporal server' when referring to a Temporal term.
|
|
||
| grpc is the protocol used by temporal server. | ||
|
|
||
| Configure search attributes for advanced visibility. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Search Attributes' instead of 'search attributes' when referring to a Temporal term.
|
|
||
| grpc is the protocol used by temporal server. | ||
|
|
||
| Configure search attributes for advanced visibility. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Advanced Visibility' instead of 'advanced visibility' when referring to a Temporal term.
|
|
||
| Configure search attributes for advanced visibility. | ||
|
|
||
| A schedule triggers workflow executions on a recurring basis. |
There was a problem hiding this comment.
[Temporal.terms] Use 'Schedule' instead of 'schedule' when referring to a Temporal term.
Adds a good-heading test case for compound terms outside the core Temporal glossary (Durable External Storage). Removes docs/vale-test/, which was only there to trigger the Vale CI workflow for manual verification on the PR.
Summary
docs/Temporal.Headings) and Temporal term capitalization (Temporal.terms)Temporal/Headings.ymlis forked fromGoogle/Headings.ymlwith all Temporal primitives (Workflow, Activity, Execution, Task Queue, etc.) added as exceptions so compound terms don't trigger false positives.vale-ci.ini) isolates these two rules from the full Vale rulesetTest plan
docs/vale-test/headings-bad.mdanddocs/vale-test/terms-bad.mddocs/vale-test/headings-good.mdanddocs/vale-test/terms-good.mddocs/vale-test/before merging┆Attachments: EDU-6628 Add Vale CI workflow for heading and term linting