Skip to content

Commit 2d559c1

Browse files
authored
fix: stronger style rules for filenames
1 parent 1770b6b commit 2d559c1

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

.github/scripts/build_review_instructions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ def main() -> None:
4949
• Findings may target `docs.json` when the issue is there (e.g., broken/duplicate slug, incorrect path, wrong ordering/grouping).
5050
• You may also use `docs.json` to verify that changed frontmatter `slug`/title or links in `.md`/`.mdx` remain valid.
5151
• Cite `docs.json` lines when it is the source of the problem; otherwise cite the offending `.md`/`.mdx` lines.
52+
• If an issue relates to both `docs.json` and `.md`/`.mdx`, report it only on `docs.json`.
5253
- Do not speculate about Mintlify runtime behavior or external systems; rely solely on repository content.
5354
5455
Severity policy:

contribute/style-guide-extended.mdx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,8 @@ Rationale: Clear, inclusive writing and accessible assets improve comprehension
766766

767767
## 16. File, navigation, and frontmatter conventions
768768

769+
Content of this section mostly describes contents of `docs.json` and `[...](...)` markdown links in `.mdx` files.
770+
769771
### 16.1 Sidebar groups and ordering
770772

771773
Objective. Keep navigation predictable and reduce decision points. (Why: consistent ordering helps readers find the right kind of page without scanning the whole section.)
@@ -779,11 +781,13 @@ Rules (binding).
779781

780782
Objective. Keep repository structure and UI labels consistent. (Why: predictable structure speeds editing, improves search/TOC behavior, and reduces merge and build issues.)
781783

782-
### 16.1 Files and titles
784+
### 16.2 Files and titles
783785

784-
- Filenames **MUST** use kebab‑case.md or kebab‑case.mdx (e.g., `validator-setup.mdx`). (Why: kebab‑case avoids case‑sensitivity bugs, reads well in URLs, and is easy to grep.)
786+
- Filenames **MUST** use kebab‑case.md or kebab‑case.mdx (e.g., `validator-setup.mdx`). (Why: kebab‑case avoids case‑sensitivity bugs, reads well in URLs, and is easy to grep.) \[HIGH]
787+
- Filenames **MUST NOT** have uppercase characters, i.e. `foo-bAR.mdx`. \[HIGH]
788+
- Filenames **MUST NOT** have cyrillic characters, i.e. `сhoice.mdx`. \[HIGH]
785789

786-
### 16.2 Navigation labels
790+
### 16.3 Navigation labels
787791

788792
- Sidebar and nav labels **SHOULD** be short (2–4 words), unique, and mirror in‑page headings. (Why: short, unique labels prevent truncation and speed scanning.)
789793

@@ -826,13 +830,13 @@ Objective. Keep repository structure and UI labels consistent. (Why: predictable
826830
---
827831
```
828832

829-
### 16.3 Links and anchors
833+
### 16.4 Links and anchors
830834

831835
- Internal links **MUST** be root‑absolute (start with `/`) and **MUST NOT** include `./` or `../`; ensure anchors are stable. (Why: root‑absolute links survive file moves and changes to the information architecture; relative segments break during reorganizations.) \[HIGH]
832836
- Trailing slashes: Follow a single repo‑wide policy set by the site generator, and apply it consistently across all internal links. (Why: consistency prevents duplicate routes, cache misses, and SEO issues.)
833837
- Cross‑section links **SHOULD** target specific anchors rather than page tops. (Why: deep links land readers directly on the needed detail.)
834838

835-
### 16.4 Status labels
839+
### 16.5 Status labels
836840

837841
- Pages and features **MAY** declare a status in content at the top of the page using an `<Aside>` with a clear title (e.g., `title="Deprecated"` or `title="Experimental"`). Do not introduce custom frontmatter keys for status. (Why: status is visible to readers and does not require unsupported metadata.)
838842
- If deprecated, the page **MUST** include the replacement (link to successor) and the removal timeline (date or version) in the callout. You **MAY** set `noindex: true` in frontmatter to exclude the page from search when appropriate. (Why: clear migration guidance reduces breakage; de‑indexing avoids surfacing outdated pages.)

0 commit comments

Comments
 (0)