DEVX-118: feat: enrich lint_docs.py with single H1, max depth, line length, code block lang, orphan checks
- Add check_single_h1: each markdown file should have at most one H1 - Add check_max_heading_depth: headings should not exceed H4 (configurable) - Add check_line_length: warn on lines >120 chars (non-blocking — badge URLs) - Add check_code_block_languages: fenced code blocks must specify a language - Add check_orphan_docs: warn on docs not linked from index.md or mapping.json - Fix all code blocks in docs to specify language (text for plain blocks) - Fix duplicate H1 in .vale/styles/devx/README.md - Add 18 new tests for full coverage of new checks Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent
bb700ab969
commit
fb342e7b9d
@@ -6,7 +6,7 @@ from scripts outside the package.
|
||||
|
||||
## Package structure
|
||||
|
||||
```
|
||||
```text
|
||||
src/devx/
|
||||
├── __init__.py # Version (single source of truth, read by setuptools)
|
||||
├── cli.py # Click-based CLI entry point (devx command)
|
||||
@@ -439,7 +439,7 @@ v2 failures. Supports loading custom platforms from a JSON file.
|
||||
|
||||
### PR lifecycle
|
||||
|
||||
```
|
||||
```text
|
||||
Developer creates Vikunja task (DEVX-N)
|
||||
│
|
||||
▼
|
||||
@@ -475,7 +475,7 @@ CI workflow (ci.yml) triggers:
|
||||
|
||||
### Post-merge flow
|
||||
|
||||
```
|
||||
```text
|
||||
Push to master (squash-merge commit: "DEVX-N <conventional commit>")
|
||||
│
|
||||
▼
|
||||
@@ -519,7 +519,7 @@ Post-merge workflow (post-merge.yml) triggers:
|
||||
|
||||
### Publish flow
|
||||
|
||||
```
|
||||
```text
|
||||
Tag push (vX.Y.Z) triggers publish workflow (publish.yml):
|
||||
│
|
||||
▼
|
||||
@@ -536,7 +536,7 @@ Tag push (vX.Y.Z) triggers publish workflow (publish.yml):
|
||||
|
||||
### Badge generation flow
|
||||
|
||||
```
|
||||
```text
|
||||
push_badges.py:
|
||||
│
|
||||
├── fetch_latest_master() → git fetch + reset --hard origin/master
|
||||
|
||||
@@ -6,7 +6,7 @@ tag-triggered publishing.
|
||||
|
||||
## Workflow overview
|
||||
|
||||
```
|
||||
```text
|
||||
PR opened/synchronized ──► CI (ci.yml)
|
||||
│ ├── quality
|
||||
│ ├── detect-changes
|
||||
@@ -143,7 +143,7 @@ updates.
|
||||
|
||||
### Job dependency graph
|
||||
|
||||
```
|
||||
```text
|
||||
detect-type ──┬── validate-commit-msg (skip if release commit)
|
||||
├── release (skip if release commit)
|
||||
│ │
|
||||
|
||||
Reference in New Issue
Block a user