Skip to content

Commit 69629c9

Browse files
ci(docs): add markdown link linter and fix 10 broken local links
Adds .markdown-link-check.json and a dedicated lint-docs.yml workflow that checks local file links in all .md files (excluding .agents/, openspec/, web/docs/, and build artifacts) on every PR and push to main. Broken links fixed: - CHANGELOG.md: stale docs-build/ path → web/docs/articles/ - docs/architecture/c4-views/booter-components.md: /docs-internal/ absolute path → relative ./images/ - docs/architecture/c4-views/structurizr-dsl/INDEX.md: removed missing runner-components.dsl entry - docs/architecture/README.md: removed runner-components.dsl from tree - docs/architecture/models/flows/bot-connection.md: ADR numbers 0001→0009, 0002→0003 - docs/architecture/models/flows/turn-execution.md: ADR number 0003→0011 - docs/architecture/models/message-schema/state.md: wrong depth ../adr/ → ../../adr/ - docs/architecture/adr/0034-breakpoint-mode.md: wrong depth ../../schema/ → ../../../schema/ - docs/architecture/adr/0036-start-game-debug-options.md: same schema depth fix Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c872b37 commit 69629c9

11 files changed

Lines changed: 43 additions & 11 deletions

File tree

.github/workflows/lint-docs.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Lint Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths: ['**/*.md']
7+
pull_request:
8+
paths: ['**/*.md']
9+
10+
jobs:
11+
check-links:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Check local links in markdown files
17+
run: |
18+
find . -name "*.md" \
19+
-not -path "*/.agents/*" \
20+
-not -path "*/openspec/*" \
21+
-not -path "*/web/docs/*" \
22+
-not -path "*/node_modules/*" \
23+
-not -path "*/.gradle/*" \
24+
-not -path "*/.venv/*" \
25+
-not -path "*/build/archive/*" \
26+
| xargs -P4 -n1 npx --yes markdown-link-check --config .markdown-link-check.json

.markdown-link-check.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"ignorePatterns": [
3+
{ "pattern": "^https?://" },
4+
{ "pattern": "^mailto:" },
5+
{ "pattern": "^/" },
6+
{ "pattern": "\\.html$" }
7+
]
8+
}

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ The Python Bot API has been refactored to match Java and .NET:
549549
| `self.set_adjust_gun_for_body_turn(True)` | `self.adjust_gun_for_body_turn = True` |
550550

551551
> **Full migration guide**: See the `MyFirstBot` sample bots
552-
> and [Team Messages](docs-build/docs/articles/team-messages.md) article.
552+
> and [Team Messages](web/docs/articles/team-messages.md) article.
553553
554554
### 🚀 Improvements
555555

docs/architecture/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,7 @@ docs-internal/architecture/
213213
│ │ ├── bot-api-components.dsl
214214
│ │ ├── gui-components.dsl
215215
│ │ ├── booter-components.dsl
216-
│ │ ├── recorder-components.dsl
217-
│ │ └── runner-components.dsl
216+
│ │ └── recorder-components.dsl
218217
│ └── images/
219218
│ ├── system-context.svg
220219
│ ├── container.svg

docs/architecture/adr/0034-breakpoint-mode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,4 +329,4 @@ Bot API detects debugger (JDWP, `Debugger.IsAttached`, `sys.gettrace()`) and aut
329329
## References
330330
331331
- [GitHub Issue #204](https://github.com/robocode-dev/tank-royale/issues/204) — Original feature request
332-
- [`bot-policy-update` schema](../../schema/schemas/bot-policy-update.schema.yaml) — Existing per-bot policy message
332+
- [`bot-policy-update` schema](../../../schema/schemas/bot-policy-update.schema.yaml) — Existing per-bot policy message

docs/architecture/adr/0036-start-game-debug-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,4 @@ Add `debuggingEnabled` or a bot-address-keyed policy map to `start-game`.
177177

178178
- [GitHub Issue #205](https://github.com/robocode-dev/tank-royale/issues/205) — Feature request: start battle paused / graphical debugging toggle
179179
- [ADR-0033](./0033-bot-debug-mode.md) — Server Debug Mode
180-
- [start-game schema](../../schema/schemas/start-game.schema.yaml)
180+
- [start-game schema](../../../schema/schemas/start-game.schema.yaml)

docs/architecture/c4-views/booter-components.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## Architecture Diagram
1010

11-
![Booter Components](/docs-internal/architecture/c4-views/images/component-Booter.svg)
11+
![Booter Components](./images/component-Booter.svg)
1212

1313
---
1414

docs/architecture/c4-views/structurizr-dsl/INDEX.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,3 @@
1212
| [gui-components.dsl](./gui-components.dsl) | C4 Level 3 — GUI Components |
1313
| [booter-components.dsl](./booter-components.dsl) | C4 Level 3 — Booter Components |
1414
| [recorder-components.dsl](./recorder-components.dsl) | C4 Level 3 — Recorder Components |
15-
| [runner-components.dsl](./runner-components.dsl) | C4 Level 3 — Runner Components |

docs/architecture/models/flows/bot-connection.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -567,8 +567,8 @@ netstat -an | grep 7654
567567
- **[Turn Execution Flow](./turn-execution.md)** — What happens after game starts
568568
- **[Handshakes](../message-schema/handshakes.md)** — Handshake message schemas
569569
- **[Events](../message-schema/events.md)** — Event message schemas
570-
- **[ADR-0001: WebSocket Protocol](../../adr/0001-websocket-communication-protocol.md)** — Protocol design
571-
- **[ADR-0002: Cross-Platform Bot APIs](../../adr/0002-cross-platform-bot-api-strategy.md)** — API design
570+
- **[ADR-0009: WebSocket Protocol](../../adr/0009-websocket-communication-protocol.md)** — Protocol design
571+
- **[ADR-0003: Cross-Platform Bot APIs](../../adr/0003-cross-platform-bot-api-strategy.md)** — API design
572572
- **[ADR-0035: Bot Debugger Detection](../../adr/0035-bot-debugger-detection.md)**`debuggerAttached` field
573573

574574
---

docs/architecture/models/flows/turn-execution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ for (Bot other : nearby) {
746746
- **[State Objects](../message-schema/state.md)** — Bot state and bullet state schemas
747747
- **[Events](../message-schema/events.md)** — Tick events and bot gameplay events
748748
- **[Intents](../message-schema/intents.md)** — Bot intent message schema
749-
- **[ADR-0003: Game Loop](../../adr/0003-realtime-game-loop-architecture.md)** — Design rationale
749+
- **[ADR-0011: Game Loop](../../adr/0011-realtime-game-loop-architecture.md)** — Design rationale
750750
- **[ADR-0033: Server Debug Mode](../../adr/0033-bot-debug-mode.md)** — Turn-by-turn stepping
751751
- **[ADR-0034: Breakpoint Mode](../../adr/0034-breakpoint-mode.md)** — Per-bot breakpoint pause
752752
- **[Schema YAML Definitions](/schema/schemas/)** — Raw YAML message format specifications

0 commit comments

Comments
 (0)