π¦ Project with Documentation β Template Overview¶
This repository provides a ready-to-use project template that demonstrates how to structure:
- Application source code
- Public documentation
- Private (authenticated) documentation
- MkDocs-based documentation sites
- Reusable project scaffolding
It is intended to be used as a reference and starting point for development teams.
π Table of Contents¶
πNote: It is recommended that each developer create a README.md file in their repo code with the table of contents to the files, serving as an index like index.html. This way, when converted to HTML using mkdocs, it is not necessary to manage menus for each repo; instead, each repo manages its own menu like a landing page.
π Documentation¶
- π Public Documentation
- π Private Documentation
- π Private Documentation / lifecycle
- π§Ύ About | Component metadata, ownership, public/private links
- β Required - About section with public/private links to technical and functional documentation, ownership info
- All code in production must be documented, at least including the location of its repository (Azure DevOps / Github).
β οΈ 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.
trigger:
branches:
include:
- main
paths:
include:
- Microservice/*
exclude:
- Microservice/docs/**
- Microservice/docs-private/**
- Microservice/*.md
- '*.md' # root path
π¦ Templates¶
ποΈ Documentation repository and governance design template¶
# π Project Documentation Structure
```text
project/
β
ββ app/ # Application source code (API, Worker, WebApp, etc.)
β
ββ docs/ # π Public documentation (no authentication required)
β β # Black-box view: how to use the system
β β # Rendered as a public MkDocs site
β β
β ββ about.md # [Required] Component metadata, public reference property - Not confidential
β | # The about.md content must be exposed through a runtime-accessible endpoint or page,
β | # enabling identification of the component, ownership, repositories, and documentation links.
β β
β ββ overview/
β β ββ README.md # General component overview
β β ββ authentication.md # Public authentication details
β β
β ββ api/
β β ββ endpoints.md # Public API endpoints
β β ββ errors.md # Public error catalog
β β
β ββ usage/
β ββ getting-started.md # Getting started guide
β
ββ docs-private/ # π Private documentation (authentication required)
β β # White-box view: internal architecture & operations
β β # Rendered as a secured MkDocs site
β β
β ββ about.md # [Required] Component metadata, internal reference property - Confidential
β | # The about.md content must be exposed through a runtime-accessible endpoint or page,
β | # enabling identification of the component, ownership, repositories, and documentation links.
β β
β ββ architecture/
β β ββ system-overview.md # Internal architecture overview
β β
β ββ business-logic/
β β ββ rules.md # Business rules
β β
β ββ data/
β β ββ queries.md # Queries and data access
β β
β ββ lifecycle/ # Technology Lifecycle Declaration (TLD)
β β ββ technology-lifecycle.md # Every component MUST declare its Technology Lifecycle
β β
β ββ security/
β β ββ jwt-validation.md # Security implementation details
β β
β ββ operations/
β ββ runbooks.md # Operational runbooks
β
ββ .dockerignore # Docker ignore rules
ββ .env.sample # Environment variable template
ββ .gitignore # Git ignore rules
ββ README.md # π Public documentation entry point (MkDocs root)
ββ README-private.md # π Private documentation entry point (MkDocs root)