Dictionary - ChristianPresley/zig-sdk GitHub Wiki

Dictionary

This page is the project dictionary for the Style Guide. The linter zig build lint-docs reads the same files. The lists are the work of this project. They do not copy the dictionary of ASD-STE100.

Technical nouns

Nouns that name project concepts (ASD-STE100 rule 1.5, categories 15 and 19). Use one noun for one concept.

PN-1 protocol nouns

  • server
  • client
  • host
  • tool
  • resource
  • resource template
  • prompt
  • sampling
  • elicitation
  • root
  • capability
  • request
  • response
  • notification
  • result
  • error
  • message
  • JSON-RPC
  • method
  • params
  • progress token
  • cursor
  • page
  • subscription
  • completion
  • logging level
  • annotation
  • content block
  • protocol version
  • authorization server
  • access token
  • bearer token
  • scope

PN-2 transport nouns

  • transport
  • stdio transport
  • Streamable HTTP transport
  • gRPC transport
  • stream
  • endpoint
  • connection
  • header
  • event stream
  • TLS
  • port
  • socket
  • frame
  • payload

PN-3 Zig and build nouns

  • allocator
  • arena
  • module
  • package
  • build graph
  • build step
  • comptime
  • slice
  • struct
  • union
  • enum
  • error set
  • error union
  • optional
  • reader
  • writer
  • buffer
  • byte
  • thread
  • cache
  • artifact
  • target

PN-4 repository and process nouns

  • repository
  • wiki
  • wiki page
  • commit
  • signed commit
  • GPG key
  • branch
  • pull request
  • issue
  • tag
  • release
  • changelog
  • workflow
  • job
  • runner
  • contributor
  • maintainer
  • reviewer
  • bibliography
  • reference
  • style guide
  • dictionary

Technical verbs

Verbs that name project actions (rule 1.12, category 2).

  • boot
  • build
  • compile
  • link
  • run
  • install
  • download
  • upload
  • load
  • save
  • store
  • delete
  • clear
  • copy
  • paste
  • open
  • close
  • enable
  • disable
  • validate
  • encode
  • decode
  • serialize
  • deserialize
  • parse
  • format
  • log
  • debug
  • update
  • upgrade
  • abort
  • initialize
  • negotiate
  • register
  • subscribe
  • unsubscribe
  • list
  • call
  • invoke
  • send
  • receive
  • cancel
  • retry
  • resume
  • stream
  • authenticate
  • authorize
  • redirect
  • sign
  • verify
  • commit
  • push
  • pull
  • merge
  • rebase
  • tag
  • release
  • support
  • return
  • free
  • allocate
  • configure
  • enter

Approved verbs

General verbs that the prose of the project uses. Use the simple present, the simple past or the future of these verbs (rule 3.4).

AV-1 verbs of action

  • accept
  • add
  • answer
  • apply
  • ask
  • become
  • change
  • check
  • come
  • contain
  • continue
  • count
  • cover
  • declare
  • define
  • describe
  • do
  • drop
  • end
  • fail
  • fetch
  • find
  • follow
  • get
  • give
  • go
  • have
  • hold
  • keep
  • know
  • let
  • lose
  • make
  • mark
  • move
  • name
  • need
  • obey
  • pass
  • put
  • refuse
  • reject
  • remove
  • replace
  • report
  • require
  • set
  • show
  • skip
  • start
  • stay
  • stop
  • take
  • tell
  • try
  • use
  • wait

AV-2 verbs of state

  • agree
  • be
  • cause
  • differ
  • exist
  • fit
  • match
  • mean
  • own
  • permit
  • prevent
  • see
  • seem

Restricted words

Approved words that have one meaning in this project.

Word Meaning or replacement
support technical verb, "provide an implementation of a protocol feature"
handle prefer "process" or "receive"; "handle" is also a technical noun for an opaque identifier
return technical verb for the value a function gives back
free technical verb for releasing memory

Project word list

Words that this project does not use in prose, with the replacement (rule 1.1).

Word Meaning or replacement
should must (when it is a requirement) or "We recommend that" (when it is advice)
shall must
may can
ensure make sure
ensures makes sure
however but
utilize use
utilizes uses
via through, or with
session (forbidden: the protocol is stateless; describe the request or the stream)
following these, or that follows
implement write, or provide
implements provides

Synonyms

Terms that the project does not use, with the project term (PRJ-4). One concept has one term.

Term Project term
plugin extension
plugins extensions
plug-in extension
reply response
replies responses
invocation call
invocations calls
tool invocation tool call
method call request
rpc call request, or gRPC call
multi-round-trip multi round-trip
e-mail email
whitelist allowlist
blacklist denylist
filesystem file system
subprocess child process
subprocesses child processes
web socket WebSocket
websockets WebSocket connections
json schema draft 2020-12 JSON Schema 2020-12
lib library
repo repository
config configuration

