Finishing Up
On this page, you will:
- Verify the complete documentation setup end-to-end
- Review the architecture you have built
- Understand costs and maintenance requirements
- Learn how to extend the setup to additional repositories
Overview
You have built a unified documentation site that aggregates content from all your platform repositories into a single, searchable site. This final page verifies everything works end-to-end and provides guidance for ongoing maintenance.
┌─────────────────────────────────────────────────────────────────────────┐
│ COMPLETE DOCUMENTATION SETUP │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ Source Repositories Central Repo Live Site │
│ ──────────────────── ──────────── ───────── │
│ │
│ terraform/docs/ │
│ ├── index.md ──┐ │
│ ├── getting-started.md │ │
│ ├── conventions.md │ technical-documentation/ │
│ └── runbooks/ ├──▶ mkdocs.yml GitHub Pages │
│ │ + multirepo plugin ──▶ Unified site │
│ data-pipelines/docs/ │ + Material theme + Search │
│ ├── index.md ──┤ + CI/CD workflows + All repos │
│ ├── getting-started.md │ │
│ ├── conventions.md │ ┌────────────┐ │
│ └── runbooks/ │ │ dbt Docs │ │
│ │ │ (linked) │ │
│ dbt-transform/docs/ │ └────────────┘ │
│ ├── index.md ──┘ │
│ ├── getting-started.md │
│ ├── conventions.md │
│ └── runbooks/ │
│ │
│ CI: Reusable workflow validates each repo's docs on PRs │
│ CD: Deploys unified site on merge (any repo triggers rebuild) │
│ Skill: Shared Claude skill writes docs in correct repo │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Verification Checklist
Central Repository
-
technical-documentationrepository created with MkDocs configuration -
mkdocs.ymlhas!importdirectives for all source repositories - Material theme configured (Raleway font, blue grey / light blue palette, light/dark toggle)
-
mkdocs-multirepo-plugininstalled and configured - Landing page (
docs/index.md) links to each repository section and dbt docs -
data-stack.code-workspacefile includes all repositories
Verify the unified site builds:
cd ~/src/technical-documentation
uv run mkdocs build --strict
Source Repositories
For each repository (terraform, data-pipelines, dbt-transform):
-
docs/directory exists with initial pages (index, getting started, conventions) -
docs/runbooks/directory exists with at least an index page -
docs/mkdocs.ymlconfigured for independent local preview - MkDocs dependencies added (
uv add --dev mkdocs mkdocs-material mkdocs-glightbox)
Verify each repository builds independently:
cd ~/src/terraform/docs && uv run mkdocs build --strict
cd ~/src/data-pipelines/docs && uv run mkdocs build --strict
cd ~/src/dbt-transform/docs && uv run mkdocs build --strict
CI/CD
- Reusable CI workflow in
technical-documentation/.github/workflows/docs-ci-reusable.yml - Caller workflow in each source repository:
.github/workflows/docs-ci.yml - Deployment workflow in
technical-documentation/.github/workflows/deploy-docs.yml -
DOCS_GITHUB_TOKENsecret configured for multirepo plugin access -
DOCS_DISPATCH_TOKENsecret configured for cross-repo triggers - GitHub Pages enabled on the
technical-documentationrepository - Dispatch trigger added to each source repository's CI workflow
Test the pipeline:
- Make a documentation change in a source repository
- Open a pull request - verify CI validates the docs build
- Merge the pull request - verify the unified site rebuilds and deploys
Claude Skill
-
add-documentation-pageskill intechnical-documentation/.claude/skills/ - Skill references British English conventions and page templates
- Skill instructs Claude to write in individual repo's
docs/directory - Workspace file gives Claude access to all repositories
Test the skill:
/add-documentation-page Create a runbook for adding a new dlt pipeline
source in the data-pipelines repository
Verify Claude writes the file to data-pipelines/docs/runbooks/ and follows the template.
Cost Summary
| Component | Monthly Cost | Notes |
|---|---|---|
| MkDocs | £0 | Open-source |
| Material for MkDocs | £0 | Open-source (Insiders optional from $15/month) |
| mkdocs-multirepo-plugin | £0 | Open-source |
| GitHub Pages | £0 | Free for public repos; included with Team/Enterprise for private |
| GitHub Actions | £0 | Within free tier (docs builds are fast) |
| Total | £0 |
The entire documentation stack is free. GitHub Actions minutes for docs CI/CD are minimal - a typical mkdocs build completes in under a minute.
Maintenance
Routine Tasks
| Task | Frequency | What to Do |
|---|---|---|
| Review docs accuracy | Monthly | Read through each repo's docs, verify they match reality |
| Test runbooks | Quarterly | Walk through each runbook to catch stale steps |
| Update conventions | As needed | When patterns change, update conventions page and Claude skill |
| Review CI/CD | Quarterly | Check for plugin updates, GitHub Actions deprecations |
When Adding a New Repository
To add another repository to the unified site:
- Add a
docs/directory with the standard pages (index, getting started, conventions, runbooks) - Add a
docs/mkdocs.ymlfor local preview - Add MkDocs dependencies:
uv add --dev mkdocs mkdocs-material mkdocs-glightbox - Add an
!importdirective to the centralmkdocs.yml - Add the caller workflow
.github/workflows/docs-ci.yml - Add the dispatch trigger to the repository's CI workflow
- Add the repository to the workspace file
- Update the Claude skill's write location list
When Upgrading MkDocs
Update dependencies in the central repository:
cd ~/src/technical-documentation
uv add --dev mkdocs@latest mkdocs-material@latest
Then update each source repository:
cd ~/src/terraform
uv add --dev mkdocs@latest mkdocs-material@latest
The reusable CI workflow ensures all repositories use the same build process, so version mismatches between local preview and the unified site are rare.
Extending to Additional Repositories
The pattern established here scales to any number of repositories. For example, if you later add a ml-pipelines repository:
- Add
docs/to the repository following the same structure - Add an
!importto the centralmkdocs.yml:- ML Pipelines: - '!import https://github.com/<your-org>/ml-pipelines?branch=main&docs_dir=docs' - Add CI and dispatch workflows
- The Claude skill already handles arbitrary repositories - update its write location list
Summary
- Unified documentation site — Single searchable site covering all platform repositories
- Documentation alongside code — Source files live in each repository, reviewed in PRs
- Automated deployment — CI validates on PRs, CD deploys on merge to any repository
- Reusable CI — Shared workflow means one place to update the build process
- Runbook framework — Standard template for operational procedures across all repos
- Claude documentation skill — Consistent page creation via shared skill in workspace
- dbt docs integration — Auto-generated dbt docs linked from the unified site
What's Next
Success
You have built a complete documentation system for your data platform. Documentation lives alongside code, deploys automatically, and Claude can help keep it current.
Your data platform now has infrastructure, ingestion, transformation, analytics, observability, streaming, and documentation. The next section covers ongoing maintenance - keeping everything running, adding resources, and responding to incidents.
Continue to Maintain Your Data Stack →