Skip to main content

Introduction

Terminology linting ensures consistent use of Cowboy-specific terms across all documentation. This prevents confusion and maintains professional quality.
Goal: Catch terminology errors early and keep docs consistent

Linting Rules (Core)

Required Terms

Must use these exact terms (case-sensitive):
Context✅ Required Term❌ Prohibited Terms
Compute unitActorsmart contract, contract, dapp
Off-chain computeRunneroracle, worker
Compute gasCyclesgas (alone), compute units
Data gasCellsbytes, data units
Native tokenCBYCowboy token, COWBOY, cowboy
Message passing (Actor→Actor)send messagecontract call (for inter-actor communication)
State storagestoragestate, database
Block producervalidatorminer
For user-submitted transactions, phrasing like “invoke the actor’s handler” is acceptable. The preference for “send message” specifically targets Actor→Actor communication.

Capitalization Rules

  • Capitalize Cowboy concepts: Actor, Runner, Cycles, Cells, Validator.
  • Lowercase for generic references: “an actor in the system”, “validator nodes”.
  • CBY is always all caps.

Common Violations (Quick Fixes)

❌ Wrong terminology → use Cowboy terms
The smart contract stores data on-chain.
The Actor stores data on-chain.
❌ Vague “gas” → be specific
Transactions consume gas based on usage.
Transactions consume Cycles (compute) and Cells (data) based on usage.

Severity Levels (Minimal)

  • Error (must fix): wrong core terms (e.g., smart contract → Actor), oracle → Runner, “contract call” used for Actor→Actor communication.
  • Warning (should fix): capitalization, vague “gas”, using generic “node” when “validator” is intended, missing full term on first acronym use.
  • Info (optional): stylistic suggestions, non-blocking wording tweaks.

v0.1 keeps the linting scope small. We will expand rules and tooling in later milestones.