Phrasal verbs

Phrasal verbs that the project does not use, with a verb of one word (PRJ-5).

Phrasal verb Replacement
set up configure, or prepare
sets up configures, or prepares
find out find
finds out finds
carry out do
carries out does
look up find
looks up finds
point out show
points out shows
fill in write
fills in writes
fill out complete
turn on enable
turns on enables
turn off disable
turns off disables
switch on enable
switch off disable
shut down stop
shuts down stops
start up start
starts up starts
clean up remove, or release
cleans up removes, or releases
hand off give
hands off gives
give up stop
gives up stops
go through examine
goes through examines
come back return
comes back returns
figure out find
figures out finds
time out expire
times out expires, or has no response in the time limit
fall back use ... instead
falls back uses ... instead
back off wait
backs off waits
pick up get, or read
picks up gets, or reads
end up become
ends up becomes
tear down remove
tears down removes
spin up start
spins up starts
wake up wake
wakes up wakes
log in authenticate
logs in authenticates
opt in enable
opts in enables
opt out disable
opts out disables

US spelling

The project uses US spelling (PRJ-3). The table gives the British spelling and the US spelling.

British spelling US spelling
acknowledgement acknowledgment
acknowledgements acknowledgments
analyse analyze
analysed analyzed
analyses analyzes
artefact artifact
artefacts artifacts
authorisation authorization
authorise authorize
authorised authorized
authorises authorizes
behaviour behavior
behaviours behaviors
cancelled canceled
cancelling canceling
catalogue catalog
centre center
colour color
customise customize
customised customized
defence defense
deserialise deserialize
deserialised deserialized
dialogue dialog
emphasise emphasize
favour favor
finalise finalize
finalised finalized
grey gray
honour honor
honoured honored
honours honors
initialisation initialization
initialise initialize
initialised initialized
initialises initializes
judgement judgment
labelled labeled
labelling labeling
learnt learned
licence license
licences licenses
maximise maximize
minimise minimize
modelled modeled
modelling modeling
neighbour neighbor
normalisation normalization
normalise normalize
normalised normalized
offence offense
optimisation optimization
optimise optimize
optimised optimized
organisation organization
organise organize
prioritise prioritize
programme program
recognise recognize
recognised recognized
recognises recognizes
sanitise sanitize
sanitised sanitized
serialisation serialization
serialise serialize
serialised serialized
serialises serializes
signalled signaled
signalling signaling
specialise specialize
spelt spelled
standardise standardize
summarise summarize
synchronise synchronize
tokenise tokenize
tokeniser tokenizer
travelled traveled
whilst while
amongst among

Abbreviations

Abbreviations and names with a fixed case that the prose can use (PRJ-2). A sentence can start with a name of this list that starts with a lowercase letter (PRJ-1).

Abbreviation Meaning
API application programming interface
ASCII the 7-bit character set of RFC 20
CR carriage return, the ASCII control character 0x0D
DEL delete, the ASCII control character 0x7F
LF line feed, the ASCII control character 0x0A
NUL null, the ASCII control character 0x00
CIMD client ID metadata document, a client registration method of MCP
DCR dynamic client registration (RFC 7591)
DNS Domain Name System
HPACK the header compression format of HTTP/2 (RFC 7541)
HTML HyperText Markup Language
HTTP Hypertext Transfer Protocol
HTTP/2 version 2 of HTTP (RFC 9113)
HTTPS HTTP over TLS
ID identifier
IP Internet Protocol
JSON JavaScript Object Notation
JSON-RPC the remote procedure call protocol that MCP uses
JWK JSON Web Key
JWKS JSON Web Key Set
JWS JSON Web Signature
JWT JSON Web Token
MCP Model Context Protocol
MRTR multi round-trip request
PKCE proof key for code exchange (RFC 7636)
POSIX the portable operating system interface
RPC remote procedure call
SEP specification enhancement proposal of MCP
SSE server-sent events
TCP Transmission Control Protocol
URI uniform resource identifier
URL uniform resource locator
UTC Coordinated Universal Time
UTF-8 the 8-bit encoding of Unicode
UTF-16 the 16-bit encoding of Unicode
GET the HTTP method that reads a resource
GIF Graphics Interchange Format
JPEG the image format of the Joint Photographic Experts Group
MIME Multipurpose Internet Mail Extensions, the media type system
PNG Portable Network Graphics
POST the HTTP method that sends a request body
SVG Scalable Vector Graphics
UI user interface
YAML the data format of the skill frontmatter
ECMA Ecma International, the publisher of ECMA-262
BSD the Berkeley Software Distribution family of operating systems
AEAD authenticated encryption with associated data
AEGIS a family of AEAD algorithms on the AES round function (draft-irtf-cfrg-aegis-aead)
AES Advanced Encryption Standard
ALPN application-layer protocol negotiation (RFC 7301)
CA certificate authority
CRL certificate revocation list (RFC 5280 section 5)
CVE an entry in the Common Vulnerabilities and Exposures list
DER Distinguished Encoding Rules of ASN.1
DPoP Demonstrating Proof of Possession, the sender constraint of OAuth access tokens (RFC 9449)
ASN.1 Abstract Syntax Notation One
ECDSA elliptic curve digital signature algorithm
ES256 ECDSA with P-256 and SHA-256
GCM Galois/Counter Mode
HMAC hash-based message authentication code
HS256 HMAC with SHA-256
IV initialization vector
OCSP Online Certificate Status Protocol (RFC 6960)
PEM the text form of keys and certificates (RFC 7468)
PS256 RSA-PSS with SHA-256
PSS the probabilistic signature scheme of RSA
RS256 RSA PKCS #1 version 1.5 signature with SHA-256
RSA the Rivest-Shamir-Adleman public key algorithm
SEC1 the elliptic curve private key format of SECG
SASL Simple Authentication and Security Layer (RFC 4422)
SHA Secure Hash Algorithm
SNI server name indication
SPIFFE Secure Production Identity Framework for Everyone, a standard for workload identities
TLS Transport Layer Security
CRT the Chinese remainder theorem form of an RSA private key
EMSA-PSS the encoding method of RSASSA-PSS (RFC 8017)
ES384 ECDSA with P-384 and SHA-384
ID-JAG identity assertion JWT authorization grant
JAG JWT authorization grant, in ID-JAG
JOSE JSON Object Signing and Encryption
KEM key encapsulation mechanism
MGF1 the mask generation function of RSA-PSS (RFC 8017)
ML-KEM the module-lattice key encapsulation mechanism (FIPS 203)
ML-KEM-768 the ML-KEM parameter set of security category 3
RS384 RSA PKCS #1 version 1.5 signature with SHA-384
RS512 RSA PKCS #1 version 1.5 signature with SHA-512
RSASSA RSA signature scheme with appendix (RFC 8017)
PKCS1 PKCS #1, in names such as RSASSA-PKCS1-v1_5
X25519MLKEM768 the hybrid TLS key exchange group of ML-KEM-768 and X25519 (RFC 10024)
XOR the exclusive or operation
ASD the association that publishes ASD-STE100
ASD-STE100 the specification of Simplified Technical English
CI continuous integration
CPU central processing unit
GPG GNU Privacy Guard
GR a general rule of the project profile, in rule ids such as STE-GR-6
IETF Internet Engineering Task Force
PRJ a project rule, in rule ids such as PRJ-1
README the first page of the repository
RFC request for comments, a document of the IETF
SDK software development kit
STE Simplified Technical English
US United States
VS Visual Studio, in the name VS Code
WHATWG Web Hypertext Application Technology Working Group
gRPC the remote procedure call framework that the gRPC transport uses
stdio standard input and standard output
zig-sdk the name of this project
curl the command line HTTP client
openssl the command line tool of OpenSSL
npx the package runner of Node.js
macOS the operating system of Apple computers

Participles as adjectives

Past participles that tell a state after "is" or "are" (rule 3.6).

  • closed
  • connected
  • disabled
  • enabled
  • expired
  • finished
  • gone
  • installed
  • limited
  • malformed
  • signed

Approved -ing words

Technical nouns and adjectives that end in -ing (rule 3.5).

ING-1 technical nouns: the name of a process or of a thing

  • backtracking
  • binding
  • bindings
  • buffering
  • building
  • caching
  • decoding
  • encoding
  • finding
  • findings
  • framing
  • hardening
  • heading
  • headings
  • logging
  • mapping
  • matching
  • meaning
  • mirroring
  • nesting
  • padding
  • polling
  • processing
  • rebinding
  • routing
  • sampling
  • setting
  • settings
  • signing
  • spelling
  • spoofing
  • stapling
  • streaming
  • tampering
  • testing
  • tooling
  • versioning
  • warning
  • warnings

ING-2 technical adjectives: a state or a position

  • existing
  • incoming
  • leading
  • missing
  • outgoing
  • pending
  • remaining
  • trailing

ING-3 words that end in -ing but are not -ing forms of a verb

  • anything
  • bring
  • during
  • everything
  • nothing
  • ring
  • something
  • spring
  • string
  • strings
  • thing
  • things