Skip to content

Add Vale rules for list numbering, step headings, and nested list indentation - #572

Open
tashian wants to merge 2 commits into
mainfrom
docs/vale-ordered-list-numbering
Open

tashian wants to merge 2 commits into
mainfrom
docs/vale-ordered-list-numbering

Conversation

@tashian

@tashian tashian commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Summary

This PR adds three Vale script rules to the Smallstep style. It also corrects the problems that the rules found in the docs.

New rules

All three rules use extends: script with scope: raw. Regex rules cannot do these checks, because Vale converts Markdown to HTML before it applies them. The rules ignore lines in fenced code blocks. Each rule has the error level.

  • Smallstep.OrderedListNumbering finds numbered list items that skip or repeat a number, for example 1, 2, 4 or 1. 1. 1.. Each indentation level is a separate list. A list can continue after a code block. A new list can start at 1 after a heading or after other text.
  • Smallstep.StepHeadingNumbering finds "Step N" headings that skip or repeat a number at the same heading level. A higher-level heading starts the count again. The first step can be 0 or 1. Bold headings such as ### **Step 1. ...** are also checked.
  • Smallstep.NestedListIndent finds a nested list item that is not indented to the text column of its parent item. For example, a sub-list below 6. must have an indent of 3 spaces. Markdown does not nest an item with less indent.

Markdown uses only the number of the first item in a list. Thus, most numbering errors in the source do not show on the site. The OrderedListNumbering rule keeps the source correct for writers and reviewers. Heading numbers and nesting errors show on the site.

Corrections

  • 33 list items in 8 pages had incorrect numbers. The items after them in the same list were renumbered too. Only the YubiKey list in step-ca/provisioners.mdx showed incorrectly on the site, because it started at 0.
  • Fleet guide: the macOS steps were 1 to 4, then 6 to 9. They are now 1 to 8. The text in the GitOps section now refers to Step 4 for the configuration profile download. No links use the anchors of the changed headings.
  • Fleet guide: the three "In the modal, enter the following details" lists are now indented below their parent step.
  • Okta sync guide: the App Catalog list is now indented below its parent step.

Test plan

  • vale --glob='!step-cli/reference/**' . shows no errors from the Smallstep rules.
  • Test files for each rule: the rules find skipped, repeated, and under-indented items. They do not find errors in correct nested lists, in lists that continue after code blocks, or in a "Step 0" start.
  • Preview the Fleet, Okta sync, and provisioners pages with the local smallstep.com dev server. The Fleet macOS steps are 1 to 8, the GitOps text refers to Step 4, the three query detail lists and the App Catalog list are nested, and the YubiKey list starts at 1.

馃 Generated with Claude Code

tashian and others added 2 commits October 20, 2026 15:24
Add the Smallstep.OrderedListNumbering rule. The rule finds numbered
list items that skip or repeat a number. Each indentation level is a
separate list. A list can continue after a code block. A new list can
start at 1 after a heading or after other text.

Correct the 33 list items in 8 pages that the rule found.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add the Smallstep.StepHeadingNumbering rule. The rule finds "Step N"
headings that skip or repeat a number at the same heading level. A
higher-level heading starts the count again. The first step can be 0
or 1.

Add the Smallstep.NestedListIndent rule. The rule finds a nested list
item that is not indented to the text column of its parent item.
Markdown does not nest such an item.

Correct the problems that the rules found:

- In the Fleet guide, change the macOS steps 6 to 9 to steps 5 to 8,
  and refer to Step 4 for the configuration profile download.
- In the Fleet guide, indent the three query detail lists below their
  parent step.
- In the Okta sync guide, indent the App Catalog list below its parent
  step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tashian
tashian requested a review from a team as a code owner October 20, 2026 22:32
@tashian
tashian enabled auto-merge October 20, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants