Skip to content

Commit fe11f55

Browse files
horghclaude
andcommitted
Expand styleguide with patterns from recent documentation fixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent abf0abf commit fe11f55

1 file changed

Lines changed: 61 additions & 1 deletion

File tree

.gemini/styleguide.md

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)