dotCMS / dotCMS/core

M2 — Link orphaned Scout docs & rebuild docs/README.md as a complete index

Open
#37,578 0 comments 0 reactions 1 assignee View on GitHub

@fabrizzio-dotCMS is already working on this.

Since Sep 16, 2026.

dotCMS : Technical Debt Team : Scout
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Sub-issue of #37124. Scout half of the Rock — mirrors Jose's M2 (#37127).

Description

Make every doc in Fabrizzio's slice reachable, and rebuild docs/README.md into a real index. Jose's M2 (#37127) linked the backend orphans into CLAUDE.md's navigation; this is the other half — the remaining orphans plus the index that was supposed to catch them.

docs/README.md is not a docs index today: it carries 11 links and 10 of them are frontend. It reads as an index of docs/frontend/, so this is close to writing it from scratch for the other 40+ files.

Acceptance Criteria
  • docs/testing/PERFORMANCE_TESTS.md (27 KB) linked — JMeter over test-jmeter/ plus the Kubernetes analytics suite; no overlap found, so this is a linking job
  • docs/testing/API_TESTING.md (21 KB) linked — Postman (dotcms-postman/) and Karate (test-karate/); read in full, no overlap with REST_API_PATTERNS.md or INTEGRATION_TESTS.md, so this is a linking job, not M3's
  • docs/core/SDK_BREAKING_CHANGE_CATEGORIES.md (13 KB) linked
  • The four unowned orphans resolved per M0's ownership decision: docs/cli/CLI_OVERVIEW.md, docs/cli/CLI_BUILD_SYSTEM.md, docs/claude/GPG_COMMIT_SIGNING.md, docs/test-cases/README.md
  • docs/integration/API_CONTRACTS.md linked into CLAUDE.md's navigation — already agreed as jointly owned in #37129, where the linking itself was left open as mechanical work
  • docs/README.md rewritten as a complete index covering every file under docs/, grouped by area, each entry with a one-line description of when to load it
  • Every new link verified to resolve (no typos in relative paths)
  • Reachability check automated and committed — a script that walks the link graph from root CLAUDE.md and docs/README.md and fails on any unreachable .md under docs/, so the index can't silently rot again. This is what makes the Rock's third condition checkable instead of a one-time sweep.
  • Reachability check green: zero orphans across docs/backend/, docs/testing/, docs/core/ and the rest of docs/
Additional Context

Baseline measured on main at dfbe40f29a: 52 .md files under docs/, 45 reachable, 7 orphaned. Zero orphans remain in docs/backend/ and docs/infrastructure/ — Jose's M2 closed those.

Correction

An earlier revision of this issue asserted that API_TESTING.md overlapped REST_API_PATTERNS.md and INTEGRATION_TESTS.md. That was inferred from the filename, not from reading the file — the same mistake M0's criteria warn against. Both orphans have since been read: API_TESTING.md covers Postman and Karate, PERFORMANCE_TESTS.md covers JMeter, and all three directories they document (dotcms-postman/, test-karate/, test-jmeter/) exist. Neither is a consolidation candidate. Their content still needs the M1 audit against real source, which is tracked there.

Priority

Medium

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.