Skip to content

feat(docs): add Docusaurus 3 documentation site with GitHub Pages deployment#680

Merged
WilliamBerryiii merged 31 commits intomicrosoft:mainfrom
jakkaj:docs/docusaurus-site
Feb 27, 2026
Merged

feat(docs): add Docusaurus 3 documentation site with GitHub Pages deployment#680
WilliamBerryiii merged 31 commits intomicrosoft:mainfrom
jakkaj:docs/docusaurus-site

Conversation

@jakkaj
Copy link
Member

@jakkaj jakkaj commented Feb 19, 2026

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:

  • New feature (non-breaking change adding functionality)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow

AI Artifacts:

  • 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

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • 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
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Skill structure validation: npm run validate:skills
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • 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.

┌──────────────────────────────────────────────────────────┐
│  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

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)

hve-core-full-hub-vs-azure-architecture-center

Additional Notes

Local Development

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):

just docs-dev    # Dev server
just docs-build  # Production build
just docs-serve  # Serve built site
jakkaj and others added 16 commits February 19, 2026 16:39
- 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>
@jakkaj jakkaj requested a review from a team as a code owner February 19, 2026 22:38
@jakkaj
Copy link
Member Author

jakkaj commented Feb 19, 2026

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
settings need to be configured. First, go to Settings → Pages → Build and
deployment → Source and select GitHub Actions (not "Deploy from a branch").
This tells GitHub to use the workflow file rather than looking for a built
branch like gh-pages. Second, go to Settings → Environments → github-pages →
Deployment branches and tags, click Add deployment branch or tag rule, and add
the PR branch name (e.g. docs/docusaurus-site). By default, the github-pages
environment only allows deployments from the default branch — without this
step the build job succeeds but the deploy job fails silently with a branch
protection error. Once both settings are in place, any push to the allowed
branch that matches the workflow's path filter will build and deploy the site.
Remember to remove the extra branch from the environment rules and the
workflow triggers before merging to main.

he workflow's on.push.branches array also needs to include the PR
branch. Our workflow currently only has main, so to test from the branch you'd
temporarily add it:

on:
push:
branches:
- main
- docs/docusaurus-site # temporary — remove before merging

jakkaj and others added 4 commits February 20, 2026 08:41
…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
@vaughanknight
Copy link
Contributor

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.

@WilliamBerryiii
Copy link
Member

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.

WilliamBerryiii and others added 5 commits February 19, 2026 19:44
- 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
- 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
@WilliamBerryiii
Copy link
Member

Summary of Changes

This 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 (docs/docusaurus/)

Scaffold & Configuration

  • Docusaurus 3.9.2 site with React 19 and TypeScript
  • docusaurus.config.js — site metadata, theme colors, navbar, footer, Mermaid support, GitHub Pages base URL
  • sidebars.js — auto-generated sidebar from docs/ filesystem structure
  • Custom CSS (src/css/custom.css) — Microsoft Learn color tokens, responsive layout, dark/light theme support

Custom Components

  • BoxCard / IconCard / CardGrid — reusable card components with hover effects and icon support
  • HeroSection — landing page hero with gradient background
  • Icons — inline SVG icon components (Rocket, Book, Puzzle, etc.)
  • Hub cards data file (src/data/hubCards.tsx) — card content for the landing page

Theme Overrides

  • DocBreadcrumbs, Footer, TOCCollapsible — swizzled wrappers for Microsoft Learn styling

Static Assets

  • Favicon, logo SVG, Microsoft logo, social card image
  • Custom SVG icons for quickstart, customize, plan/architect, build-ai
  • .nojekyll for GitHub Pages compatibility

Landing Page

  • src/pages/index.tsx — hub-style landing page with hero + card grid

Documentation Content Updates (135 files changed)

Docusaurus Compatibility

  • Added _category_.json files for sidebar ordering across all doc categories: getting-started, hve-guide, lifecycle, roles, rpi, architecture, contributing, security, templates, agents
  • Fixed frontmatter and internal links for Docusaurus compatibility (removed .md extensions, adjusted relative paths)
  • Added placeholder stub files for pages referenced in sidebars

Content Improvements

  • docs/templates/brd-template.md — significant restructuring (+117 lines)
  • docs/hve-guide/roles/tpm.md — expanded content (+27 lines)
  • Various minor formatting and link fixes across existing docs

CI/CD & Workflows

New Workflows

  • deploy-docs.yml — GitHub Pages deployment workflow (build + deploy with proper permissions)
  • docusaurus-tests.yml — reusable workflow for Docusaurus component tests (Node 20, npm ci, jest)

Existing Workflow Updates

  • pr-validation.yml — added Docusaurus test job call
  • main.yml — added Docusaurus test job call

Docusaurus Instructions

  • .github/instructions/docusaurus-edits.instructions.md — conventions for creating/editing Docusaurus pages (frontmatter, admonitions, links, Mermaid, images, code blocks, progressive disclosure, cross-linking)

Testing (29 tests, 5 suites — all passing)

Jest Configuration

  • jest.config.js — ts-jest with jsdom environment, CSS module mocking via identity-obj-proxy, SVG mocking, Docusaurus module path mapping

Mock Files

  • @docusaurus/Link — renders anchor tags with proper props
  • @docusaurus/useBaseUrl — identity passthrough
  • @theme/Layout — renders children with layout wrapper

Test Suites

  • CardGrid.test.tsx — rendering, child composition, CSS class application
  • IconCard.test.tsx — link rendering, icon display, content projection
  • BoxCard.test.tsx — link behavior, icon rendering, content display
  • HeroSection.test.tsx — heading and subtitle rendering
  • Icons.test.tsx — SVG rendering for all icon components

Other

  • .gitignore — added Docusaurus build output exclusions
  • justfile — added Docusaurus dev/build/test recipes
  • Root package.json — added Docusaurus-related npm scripts

Stats: 135 files changed, +28,096 / −203 lines (bulk is package-lock.json)

@WilliamBerryiii WilliamBerryiii merged commit 569721b into microsoft:main Feb 27, 2026
24 checks passed
bindsi pushed a commit that referenced this pull request Feb 27, 2026
…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)

![hve-core-full-hub-vs-azure-architecture-center](https://github.com/user-attachments/assets/9a6e1539-d0c2-4d3d-bf6d-4f2dd4996a90)

## 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>
WilliamBerryiii pushed a commit that referenced this pull request Feb 28, 2026
## 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>
WilliamBerryiii pushed a commit that referenced this pull request Feb 28, 2026
## 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants