@@ -41,6 +41,13 @@ Documentation errors directly impact customers integrating with MaxMind APIs, so
4141- "rather than" (not "rather the")
4242- Check for incorrect verb forms in context: "completing surveys" vs "complete surveys" depending on context
4343
44+ ### Parallel Structure
45+
46+ - Use parallel verb forms in lists and compound phrases:
47+ - "identifying... and reducing" (not "identifying... and reduce")
48+ - "helps protect your business by identifying proxy traffic and reducing false positives"
49+ - Ensure subject-verb agreement in parenthetical clarifications: "The last 3 often default to" (not "defaults to" when subject is plural)
50+
4451## Punctuation
4552
4653### Periods
@@ -54,9 +61,15 @@ Documentation errors directly impact customers integrating with MaxMind APIs, so
5461
5562- Use commas before the final item in a list of three or more (Oxford comma): "resellers, payment providers, gateways, and affiliate networks"
5663- Use commas after introductory conditional phrases: "If you don't, you will receive..."
64+ - Use commas after introductory adverbs: "Currently, we will only provide..." (not "Currently we will...")
65+ - Use commas after introductory transitional words: "Instead, we recommend..." (not "Instead we recommend...")
5766- Use commas between independent clauses joined by conjunctions: "Likewise, we never return a risk score of 100"
5867- Ensure space after commas: "client APIs, and" (not "client APIs,and")
5968
69+ ### Colons
70+
71+ - Use a colon (not a period) before introducing a list: "one of the following values:" (not "one of the following values.")
72+
6073### Spacing Around Code Formatting
6174
6275- Ensure a space before opening backticks: "set to ` 0 ` " (not "set to` 0 ` ")
@@ -91,6 +104,9 @@ Watch for accidentally duplicated words or phrases:
91104### External Brand Names
92105
93106- "SafeKey" (not "Safekey")
107+ - "Surfshark" (not "SurfShark") - VPN provider
108+ - "npm" (not "NPM") - Node.js package manager
109+ - "Knowledge Base" (capitalized when referring to MaxMind's Knowledge Base)
94110- Verify capitalization of third-party product and company names
95111
96112### Acronyms
@@ -115,8 +131,10 @@ Watch for accidentally duplicated words or phrases:
115131### File Names and Paths
116132
117133- Verify file names match actual file naming conventions
134+ - Use lowercase file extensions: ` .csv ` (not ` .CSV ` )
118135- Check for double slashes in paths: "/static/csv/file.csv" (not "/static/csv//file.csv")
119136- Verify CSV file name patterns match documented conventions
137+ - Use consistent placeholder formats in file name patterns: ` {locale} ` (not ` XX ` )
120138
121139## Cross-References and Links
122140
@@ -125,6 +143,13 @@ Watch for accidentally duplicated words or phrases:
125143- Verify links point to the correct documentation section
126144- Check that anchor links reference the correct target (e.g., billing links to billing section, not shipping)
127145- Ensure links to request documentation don't accidentally point to response documentation and vice versa
146+ - Prefer explicit links over vague references: "[ Response Body section] ( /path#anchor ) " (not "the Response Body section below")
147+
148+ ### Link Text
149+
150+ - Link text should accurately describe the destination:
151+ - "README" (not "README.md") for README link text
152+ - Ensure purchase links point to the correct product: GeoIP pages should link to GeoIP purchase pages, not minFraud
128153
129154### Product References
130155
@@ -137,8 +162,15 @@ Watch for accidentally duplicated words or phrases:
137162
138163- Use consistent terminology throughout:
139164 - "postal code" (not sometimes "postal" and sometimes "postal code")
140- - "two-character" with hyphen when used as an adjective
165+ - "endpoint" (one word, not "end point")
166+ - "end user" (two words as a noun, but "end-user" as an adjective)
167+ - "real-time" (hyphenated, not "realtime")
168+ - "second-level" (hyphenated when used as an adjective: "second-level domain")
169+ - "two-part" (hyphenated when used as an adjective: "two-part versions")
170+ - "two-character" (hyphenated when used as an adjective)
141171 - "floating-point number" (not "floating number")
172+ - "connection types" (not "connection speeds" when describing connection type data)
173+ - "requests" (not "queries" when referring to HTTP requests)
142174
143175### Placeholder Formats
144176
@@ -158,11 +190,21 @@ Watch for accidentally duplicated words or phrases:
158190- Remove trailing whitespace from lines
159191- Verify table alignment characters are consistent
160192
193+ ### Hugo Shortcodes
194+
195+ - Include a space before the closing delimiter in shortcodes: ` {{</ alert >}} ` (not ` {{</ alert>}} ` )
196+
161197### Code Blocks
162198
163199- Ensure code comments are properly closed (e.g., no unclosed backticks in comments)
164200- Verify code examples use correct syntax for the language
165201
202+ ### Inline Code Formatting
203+
204+ - Format field names as code when referenced in prose: ` ipv4_32 ` (not plain text ipv4_32)
205+ - Format file names in examples as code: ` GeoIP2-Enterprise-Locations-en.csv `
206+ - Format time zone identifiers as code: ` America/New_York ` (not quoted "America/New_York")
207+
166208## Content Accuracy
167209
168210### API Documentation
@@ -176,3 +218,21 @@ Watch for accidentally duplicated words or phrases:
176218- "Response API documentation" when linking to responses (not "Request API documentation")
177219- "output" when describing response fields (not "input")
178220- Verify that "above" and "below" references point in the correct direction relative to their position
221+
222+ ### Word Order
223+
224+ - "location data" (not "data location")
225+ - "autonomous system number and organization" (number is the primary identifier, list it first)
226+
227+ ### Contextual Accuracy
228+
229+ - Field descriptions should reference the correct parent object:
230+ - In ` registered_country ` section: "not included in the ` registered_country ` object" (not ` country ` object)
231+ - In ` represented_country ` section: "not included in the ` represented_country ` object" (not ` country ` object)
232+ - Knowledge Base links should match their descriptive text (link text should describe what user will see/do)
233+
234+ ## Page Titles
235+
236+ ### Database Documentation
237+
238+ - Database page titles should be plural: "GeoLite ASN Databases" (not "GeoLite ASN Database")
0 commit comments