feat(docs): add Docusaurus 3 documentation site with GitHub Pages deployment#680
Conversation
- initialize Docusaurus 3 classic template at docs/docusaurus/ - configure for GitHub Pages with baseUrl /hve-core/ - enable Mermaid diagram support with theme integration - apply Microsoft Fluent Design colors and Segoe UI fonts - simplify landing page to single hero with Get Started CTA - disable blog, rename sidebar to docsSidebar 🏗️ - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- create intro.md with HVE description and Mermaid value loop diagram - add getting-started section with overview and installation placeholders - add workflows section with overview and RPI workflow placeholders - include draft notices on all pages 📝 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- define content structure, admonition, and linking conventions - set applyTo pattern for docs/docusaurus/** files 📋 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- create SHA-pinned deploy-docs.yml for GitHub Pages deployment - add docusaurus build artifact patterns to .gitignore - add justfile with docs-dev, docs-build, docs-serve recipes 🚀 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🏷️ - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace single #0078D4 palette with three-blue system (#005ba1, #0078d4, #0f6cbd) - Add hub landing page with gradient hero, icon card grid, and box card sections - Create colorful SVG category icons matching MS Learn style - Swizzle-wrap Footer, DocBreadcrumbs, TOCCollapsible for MS Learn restyling - Expand to 6 content categories with generated-index auto-cards - Add full dark mode with WCAG AA verified contrast ratios - Match MS Learn computed styles: full-width containers, card shadows, heading sizes - Add Topics dropdown to navbar, article metadata, draft announcement bar 🎨 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Create SVG icons for quick start, building with AI, plan and architect, customize and extend - Add icon rendering support to BoxCard component - Wire icons into hub card data �� - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Match card spacing, padding, and min-height to reference - Fix card title to span element with correct line-height - Add visited link purple color globally - Update dark mode to use dark navy card backgrounds (#091f2c) - Update dark mode primary to softer blue (#75b6e7) - Set dark mode text to pure white - Widen supertitle letter-spacing to 3.6px 🎨 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add Segoe UI Variable Text and full fallback chain to font family - Adjust card title font size for visual consistency 🎨 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace hero background with multiply pattern at reduced scale - Redesign rocket, workflows, and design thinking icons with gradients - Update navbar to 54px height with divider bar and chevron dropdown - Set nav link font to 14px weight 400 🎨 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Restructure IconCard from link-wrapped to article with stretched-link title - Fix navbar dropdown chevron size and alignment - Update divider to theme-aware black/white 🎨 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Sidebar font to 13px with chevrons on left side scaled to 65% - Categories collapsed by default - Remove visited purple from sidebar and navbar links - Add underline offset to navbar brand hover - Brighten design thinking icon gradient 🎨
- Prevent underline on generated-index card hover - Target cardContainer class to override global link hover 🎨
- set organizationName to microsoft and url to microsoft.github.io - remove test branch from deploy workflow triggers - add Docusaurus default .gitignore 🚀 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- frontmatter title field serves as H1 per MD025 rule - removed redundant H1 from all 10 content pages ✅ - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🧹 - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
P.S. You can review the site here: https://jakkaj.github.io/hve-core/. Also you can set the gh pages to build on the branch -> To test the documentation site from a PR branch before merging, two GitHub he workflow's on.push.branches array also needs to include the PR on: |
…pages - add author, ms.date, ms.topic to all documentation pages - add standard Copilot footer to all pages - update docusaurus README with frontmatter and npm commands ✅ - Generated by Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Load Segoe UI Variable web font from CDN for cross-platform consistency - Sidebar: weight 400 items, 600 active only, sticky position, 24px padding - Headings: H1 40px, H2 18px, all weight 600 - Breadcrumbs: 14px with link color - Right-side TOC: In this article heading via ::before - Fix navbar chevron to only appear on dropdown items - Add content area padding and nested list indent
|
Should add - the documentation is not real documentation, that we can get to. This was more thinking on how we could structure it for discovery, create a space for exploration of the content that's ultimately in the repo, and help identify gaps in the learning to drive adoption. |
That's ok ... there's a large batch of documentation inbound (#663) that will let me build off the base of this branch and get the site up and running. @jakkaj - if it's cool, I'm gonna take the branch and run with it. |
- Move padding from dropdown wrapper to dropdown link - Set dropdown link to display block with matching line-height - Remove wrapper padding to prevent height mismatch
- Repoint docs plugin from placeholder content to 73 real markdown files - Add sidebar_position, strip .md extensions, escape MDX syntax across all docs - Create 12 _category_.json files for generated-index sidebar structure - Add remark-github-blockquote-alert for dual-render GitHub admonitions - Pin @docusaurus/theme-mermaid to exact 3.9.2 - Broaden deploy workflow path trigger from docs/docusaurus/** to docs/** - Add fetch-depth: 0 to checkout for showLastUpdateTime/Author features - Move pages/id-token permissions to job level following least-privilege - Add docs:build and docs:serve convenience scripts to root package.json - Remove 15 placeholder files from docs/docusaurus/docs/ 📚 - Generated by Copilot
a1323f4 to
03c0926
Compare
- reformat tables in 8 markdown files to pass CI table format check - add npm overrides for minimatch >=3.1.3 to fix 3 high-severity ReDoS advisories 🔧 - Generated by Copilot
- escape angle bracket in skills.md to prevent MDX JSX parse error - add pathname:// protocol to out-of-scope .github links in README.md and skills.md 🔧 - Generated by Copilot
- add reusable docusaurus-tests.yml workflow for Jest tests - integrate test job into pr-validation, main, and deploy-docs pipelines - gate release-please and deploy-docs build on test results 🧪 - Generated by Copilot
- add Jest tests for CardGrid, IconCard, BoxCard, HeroSection, and Icons - add Docusaurus module mocks for Link, useBaseUrl, and Layout - configure ts-jest with jsdom environment and module name mappers - install jest-environment-jsdom for browser API support 🧪 - Generated by Copilot
Summary of ChangesThis PR introduces a full Docusaurus 3 documentation site with Microsoft Learn-inspired styling, GitHub Pages deployment, CI integration, and component testing. Here's a breakdown of everything included: Docusaurus Site (
|
…loyment (#680) ## Description This PR adds a Docusaurus 3 documentation site at `docs/docusaurus/` with GitHub Pages deployment. The site provides a **learning path** structure for introducing HVE-Core — curated, sequential content sections that guide readers through the framework in a deliberate order. **This PR is the groundwork for the documentation site, not a proposal on exact content.** Pages contain placeholder text that demonstrates the structure and conventions. Real content follows in subsequent PRs built on this foundation. ## Related Issue(s) Relates to #663 ## Type of Change **Code & Documentation:** - [x] New feature (non-breaking change adding functionality) - [x] Documentation update **Infrastructure & Configuration:** - [x] GitHub Actions workflow **AI Artifacts:** - [x] Copilot instructions (`.github/instructions/*.instructions.md`) ## Sample Prompts (for AI Artifact Contributions) The `docusaurus-edits.instructions.md` file is an auto-applied instructions file, not an invocable agent or prompt. It activates automatically when editing any file matching `docs/docusaurus/**`. **User Request:** Open any `.md` file under `docs/docusaurus/` and ask Copilot to help write or edit content. **Execution Flow:** 1. User opens `docs/docusaurus/docs/getting-started/overview.md` 2. Copilot automatically loads `docusaurus-edits.instructions.md` via the `applyTo: 'docs/docusaurus/**'` pattern 3. All suggestions follow the conventions (frontmatter fields, admonition syntax, link formatting, tone) **Output Artifacts:** Markdown files under `docs/docusaurus/docs/` that follow site conventions without the contributor explicitly reading them. **Success Indicators:** - Generated content uses `:::note` syntax instead of `> [!NOTE]` - Internal links use relative paths without `.md` extension - Frontmatter includes `title`, `description`, and `sidebar_position` ## Testing Manual verification: - `npm run build` in `docs/docusaurus/` completes with zero errors - Dev server (`npm start`) renders all pages with working navigation - Mermaid diagrams render on intro page and RPI workflow page - Sidebar displays 6 sections with correct ordering - Light and dark mode both render correctly ## Checklist ### Required Checks - [x] Documentation is updated (if applicable) - [x] Files follow existing naming conventions - [x] Changes are backwards compatible (if applicable) - [ ] Tests added for new functionality (if applicable) ### AI Artifact Contributions - [ ] Used `/prompt-analyze` to review contribution - [ ] Addressed all feedback from `prompt-builder` review - [x] Verified contribution follows common standards and type-specific requirements ### Required Automated Checks - [x] Markdown linting: `npm run lint:md` - [x] Spell checking: `npm run spell-check` - [x] Frontmatter validation: `npm run lint:frontmatter` - [x] Skill structure validation: `npm run validate:skills` - [x] Link validation: `npm run lint:md-links` - [x] PowerShell analysis: `npm run lint:ps` ## Security Considerations - [x] This PR does not contain any sensitive or NDA information - [x] Any new dependencies have been reviewed for security issues - [x] Security-related scripts follow the principle of least privilege All GitHub Actions in `deploy-docs.yml` are SHA-pinned per repository conventions. The workflow uses `permissions: contents: read` at job level and only grants `pages: write` and `id-token: write` at the workflow level for deployment. --- ## Learning Path Architecture The site is organized as a learning path rather than a flat reference wiki or a single linear tutorial. Each section is a self-contained sequence that readers can enter independently from the hub landing page, but within a section the pages follow a guided order with automatic "← Previous" / "Next →" navigation. ```text ┌──────────────────────────────────────────────────────────┐ │ Landing Page (Hub) │ │ Icon card grid → pick your starting point │ └────────┬────────────┬──────────────┬─────────────────────┘ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ Getting │ │ Workflows │ │ Agents & │ ...3 more │ Started │ │ │ │ Prompts │ sections │ │ │ │ │ │ │ 1.Overview│ │ 1.Overview│ │ 1.Overview│ │ 2.Install │ │ 2.RPI │ │ (future) │ │ (next →) │ │ (next →) │ │ │ └───────────┘ └───────────┘ └───────────┘ ``` ### Current Sections | # | Section | Pages | Purpose | |---|---------|-------|---------| | — | Introduction | 1 | What is HVE-Core, value delivery loop (Mermaid diagram) | | 1 | Getting Started | 2 | Setup, prerequisites, installation | | 2 | Workflows | 2 | RPI workflow, development patterns | | 3 | Agents & Prompts | 1 | Custom AI assistants (placeholder) | | 4 | Instructions & Skills | 1 | Auto-applied conventions (placeholder) | | 5 | Design Thinking | 1 | Planning workflow (placeholder) | | 6 | Templates & Examples | 1 | Reusable patterns (placeholder) | Sections 1-2 have sequential depth. Sections 3-6 are single-page structural placeholders ready for content in follow-up PRs. ## Microsoft Learn Visual Language The site follows Microsoft Learn's design patterns adapted for Docusaurus, using the Fluent Design system. | Element | Implementation | |---------|---------------| | **Hero banner** | Gradient header with title + subtitle, no image | | **Icon card grid** | 6 category cards with custom SVG icons on the hub page | | **Deep-dive cards** | 4 box cards with grouped link lists | | **Color palette** | `#0078D4` primary (Microsoft Blue), `#4DA3E5` for dark mode | | **Typography** | Segoe UI font stack with hierarchical sizing | | **Microsoft logo** | Four-square SVG in the navbar | | **Theme overrides** | Simplified breadcrumbs, footer, and collapsible TOC | No Microsoft Docusaurus theme package exists — the visual language is implemented through custom CSS (`src/css/custom.css`) and React components (`src/components/`). ## What's Included - **Docusaurus 3 scaffold** with Mermaid diagram support and Fluent Design CSS - **6 content sections** organized as a learning path with sequential navigation - **Landing page** styled after Microsoft Learn with icon card grid and deep-dive cards - **GitHub Actions deploy workflow** (`deploy-docs.yml`) with SHA-pinned actions, path-filtered triggers on push to `main`, and least-privilege permissions - **Copilot authoring conventions** (`docusaurus-edits.instructions.md`) — auto-applied when editing any file under `docs/docusaurus/`, covering frontmatter, admonitions, linking, page structure, and tone guidelines - **`justfile`** recipes for local development (`docs-dev`, `docs-build`, `docs-serve`) - **`.gitignore`** patterns for build artifacts ## What's NOT Included (By Design) - Final documentation content — pages are structural placeholders - Blog, versioned docs, i18n, or search integration - Plan files, research artifacts, or workshop documents ## Copilot Authoring Conventions The `docusaurus-edits.instructions.md` file establishes authoring conventions that Copilot follows automatically when contributors edit documentation pages. Future content PRs get consistent quality without contributors needing to read a style guide. | Area | What It Covers | |------|---------------| | Frontmatter | Required fields (`title`, `description`, `sidebar_position`), optional fields | | Admonitions | Docusaurus triple-colon syntax (not GitHub `> [!NOTE]` alerts) | | Internal links | Relative paths without `.md` extension | | Mermaid diagrams | Fenced code blocks with `mermaid` language identifier | | Page structure | 5-10 minute read time target, progressive disclosure with `<details>` | | Tone | Lead with "why", address reader as "you", ground in concrete examples | | Cross-linking | Link when unfamiliar, avoid over-linking | | Value tags | 🟢 Core / 🟡 Supporting / ⚪ Meta for artifact mentions | This file is an investment in future content quality — it's infrastructure for AI-assisted authoring, not just a style guide. ## Site Structure ```text docs/docusaurus/ ├── docs/ │ ├── intro.md # What is HVE-Core + value loop diagram │ ├── getting-started/ # Setup and first steps │ │ ├── overview.md │ │ └── installation.md │ ├── workflows/ # Core development patterns │ │ ├── overview.md │ │ └── rpi-workflow.md │ ├── agents-and-prompts/ # Custom AI assistants (placeholder) │ │ └── overview.md │ ├── instructions-and-skills/ # Auto-applied conventions (placeholder) │ │ └── overview.md │ ├── design-thinking/ # Planning workflow (placeholder) │ │ └── overview.md │ └── templates-and-examples/ # Reusable patterns (placeholder) │ └── overview.md ├── src/ │ ├── components/ # HeroSection, Cards (Learn-style) │ ├── css/custom.css # Fluent Design palette │ ├── data/hubCards.tsx # Landing page card definitions │ ├── pages/index.tsx # Hub landing page │ └── theme/ # Breadcrumb, footer, TOC overrides ├── static/img/ # Microsoft logo, icons ├── docusaurus.config.js ├── sidebars.js └── package.json .github/ ├── instructions/ │ └── docusaurus-edits.instructions.md # Copilot authoring conventions └── workflows/ └── deploy-docs.yml # GitHub Pages deployment justfile # docs-dev, docs-build, docs-serve ``` ## Setup Required To enable deployment, a repo admin needs to: 1. Go to **Settings → Pages → Source** and select **GitHub Actions** 2. Ensure the target branch is allowed in **Settings → Environments → github-pages → Deployment branches** The workflow builds correctly regardless of Pages configuration — the deploy step fails gracefully if Pages is not enabled. ## Screenshots ### Ours (left) vs Azure Architecture Center (right)  ## Additional Notes ### Local Development ```bash cd docs/docusaurus npm install npm start # Dev server at localhost:3000/hve-core/ npm run build # Production build ``` Or using the `justfile` (requires [just](https://github.com/casey/just)): ```bash just docs-dev # Dev server just docs-build # Production build just docs-serve # Serve built site ``` --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Vaughan Knight <vaughan@vaughanknight.com> Co-authored-by: Bill Berry <WilliamBerryiii@users.noreply.github.com> Co-authored-by: Bill Berry <wberry@microsoft.com>
## Pre-Release 3.1.44 ### ✨ Features - add Docusaurus 3 documentation site with GitHub Pages deployment (#680) - add workflow permissions validation for OpenSSF Scorecard compliance (#759) - add DT coach return path handoff to task-researcher (#591) (#758) - add DT subagent handoff workflow instructions (#592) (#757) - create dt-method-06-deep.instructions.md (#602) (#748) - create dt-method-05-deep.instructions.md (#747) - add DT-aware task-implementor context instructions (#755) - extract embedded PowerShell from workflows into testable scripts (#738) - add gitleaks binary-based secret scanning as PR gate (#734) - add SBOM generation, attestation, and diff tooling to release pipeline (#730) - add dt-learning-tutor agent for DT education (#662) - add DT image prompt generation guidance for Method 5 (#726) - add DT-aware task-reviewer review context (#714) - add dt-method-next routing prompt (#713) - create dt-method-04-deep.instructions.md (#709) - add Implementation Space exit handoff prompt for DT workflows (#708) - add Write-CIStepSummary markdown table to Test-SHAStaleness github output (#660) - add dt-handoff-solution-space prompt for Solution Spac… (#707) ### 🐛 Bug Fixes - update sidebar link color to meet WCAG AA contrast requirements (#814) - harden even/odd versioning against regression and syntax errors (#816) - replace even/odd versioning with SemVer -rc.N suffixes (#811) - ensure prerelease label exists before PR creation (#806) - replace Docusaurus favicons with Microsoft logo (#808) - add missing subagents and shared instructions to collection manifests (#804) - standardize file path conventions for copilot-tracking output (#784) - enforce project-scoped artifact isolation across DT files (#766) - add top-level permissions to copilot-setup-steps.yml (#760) - update broken file directives and markdown links after collection directory reorg (#743) - add pre-release companion pipeline with even/odd versioning (#735) - exclude auto-generated CHANGELOG.md from spell check (#756) - add job-level permissions to extension-publish.yml (#729) - resolve handoff dependencies using display names (#727) - add job-level permissions to validate-version in extension-publish-prerelease (#731) - replace parent-directory VS Code settings paths with per-subdirectory enumeration (#732) ### 📚 Documentation - add Design Thinking documentation and DT-to-RPI handoff (#789) - add customization guides for HVE Core artifacts (#772) - reconcile documentation against implementation (#771) - document accepted Token-Permissions risks and add lint:dependency-pinning (#763) - add Design Thinking section to hve-core-all collection description (#762) ### ♻️ Refactoring - move collection scripts from plugins to collections (#728) - remove duplicate git diff logic in frontmatter validator (#473) ### 🔧 Maintenance - bump basic-ftp from 5.0.5 to 5.2.0 (#780) - standardize script path references in SKILL.md files (#768) - bump the github-actions group across 1 directory with 2 updates (#752) --- *Managed automatically by pre-release workflow.* Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
## Pre-Release 3.1.46 ### ✨ Features - add Docusaurus 3 documentation site with GitHub Pages deployment (#680) - add workflow permissions validation for OpenSSF Scorecard compliance (#759) - add DT coach return path handoff to task-researcher (#591) (#758) - add DT subagent handoff workflow instructions (#592) (#757) - create dt-method-06-deep.instructions.md (#602) (#748) - create dt-method-05-deep.instructions.md (#747) - add DT-aware task-implementor context instructions (#755) - extract embedded PowerShell from workflows into testable scripts (#738) - add gitleaks binary-based secret scanning as PR gate (#734) - add SBOM generation, attestation, and diff tooling to release pipeline (#730) - add dt-learning-tutor agent for DT education (#662) - add DT image prompt generation guidance for Method 5 (#726) - add DT-aware task-reviewer review context (#714) - add dt-method-next routing prompt (#713) - create dt-method-04-deep.instructions.md (#709) - add Implementation Space exit handoff prompt for DT workflows (#708) - add Write-CIStepSummary markdown table to Test-SHAStaleness github output (#660) - add dt-handoff-solution-space prompt for Solution Spac… (#707) ### 🐛 Bug Fixes - update prerelease publish to use even/odd convention (#822) - update sidebar link color to meet WCAG AA contrast requirements (#814) - harden even/odd versioning against regression and syntax errors (#816) - replace even/odd versioning with SemVer -rc.N suffixes (#811) - ensure prerelease label exists before PR creation (#806) - replace Docusaurus favicons with Microsoft logo (#808) - add missing subagents and shared instructions to collection manifests (#804) - standardize file path conventions for copilot-tracking output (#784) - enforce project-scoped artifact isolation across DT files (#766) - add top-level permissions to copilot-setup-steps.yml (#760) - update broken file directives and markdown links after collection directory reorg (#743) - add pre-release companion pipeline with even/odd versioning (#735) - exclude auto-generated CHANGELOG.md from spell check (#756) - add job-level permissions to extension-publish.yml (#729) - resolve handoff dependencies using display names (#727) - add job-level permissions to validate-version in extension-publish-prerelease (#731) - replace parent-directory VS Code settings paths with per-subdirectory enumeration (#732) ### 📚 Documentation - add Design Thinking documentation and DT-to-RPI handoff (#789) - add customization guides for HVE Core artifacts (#772) - reconcile documentation against implementation (#771) - document accepted Token-Permissions risks and add lint:dependency-pinning (#763) - add Design Thinking section to hve-core-all collection description (#762) ### ♻️ Refactoring - move collection scripts from plugins to collections (#728) - remove duplicate git diff logic in frontmatter validator (#473) ### 🔧 Maintenance - pre-release 3.1.44 (#819) - bump basic-ftp from 5.0.5 to 5.2.0 (#780) - standardize script path references in SKILL.md files (#768) - bump the github-actions group across 1 directory with 2 updates (#752) --- *Managed automatically by pre-release workflow.* Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Description
This PR adds a Docusaurus 3 documentation site at
docs/docusaurus/with GitHub Pages deployment. The site provides a learning path structure for introducing HVE-Core — curated, sequential content sections that guide readers through the framework in a deliberate order.This PR is the groundwork for the documentation site, not a proposal on exact content. Pages contain placeholder text that demonstrates the structure and conventions. Real content follows in subsequent PRs built on this foundation.
Related Issue(s)
Relates to #663
Type of Change
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
.github/instructions/*.instructions.md)Sample Prompts (for AI Artifact Contributions)
The
docusaurus-edits.instructions.mdfile is an auto-applied instructions file, not an invocable agent or prompt. It activates automatically when editing any file matchingdocs/docusaurus/**.User Request:
Open any
.mdfile underdocs/docusaurus/and ask Copilot to help write or edit content.Execution Flow:
docs/docusaurus/docs/getting-started/overview.mddocusaurus-edits.instructions.mdvia theapplyTo: 'docs/docusaurus/**'patternOutput Artifacts:
Markdown files under
docs/docusaurus/docs/that follow site conventions without the contributor explicitly reading them.Success Indicators:
:::notesyntax instead of> [!NOTE].mdextensiontitle,description, andsidebar_positionTesting
Manual verification:
npm run buildindocs/docusaurus/completes with zero errorsnpm start) renders all pages with working navigationChecklist
Required Checks
AI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-linksnpm run lint:psSecurity Considerations
All GitHub Actions in
deploy-docs.ymlare SHA-pinned per repository conventions. The workflow usespermissions: contents: readat job level and only grantspages: writeandid-token: writeat the workflow level for deployment.Learning Path Architecture
The site is organized as a learning path rather than a flat reference wiki or a single linear tutorial. Each section is a self-contained sequence that readers can enter independently from the hub landing page, but within a section the pages follow a guided order with automatic "← Previous" / "Next →" navigation.
Current Sections
Sections 1-2 have sequential depth. Sections 3-6 are single-page structural placeholders ready for content in follow-up PRs.
Microsoft Learn Visual Language
The site follows Microsoft Learn's design patterns adapted for Docusaurus, using the Fluent Design system.
#0078D4primary (Microsoft Blue),#4DA3E5for dark modeNo Microsoft Docusaurus theme package exists — the visual language is implemented through custom CSS (
src/css/custom.css) and React components (src/components/).What's Included
deploy-docs.yml) with SHA-pinned actions, path-filtered triggers on push tomain, and least-privilege permissionsdocusaurus-edits.instructions.md) — auto-applied when editing any file underdocs/docusaurus/, covering frontmatter, admonitions, linking, page structure, and tone guidelinesjustfilerecipes for local development (docs-dev,docs-build,docs-serve).gitignorepatterns for build artifactsWhat's NOT Included (By Design)
Copilot Authoring Conventions
The
docusaurus-edits.instructions.mdfile establishes authoring conventions that Copilot follows automatically when contributors edit documentation pages. Future content PRs get consistent quality without contributors needing to read a style guide.title,description,sidebar_position), optional fields> [!NOTE]alerts).mdextensionmermaidlanguage identifier<details>This file is an investment in future content quality — it's infrastructure for AI-assisted authoring, not just a style guide.
Site Structure
Setup Required
To enable deployment, a repo admin needs to:
The workflow builds correctly regardless of Pages configuration — the deploy step fails gracefully if Pages is not enabled.
Screenshots
Ours (left) vs Azure Architecture Center (right)
Additional Notes
Local Development
Or using the
justfile(requires just):