Documentation file naming conventions for the Podverse monorepo. Use when creating or modifying documentation files, README files, or any markdown documentation.
Critical Rules: These files should only exist once in the repository (at root/docs):
README.md at repository rootQUICKSTART.md in docs/ directoryOnly one file in the entire repository may be named README (the root README.md). Subdirectories must use descriptive names (e.g. scripts/github/SCRIPTS-GITHUB.md, not README.md).
If a directory needs its own documentation file, name it after the full path from root:
ā
Correct:
apps/api/APPS-API.md
apps/web/APPS-WEB.md
tools/qa/TOOLS-QA.md
infra/docker/ci/INFRA-DOCKER-CI.md
.llm/LLM.md
ā Incorrect:
apps/api/README.md
apps/web/README.md
tools/qa/README.md
Multiple README.md files:
[FULL-PATH-WITH-HYPHENS].md
Convert the directory path to uppercase, replacing slashes with hyphens:
apps/api/ ā APPS-API.mdpackages/orm/ ā PACKAGES-ORM.md.llm/plans/active/ ā place plan files under active/<project>/ (see .llm/LLM.md)| Directory | Documentation File |
|---|---|
| Root | README.md (the only one) |
apps/api/ |
APPS-API.md |
apps/web/ |
APPS-WEB.md |
apps/workers/ |
APPS-WORKERS.md |
apps/management-api/ |
APPS-MANAGEMENT-API.md |
apps/management-web/ |
APPS-MANAGEMENT-WEB.md |
tools/qa/ |
TOOLS-QA.md |
tools/web-perf/ |
TOOLS-WEB-PERF.md |
packages/helpers/ |
PACKAGES-HELPERS.md |
packages/orm/ |
PACKAGES-ORM.md |
infra/docker/ci/ |
INFRA-DOCKER-CI.md |
infra/k8s/ |
INFRA-K8S.md |
scripts/github/ |
SCRIPTS-GITHUB.md |
infra/pipelines/jenkins/alpha/ |
INFRA-PIPELINES-JENKINS-ALPHA.md |
.llm/ |
LLM.md |
Per-project plans live under .llm/plans/active/ and .llm/plans/completed/ (see .llm/LLM.md). There is no single markdown file at the .llm/plans/ root.
Plan directories use a special convention:
.llm/plans/active/feature-name/
āāā 00-master-plan.md # Primary: Master overview/index
āāā 00-overview.md # Alternative: Overview/guide
āāā EXECUTION.md # Parallel execution / agent assignment guide
āāā 01-part1.md # Numbered sequential plans
āāā 02-part2.md
āāā specific-task.md # Descriptive task names
Plan index file naming:
00-master-plan.md - For comprehensive master plans00-overview.md - For overviews and guidesREADME.md or full-path names like LLM-PLANS-ACTIVE-FEATURE.mdPlan execution guides:
EXECUTION.md for parallel execution guides, agent assignments, or running instructionsQUICK-START.md or QUICKSTART.md (reserved for root docs/QUICKSTART.md)The 00- prefix ensures index files sort first in directory listings.
README.mddocs/QUICKSTART.md[FULL-PATH].md in that directoryMIGRATIONS.md, TESTING.md)00-master-plan.md or 00-overview.mdEXECUTION.md (for parallel/agent instructions).llm/plans/ (NOT .cursor/plans/)Critical: Plans are not Cursor-specific and must never be placed in .cursor/ directory.
ā
Correct:
.llm/plans/active/feature-x/
ā Incorrect:
.cursor/plans/active/feature-x/
The .cursor/ directory is for Cursor IDE-specific configuration only (rules, skills, settings).
When linking to a file outside the current documentation subtree, use a repo-root path
with a leading / (GitHub resolves these from the repository root):
ā
Cross-tree:
[media-player-architecture skill](/.cursor/skills/media-player-architecture/SKILL.md)
[QUICKSTART](/docs/QUICKSTART.md)
ā
Same subtree (e.g. both under docs/):
[LOCAL-ENV-OVERRIDES](development/LOCAL-ENV-OVERRIDES.md)
ā Deep parent-relative chains:
`../../../../../.cursor/skills/media-player-architecture/SKILL.md`
/Users/...).../../../ (or longer) for cross-tree targets; use /path/from/repo/root instead./docs/FOO.md#section.If you encounter existing README.md files in subdirectories (from an older directory layout), rename them following the full-path convention.