Design — Docs Restructure + p24-infra-docs Repo Split
Issue: #2640 · Status: Design (plan only) · Batch: K (#3338)
Plan to reorganise docs/ and evaluate extracting it into a standalone p24-infra-docs repository.
1. Why
docs/ has no runtime dependency on the rest of the repo — a natural extraction candidate. Today it
holds 150+ loose Markdown files at the top level plus a partial NN-* numbered taxonomy
(01-architecture … 18-workbooks) and topic subdirs (designs/, plans/, playbooks/, roles/,
servers/, incidents/, …). The two schemes coexist inconsistently, so files are hard to locate.
2. Stage 1 — Reorganise in place (this repo, low risk)
Target the existing numbered taxonomy as the canonical home; treat top-level loose files as a backlog to file into it.
- Adopt
docs/NN-*numbered sections as canonical; document the scheme indocs/index.md. - Sweep top-level loose
*.mdinto the right numbered section (e.g.n8n-*→11-automations,*-operations.md→03-operations,secrets-*→06-secrets). - Keep working subdirs (
designs/,plans/,playbooks/,adr/) as-is — they are already coherent. - Update internal cross-links after each move (grep for the old relative path).
- Confirm
docs/projects/(added 2026-07-02) is complete for all six projects.
Guard rail: move files in small, link-fixing commits — never a single bulk git mv. Broken
CLAUDE.md / playbook cross-links are the main regression risk.
3. Stage 2 — Extract p24-infra-docs (higher risk, deferred)
Only after Stage 1 stabilises. Options, in order of recommendation:
| Option | Sync mechanism | Pros | Cons |
|---|---|---|---|
| A. git subtree (recommended) | git subtree split/push on docs/ | history preserved, no submodule friction, docs stay browsable in-repo | manual push step |
| B. submodule | .gitmodules pointer | clean separation | contributor friction, detached-HEAD footguns |
| C. CI mirror | GH Action copies docs/ on change | zero contributor impact | one-way, diverges if edited in docs repo |
Boundary after split
p24-infra (core): monitoring/ infra-src/ secrets/ ansible/ scripts/ .github/
p24-infra-docs: docs/ + CLAUDE.md ecosystem instructions
Open decisions (human)
-
CHANGELOG.md— stays inp24-infra(tracks code/infra releases) or moves to docs repo. - Repo name:
p24-infra-docsvsp24-docs. - Whether the split is worth it at all — Stage 1 alone may resolve the discoverability pain, and a second repo adds a sync surface. Recommendation: ship Stage 1, then re-evaluate Stage 2 need.
4. Out of scope
No new repo is created and no files are moved by this issue — it produces the plan and the decision list only.
Design-only deliverable. Related: docs/index.md, CLAUDE.md §Full Documentation.