Standards & Best Practices · Standard
Documentation Taxonomy and Category Layout Standard
Defines a consistent documentation taxonomy, repository layout, naming convention, metadata model, and migration approach for cloud engineering repositories.
Purpose
This standard defines the documentation categories, file layout, naming rules, metadata, and maintenance expectations for Cloud Center of Excellence repositories.
The objective is to make documentation predictable across infrastructure, platform, application, automation, security, and migration repositories. A contributor should be able to find architecture, deployment, pipeline, operational, security, validation, and reference information without relying on repository-specific conventions.
This standard complements the Repository Structure and Documentation Standard. SBP-03 defines repository governance requirements; this standard defines how documentation is organized and classified.
Normative language
The key words MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, and MAY are normative:
- MUST / MUST NOT: mandatory for in-scope repositories.
- SHOULD / SHOULD NOT: expected unless a documented exception is approved.
- MAY: optional when the repository scope does not require the category.
Design principles
- Documentation is part of the product. A change that changes behavior, deployment, security, or operations MUST update the affected documentation.
- The repository README is the entry point. It MUST explain the repository purpose, scope, prerequisites, quick start, deployment path, limitations, and links to the documentation map.
- Categories describe subjects. Architecture, deployment, pipelines, and operations are controlled categories and MUST NOT be replaced by ad hoc folder names.
- Document types describe intent. A how-to guide, tutorial, explanation, reference, and decision record are different types of documents and SHOULD be identified separately from the subject category.
- Documentation follows ownership boundaries. Repository-level design belongs in
docs/; module-specific contracts and behavior remain close to the module. - Authored and generated content are distinct. Generated manifests, static sites, PDFs, and indexes MUST be reproducible and MUST NOT be treated as the canonical authored source.
- The map of content is authoritative. Every repository with more than one document MUST provide
docs/README.mdor an equivalent documentation map.
Standard repository-level taxonomy
Repositories SHOULD use the following ordered categories. A repository MAY omit a category when it has no content for that subject; empty placeholder directories SHOULD NOT be created.
| Category | Directory | Purpose | Typical documents |
|---|---|---|---|
| Overview | 00-overview/ | Scope, audience, status, assumptions, and reading paths | scope, assumptions, glossary |
| Architecture | 10-architecture/ | Context, components, boundaries, flows, diagrams, and design principles | architecture overview, network design, data flow |
| Repository | 20-repository/ | File structure, module catalog, ownership, source-of-truth rules, and dependencies | repository structure, modules index |
| Deployment | 30-deployment/ | Prerequisites, environment setup, provisioning, promotion, rollback, and destroy procedures | deployment guide, environment guide |
| Pipelines | 40-pipelines/ | CI/CD triggers, jobs, identities, secrets, approvals, artifacts, and pipeline recovery | pipeline guide, authentication, runner guidance |
| Operations | 50-operations/ | Routine operations, monitoring, troubleshooting, backup, recovery, and incident response | runbooks, operations reference, troubleshooting |
| Security and governance | 60-security-governance/ | Security controls, identity, network boundaries, naming, tagging, compliance, and cost guardrails | security controls, naming standard, tagging standard |
| Validation | 70-validation/ | Tests, linting, quality gates, validation commands, and evidence | validation guide, validation summary |
| Reference | 80-reference/ | Stable technical facts and generated or semi-generated technical references | Terraform reference, current-state inventory |
| Decisions | 90-decisions/ | Requirements, options analysis, ADRs, exceptions, and decision history | ADRs, migration options, design decisions |
The root README.md remains the primary overview page. docs/00-overview/ is only needed when the overview contains multiple documents.
Recommended layout
README.md
SECURITY.md
CONTRIBUTING.md
CHANGELOG.md
docs/
├── README.md
├── 10-architecture/
├── 20-repository/
├── 30-deployment/
├── 40-pipelines/
├── 50-operations/
├── 60-security-governance/
├── 70-validation/
├── 80-reference/
└── 90-decisions/
modules/<module-name>/
├── README.md
├── examples/<scenario>/README.md
└── docs/
├── architecture.md
├── operations.md
└── pipeline.md
The module layout is scope-aware. A module README MUST describe the module contract, inputs, outputs, dependencies, examples, security considerations, and limitations. Module-specific architecture or operations documentation SHOULD remain under the module instead of being duplicated at repository level.
Document types
Each document SHOULD have one primary type:
| Type | Use for | Example |
|---|---|---|
explanation | Concepts, architecture, rationale, and operating context | Architecture overview |
how-to | A focused procedure for a known task | Configure workload identity |
reference | Precise facts, interfaces, inputs, outputs, and commands | Terraform reference |
tutorial | A learning-oriented end-to-end walkthrough | Deploy the foundation example |
decision | A requirement, option analysis, ADR, or approved exception | Select a landing-zone model |
The taxonomy category and document type MUST remain separate. For example, docs/40-pipelines/github-actions-authentication.md may have category: pipelines and article_type: how-to.
Metadata standard
New documents SHOULD use YAML front matter when the documentation site or repository tooling supports it:
---
title: "GitHub Actions Azure Authentication"
category: "pipelines"
article_type: "how-to"
scope: "repository"
status: "current"
owner: "Cloud Center of Excellence"
last_reviewed: "2026-09-19"
---
The following values are controlled:
category:overview,architecture,repository,deployment,pipelines,operations,security-governance,validation,reference, ordecisions.article_type:explanation,how-to,reference,tutorial, ordecision.scope:repository,module,example,platform, orcloud.status:draft,current,deprecated, orsuperseded.
Naming and placement rules
- New Markdown files MUST use lowercase kebab-case.
- Each document MUST have exactly one meaningful H1 heading matching its title.
- A repository MUST NOT maintain two competing canonical documents for the same subject.
- Provider-specific material SHOULD be placed under the category first, for example
docs/10-architecture/aws.mdanddocs/10-architecture/azure.md. - Runbooks MUST be placed under
50-operations/, unless they are strictly provisioning procedures that belong under30-deployment/. - Naming, tagging, code standards, pre-commit, DevSecOps, identity, and network-control material MUST be placed under
60-security-governance/unless it is a purely operational procedure. - Terraform inputs, outputs, resources, and generated module documentation belong under
80-reference/or beside the relevant module. SECURITY.md,CONTRIBUTING.md,CHANGELOG.md, andLICENSEMUST remain at the repository root when required by GitHub or organizational policy.
Canonical migration mapping
Existing common names SHOULD be normalized as follows:
| Existing pattern | Canonical category |
|---|---|
architecture.md, ARCHITECTURE.md, design overview | 10-architecture/ |
repository-structure.md, README file structure, module index | 20-repository/ |
DEPLOYMENT.md, DEPLOYMENT_METHODS.md, provisioning guides | 30-deployment/ |
PIPELINE.md, PIPELINES.md, pipeline guides, runner guidance | 40-pipelines/ |
runbooks/, operations.md, troubleshooting | 50-operations/ |
| naming, tagging, code standards, pre-commit, security controls | 60-security-governance/ |
VALIDATION.md, VALIDATION_SUMMARY.md, test evidence | 70-validation/ |
TERRAFORM_REFERENCE.md, current resource inventory | 80-reference/ |
| requirements, options analysis, ADRs, approved exceptions | 90-decisions/ |
During migration, old paths SHOULD remain as short redirect or compatibility stubs until all internal links, site navigation, automation, and external references have been updated.
Generated documentation and documentation sites
Files such as docs-manifest.json, _site/, site/, generated HTML, and exported PDFs are build artifacts. They MUST be generated from tracked source files and MUST NOT become a second source of truth.
Documentation-site generators SHOULD derive navigation from the controlled taxonomy or document metadata rather than hard-coded assumptions such as “everything outside modules/ is a guide.”
Whenever documents are moved, the repository MUST:
- regenerate its document manifest;
- rebuild the documentation site;
- validate generated pages and internal links; and
- verify that the navigation exposes every current document exactly once.
Minimum documentation baseline
Every infrastructure, platform, application, or automation repository MUST provide:
- a root
README.md; - a documentation map at
docs/README.mdor an equivalent location; - architecture or scope documentation;
- repository or component structure documentation;
- deployment or usage instructions;
- pipeline documentation when CI/CD exists;
- security and ownership guidance;
- validation instructions and expected results; and
- reference documentation for stable interfaces, inputs, outputs, or operational constraints.
Operations, decisions, migration, and disaster-recovery categories are REQUIRED when the repository has those responsibilities.
Adoption approach
Repositories SHOULD be normalized in this order:
- Establish the taxonomy and metadata values.
- Normalize the reusable Azure, AWS, and OCI template repositories.
- Apply the template structure to landing-zone repositories.
- Apply the same categories to web demos and application repositories.
- Add link validation, metadata validation, and documentation-site validation to CI.
- Review documentation at least annually and whenever architecture, deployment, security, or operational behavior changes.
The andyxuan2010 article library is a separate documentation product. Its domain-oriented article taxonomy MAY remain distinct from repository implementation documentation, while this standard remains the recommended structure for the engineering repositories that it documents.
Validation
Repositories adopting this standard MUST validate the documentation structure and its generated outputs. Validation evidence SHOULD include:
- confirmation that the root README and documentation map identify the repository scope and reading paths;
- confirmation that documents use approved categories, document types, metadata values, and lowercase kebab-case filenames;
- verification that required documentation categories are present for the repository's responsibilities;
- successful internal-link, metadata, and heading validation;
- a documentation-site build that exposes every current document exactly once; and
- review of moved-document redirects, generated manifests, and navigation after any taxonomy change.
Validation failures MUST be corrected or recorded as an approved exception before the repository is considered compliant.