Skip to content

02 — Code & Configuration

Terminal window
cd ~/Documents/Claude/Projects/Adventive\ Engineering/
git init
git add -A
git commit -m "Initial commit — restructured 2026-04-27"
gh repo create adventive/adventive-engineering-docs --private --source=. --push
site_name: Adventive Engineering
site_description: Plans, runbooks, and platform standards for Adventive Platform Engineering.
site_url: https://docs.adventive.dev/
repo_url: https://github.com/adventive/adventive-engineering-docs
edit_uri: edit/main/
docs_dir: docs # All authored content lives under docs/. mkdocs.yml stays at repo root.
exclude_docs: |
_archive/
_proposed/
_shared/
_templates/
**/code/
**/inputs/
**/handoff/
**/connector-rewrite/
**/worker-stub/
theme:
name: material
custom_dir: overrides
palette:
- scheme: default
primary: blue
accent: blue
features:
- navigation.instant
- navigation.tabs
- navigation.sections
- navigation.top
- search.suggest
- content.code.copy
- content.action.edit
plugins:
- search
- awesome-pages
- git-revision-date-localized:
type: timeago
markdown_extensions:
- admonition
- attr_list
- tables
- toc:
permalink: true
- pymdownx.highlight
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
  • overrides/ lives at the repo root and is the Material custom_dir target. It contains template overrides only.
  • overrides/partials/copyright.html overrides the Material footer to read Adventive Platform Engineering · Confidential.
  • The Adventive accent CSS lives at docs/assets/extra.css (must be inside docs_dir) and is referenced from mkdocs.yml as extra_css: [assets/extra.css]. It applies the house-style accent color (#2563eb) and the navy/slate palette matching the WeasyPrint PDFs.

Per-folder .pages files (awesome-pages plugin)

Section titled “Per-folder .pages files (awesome-pages plugin)”

Lets us control nav order without renaming. Example for projects/:

projects/.pages
nav:
- admin-dashboard-cf-migration
- stripe-billing-transition
- public-api-cf-migration
- google-data-studio-connector
- cloudflare-tunnel-rollout
SettingValue
Build commandpip install -r requirements.txt && mkdocs build
Build output directorysite
Root directory/
Environment variablePYTHON_VERSION=3.12
Production branchmain
Preview deploymentsEnabled — every PR gets a preview URL

requirements.txt (at repo root):

mkdocs-material==9.5.*
mkdocs-awesome-pages-plugin==2.9.*
mkdocs-git-revision-date-localized-plugin==1.2.*
mkdocs==1.6.*
pymdown-extensions==10.7.*
pygments<2.20 # 2.20 broke pymdownx.highlight; remove cap when upstream fixed
FieldValue
Application typeSelf-hosted
Application domaindocs.adventive.dev
Identity providersJumpCloud (SAML)
Policy”Allow if Email ends with @adventive.com AND Group is engineering-docs-readers
Session duration24 hours
App launcher visibilityOn

Preview deployments land on *.adventive-engineering-docs.pages.dev. Add a second Access app covering that pattern with the same JumpCloud policy so previews are gated identically to production.

.gitignore:

.DS_Store
site/ # mkdocs build output
.venv/
__pycache__/
*.pyc

Everything else — Markdown, PDFs, inputs/, code/ mirrors, decisions/ — gets committed. PDFs are large but rare; LFS is only needed if any single PDF exceeds ~50 MB (none currently do).

  1. Author or edit Markdown in the appropriate docs/projects/<name>/ or docs/platform/cloudflare/<service>/ folder.
  2. Build the WeasyPrint PDF (existing per-project build_pdf.py if present; otherwise authored separately).
  3. Commit and push to a branch; open PR.
  4. Pages builds a preview deployment; reviewer reads it on the preview URL.
  5. Merge → main → site rebuilds within 1–2 minutes.