Skip to content

πŸ“š Standard Documentation Structure

This repository defines a standard, technology-agnostic documentation structure designed to be rendered with MkDocs and published as HTML.

The goal is to provide: - A shared architectural language - Clear development and operational guidelines - Reusable reference architectures - Consistency across teams and platforms


⚠️ Important Operational Note

This documentation is for informational purposes and should be kept outside of production CI/CD processes.

No modifications to this repository should trigger restarts, deployments, or automated executions in production environments.


πŸ›οΈ Repository design and documentation governance

project-with-documentation/
β”œβ”€ app/                                 # Application source code (API, WebApp, Worker, etc.)
β”œβ”€ docs/                                # 🌐 Public documentation (no authentication required)
β”‚                                       # Black-box view: how to use the system
β”‚                                       # Rendered as a public MkDocs site
β”œβ”€ docs-private/                        # πŸ” Private documentation (authentication required)
β”‚                                       # White-box view: internal architecture and operations
β”‚                                       # Rendered as a secured MkDocs site
β”œβ”€ .dockerignore                        # Docker ignore rules
β”œβ”€ .env                                 # Local environment variables (never committed)
β”œβ”€ .env.sample                          # Environment variable template
β”œβ”€ .gitignore                           # Git ignore rules
β”œβ”€ README-private.md                    # πŸ” Private documentation entry point
β”‚                                       # Used as MkDocs root for docs-private/
β”œβ”€ README.md                            # 🌐 Public documentation entry point
β””                                       # Used as MkDocs root for docs/

πŸ“‚ Documentation Folder Structure (Language-Agnostic)

This structure applies to any service type: - API - Web Application - Worker / Background Job - Microservice - Event Consumer / Producer - Batch / Data Processor

The structure documents the what, why, how, and how-to-operate of a service.

docs/
β”œβ”€β”€ README.md
β”‚
β”œβ”€β”€ overview/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ purpose.md
β”‚   β”œβ”€β”€ scope.md
β”‚   β”œβ”€β”€ stakeholders.md
β”‚   └── glossary.md
β”‚
β”œβ”€β”€ architecture/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ system-context.md
β”‚   β”œβ”€β”€ logical-architecture.md
β”‚   β”œβ”€β”€ physical-architecture.md
β”‚   β”œβ”€β”€ data-flow.md
β”‚   β”œβ”€β”€ deployment-architecture.md
β”‚   └── architecture-decisions.md
β”‚
β”œβ”€β”€ business-and-requirements/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ functional-requirements.md
β”‚   β”œβ”€β”€ non-functional-requirements.md
β”‚   β”œβ”€β”€ business-rules.md
β”‚   └── use-cases.md
β”‚
β”œβ”€β”€ api-or-interface/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ contracts.md
β”‚   β”œβ”€β”€ versioning.md
β”‚   β”œβ”€β”€ error-handling.md
β”‚   β”œβ”€β”€ pagination-filtering.md
β”‚   └── examples.md
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ data-sources.md
β”‚   β”œβ”€β”€ data-model.md
β”‚   β”œβ”€β”€ data-validation.md
β”‚   β”œβ”€β”€ data-quality.md
β”‚   └── data-retention.md
β”‚
β”œβ”€β”€ security/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ authentication.md
β”‚   β”œβ”€β”€ authorization.md
β”‚   β”œβ”€β”€ secrets-management.md
β”‚   β”œβ”€β”€ threat-modeling.md
β”‚   └── compliance.md
β”‚
β”œβ”€β”€ development/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ coding-standards.md
β”‚   β”œβ”€β”€ project-structure.md
β”‚   β”œβ”€β”€ configuration.md
β”‚   β”œβ”€β”€ dependencies.md
β”‚   └── local-development.md
β”‚
β”œβ”€β”€ testing-and-quality/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ testing-strategy.md
β”‚   β”œβ”€β”€ unit-tests.md
β”‚   β”œβ”€β”€ integration-tests.md
β”‚   β”œβ”€β”€ contract-tests.md
β”‚   └── acceptance-criteria.md
β”‚
β”œβ”€β”€ devops-and-deployment/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ ci-cd.md
β”‚   β”œβ”€β”€ environments.md
β”‚   β”œβ”€β”€ infrastructure.md
β”‚   β”œβ”€β”€ deployment-strategy.md
β”‚   └── rollback-strategy.md
β”‚
β”œβ”€β”€ operations/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ monitoring.md
β”‚   β”œβ”€β”€ logging.md
β”‚   β”œβ”€β”€ alerting.md
β”‚   β”œβ”€β”€ health-checks.md
β”‚   └── runbooks.md
β”‚
β”œβ”€β”€ performance-and-scalability/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ performance-requirements.md
β”‚   β”œβ”€β”€ scalability-strategy.md
β”‚   β”œβ”€β”€ caching.md
β”‚   └── load-testing.md
β”‚
β”œβ”€β”€ cost-management/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ cost-estimation.md
β”‚   β”œβ”€β”€ cost-optimization.md
β”‚   └── capacity-planning.md
β”‚
β”œβ”€β”€ roadmap/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ mvp-definition.md
β”‚   β”œβ”€β”€ backlog.md
β”‚   └── future-evolution.md
β”‚
β”œβ”€β”€ risks-and-assumptions/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ risks.md
β”‚   β”œβ”€β”€ assumptions.md
β”‚   └── mitigations.md
β”‚
β”œβ”€β”€ changelog/
β”‚   └── README.md
β”‚
β”œβ”€β”€ annexes/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ references.md
β”‚   └── faq.md
β”‚
└── assets/
    β”œβ”€β”€ diagrams/
    β”œβ”€β”€ images/
    └── files/