ProficientNowTechRFCs

7. TechDocs

RFC-DEVELOPER-PLATFORM-0001                                       Section 7
Category: Standards Track                                        TechDocs

7. TechDocs

← Software Templates | Index | Next: Permission Model →


7.1 Documentation-as-Code Model

7.1.1 Philosophy

Per Invariant 8, documentation MUST be co-located with code. TechDocs implements this philosophy by:

PrincipleImplementation
Docs live with codeDocumentation in same repository as source
Version togetherDocs and code share git history
Review togetherDocumentation changes in code PRs
Build togetherDocs rendered as part of CI

7.1.2 Benefits

BenefitDescription
CurrencyDocumentation updated with code changes
AccountabilitySame team owns code and docs
DiscoverabilityDocs visible in developer workflow
ReviewDocumentation changes receive peer review

7.1.3 Invariant Alignment

RequirementEnforcement
Co-locationTechDocs requires docs in repo
Single sourceNo external wiki duplication
OwnershipDocs inherit component ownership

7.2 MkDocs Integration

7.2.1 MkDocs Overview

TechDocs renders documentation using MkDocs, a static site generator:

AspectDescription
Source formatMarkdown files
Configurationmkdocs.yml in repository root
ThemeMaterial for MkDocs
OutputStatic HTML

7.2.2 Documentation Structure

FilePurpose
mkdocs.ymlMkDocs configuration
docs/index.mdDocumentation home page
docs/**/*.mdDocumentation content
docs/assets/Images, diagrams

7.2.3 Build Process

7.2.4 Build Strategies

StrategyDescriptionUse Case
Local buildBuild in CI, upload artifactsMost common
Recommended buildBuild on-demand in BackstageDevelopment
External buildPre-built in external systemComplex builds

7.3 Search Integration

7.3.1 Search Capabilities

TechDocs content is indexed for search:

CapabilityDescription
Full-text searchSearch across all documentation
Faceted searchFilter by component, owner, type
Relevance rankingResults ordered by relevance
Snippet previewShow matching text context

7.3.2 Index Updates

TriggerDescription
Build completionIndex updated after doc build
ScheduledPeriodic full re-index
ManualForce re-index via admin

7.4 Catalog Integration

7.4.1 Entity Documentation

Each catalog entity MAY have associated documentation:

Entity TypeDocumentation Purpose
ComponentAPI docs, runbooks, architecture
SystemSystem overview, integration guides
DomainDomain model, business context

7.4.2 Documentation Discovery

Documentation is discovered through entity annotations:

AnnotationPurpose
backstage.io/techdocs-refLocation of docs source
backstage.io/techdocs-entityOverride entity reference

7.4.3 Documentation View

The catalog provides integrated documentation viewing:

FeatureDescription
Inline renderingDocs displayed within entity page
NavigationDoc navigation alongside catalog nav
LinksCross-links to related entities

7.5 Documentation Standards

7.5.1 Required Sections

Component documentation SHOULD include:

SectionContent
OverviewWhat the component does
Getting StartedHow to use the component
API ReferenceAPI documentation (if applicable)
OperationsRunbooks, monitoring, alerts
ArchitectureDesign decisions, diagrams

7.5.2 Documentation Quality

AspectGuideline
CurrencyUpdated within release cycle
CompletenessAll required sections present
AccuracyReflects current behavior
AccessibilityClear, well-organized content

7.5.3 Automation Support

AutomationDescription
API spec inclusionAuto-generate from OpenAPI
Diagram generationMermaid diagrams rendered
Link validationBroken link detection

7.6 External Documentation

7.6.1 Permitted External Docs

While Invariant 8 requires co-location, certain documentation MAY be external:

External Doc TypeRationale
Vendor documentationMaintained by vendor
Standards referencesIndustry standards
Legal documentsCompliance requirements
ApproachDescription
LinkerdTrack external doc links
ValidationPeriodic link checking
ArchiveArchive critical external docs

Document Navigation


End of Section 7 — RFC-DEVELOPER-PLATFORM-0001