Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ jobs:
with:
node-version: 24
cache: pnpm

- run: pnpm install --frozen-lockfile
- run: pnpm lint
- run: pnpm format:check
Expand All @@ -31,3 +30,21 @@ jobs:
java-version: '25'
- run: ./gradlew spotlessCheck
working-directory: examples
vale:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
- parallel:
- name: Install Vale
run: |
gh release download --repo errata-ai/vale --pattern '*Linux_64-bit.tar.gz'
tar -xf vale_*.tar.gz -C /usr/local/bin vale
env:
GH_TOKEN: ${{ github.token }}
- run: pnpm install --frozen-lockfile
- run: pnpm vale
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ dist/
# dependencies
node_modules/

# Vale styles (downloaded by vale sync) — keep Project/ and config files, but gitignore glossary file as it's generated
.styles/*
!.styles/Project/
!.styles/Project/**
!.styles/config/
.styles/config/**
!.styles/config/ignore/
.styles/config/ignore/**
!.styles/config/ignore/ignore.txt

# logs
npm-debug.log*
yarn-debug.log*
Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
node_modules/
dist/
.astro/
.styles/
pnpm-lock.yaml
examples/
8 changes: 8 additions & 0 deletions .styles/Project/Spelling.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
extends: spelling
message: "'%s' seems misspelled. Add it to the glossary."
level: error
ignore:
- glossary.txt
- ignore.txt
dictionaries:
- en_US
3 changes: 3 additions & 0 deletions .styles/config/ignore/ignore.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
subfolders
roadmap
frcsoftware
56 changes: 56 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
## Vale configuration for FRCSoftware.org

StylesPath = .styles
MinAlertLevel = warning
Packages = Google, write-good

[*.mdx]
BasedOnStyles = Google, write-good

# Google style - selectively enable useful rules
Google.GenderBias = YES
Google.OxfordComma = YES
Google.Spacing = YES
Google.Spelling = YES
Google.WordList = YES

# Custom spelling check (avoids collision with built-in Vale.Spelling)
Project.Spelling = YES

# write-good - selectively enable useful rules
write-good.Cliches = YES
write-good.Illusions = YES
write-good.Passive = NO
write-good.ThereIs = YES

# Disable noisy/irrelevant Google rules
Google.Annotations = NO
Google.Colons = NO
Google.Ellipses = NO
Google.EmDash = NO
Google.Exclamation = NO
Google.FirstPerson = NO
Google.Headings = NO
Google.HeadingPunctuation = NO
Google.Latin = NO
Google.Like = NO
Google.LyHyphens = NO
Google.Parens = NO
Google.Periods = NO
Google.Punctuation = NO
Google.Quotes = NO
Google.Ranges = NO
Google.Semicolon = NO
Google.Slang = NO
Google.Transitions = NO
Google.Units = NO
Google.UpperCase = NO
Google.We = NO
Google.Will = NO
Google.Wordiness = NO

# Disable noisy/irrelevant write-good rules
write-good.Epitext = NO
write-good.So = NO
write-good.TooWordy = NO
write-good.Weasel = NO
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
"lint:glossary": "tsx scripts/generate-glossary.ts --check",
"prebuild": "tsx scripts/generate-glossary.ts",
"predev": "tsx scripts/generate-glossary.ts",
"lint": "pnpm lint:eslint && pnpm lint:md && pnpm lint:regions && pnpm lint:glossary && pnpm typecheck",
"lint": "pnpm lint:eslint && pnpm lint:md && pnpm lint:regions && pnpm lint:glossary && pnpm typecheck && pnpm vale",
"lint:eslint": "eslint .",
"lint:md": "remark src/content/docs --ext mdx --frail",
"lint:regions": "tsx scripts/validate-regions.ts",
"vale": "pnpm vale:setup && vale sync && vale src/content",
"vale:setup": "tsx scripts/setup-vale.ts",
"format": "prettier --write .",
"format:check": "prettier --check .",
"typecheck": "astro check"
Expand All @@ -35,6 +37,7 @@
"astro-eslint-parser": "^1.4.0",
"eslint": "^10.5.0",
"eslint-plugin-astro": "^1.7.0",
"mdx2vast": "^0.3.1",
"prettier": "^3.8.4",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-sentences-per-line": "^0.2.3",
Expand Down
Loading
Loading