Skip to content
Merged
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
23 changes: 23 additions & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,29 @@ Microsoft.Contractions = NO
Microsoft.SentenceLength = NO
Microsoft.Passive = NO

# Microsoft.HeadingAcronyms (default: warning) flags any heading containing
# an acronym longer than 3 letters, on the theory that headings should be
# spelled out for accessibility. In x402r docs almost every reference page
# headlines a protocol acronym (ERC-3009, EIP-712, EIP-6492, BUSL-1.1,
# JSON-RPC, CDP, DAO). Spelling them out (e.g. "Electronic Resource Cluster
# 3009") is wrong — these names are the canonical identifiers for the
# standards. The rule has no allowlist mechanism, so disable wholesale.
Microsoft.HeadingAcronyms = NO

# Microsoft.Terms (default: warning) enforces Microsoft Writing Style Guide
# terminology swaps, e.g. "agent" → "personal digital assistant",
# "blacklist" → "block list". The "agent" mapping is wrong for x402r:
# ERC-8004 defines on-chain "agents" as autonomous protocol actors, and
# the same word is used across the crypto/AI-agents ecosystem. No useful
# swaps remain that aren't covered by other style rules. Disabled.
Microsoft.Terms = NO

# proselint.Typography (default: warning) suggests replacing `x` with the
# `×` (Unicode multiplication sign) symbol. Every hex address literal in
# the docs (`0x0000...`, `0x833589f...`) triggers this — the rule has no
# concept of code/identifier context. Adversarial in a Web3 codebase.
proselint.Typography = NO

# Vale.Terms reads the same accept.txt as Vale.Spelling but treats each entry
# as the canonical case form. That fires false positives whenever a vocab
# entry collides with a code identifier (e.g. PaymentInfo type vs paymentInfo
Expand Down
80 changes: 80 additions & 0 deletions styles/config/vocabularies/x402r/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,86 @@ SDKs?
[Pp]roxying
[Pp]roxy

# --- Contract interfaces ---
# Solidity interface names referenced across the contracts docs.
IHook
ICondition
IRecorder
IPaymentOperator

# --- Protocol concepts ---
# Domain vocabulary that appears in prose, not just code.
authCapture
captureAuthorizer
[Cc]apturable
[Cc]ombinators?
[Ee]scrowed
[Pp]ermissionless
[Pp]luggable
[Cc]omposability
[Mm]icropayments?
[Gg]asless
[Tt]erminalize
[Rr]eentrancy
[Rr]efundability
[Tt]imelock
[Mm]ultisig
[Mm]empool
[Cc]alldata

# --- SDK identifiers ---
# CamelCase identifiers that appear inline without code formatting.
operatorConfig
maxAmount
responseBody
paymentPayload
newCount
existingCount
escrowPeriod
txHashes
codehashes?

# --- Tooling and runtime ---
npm
npx
pnpm
bunx
dlx
mkdir
tsx
dotenv
stdout
stderr
[Bb]oolean
[Nn]amespace
[Tt]estnet
[Dd]evnet
[Mm]intlify
[Ss]ubgraph
gwei
txns?
const

# --- Standards and acronyms ---
APIs?
ABIs?
UIs?
EVMs?
dApps?
CIDs?

# --- Ecosystem ---
# Third-party projects/orgs referenced in the docs.
Uniswap
[Cc]oinbase
[Ff]ireblocks
[Ff]lashbots
[Ss]olana
Solady
Spearbit
Ownable
Aave

# --- Chain names ---
# Source of truth: `x402rChains` in
# `x402r-sdk/packages/core/src/config/index.ts`. Only chains with deployed
Expand Down
Loading